PostgreSQL 7.3.2

CREATE DOMAIN testdom AS int4;
CREATE TABLE testtab(testcol testdom);
INSERT INTO testtab VALUES (1);
INSERT INTO testtab VALUES (2);
VACUUM ANALYZE testtab;

SELECT * FROM testtab WHERE testcol > 1;

The select will give
    "ERROR: convert_numeric_to_scalar: unsupported type 3381436"

If no VACUUM ANALYZE is performed (no entry in pg_stats), the select 
will work ok.
The select will also succeed, if testcol is compared to something 
different from 1.

Defining a cast
    CREATE CAST(testdom as int4) WITHOUT FUNCTION AS IMPLICIT
doesn't help.


If I change the datatype

    UPDATE pg_attribute
              SET atttypid=(select oid from pg_type where typname = 'int4')
      WHERE atttypid=(select oid from pg_type where typname = 'testdom')
            AND attname='testcol'

the select will work as expected.





Sat, 22 Mar 2003 01:14:30 +0100
Andreas Pflug <Andreas.Pflug@web.de>
conversion problems with domains
Andreas Pflug <Andreas.Pflug@web.de> writes:
> PostgreSQL 7.3.2
> CREATE DOMAIN testdom AS int4;
> CREATE TABLE testtab(testcol testdom);
> INSERT INTO testtab VALUES (1);
> INSERT INTO testtab VALUES (2);
> VACUUM ANALYZE testtab;

> SELECT * FROM testtab WHERE testcol > 1;

I've applied a patch to fix this.

			regards, tom lane


Sat, 22 Mar 2003 20:51:02 -0500
Tom Lane <tgl@sss.pgh.pa.us>
Re: conversion problems with domains 