| From: | Andreas Pflug <Andreas(dot)Pflug(at)web(dot)de> |
|---|---|
| To: | pgsql-hackers(at)postgresql(dot)org |
| Subject: | conversion problems with domains |
| Date: | 2003-03-22 00:14:30 |
| Message-ID: | 3E7BAAE6.6090308@web.de |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
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.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Bruce Momjian | 2003-03-22 01:48:17 | Re: A bad behavior under autocommit off mode |
| Previous Message | Barry Lind | 2003-03-21 23:47:47 | Re: A bad behavior under autocommit off mode |