From: | Rod Taylor <rbt(at)rbt(dot)ca> |
---|---|
To: | PostgreSQL Patches <pgsql-patches(at)postgresql(dot)org> |
Subject: | [Fwd: [HACKERS] Coerce to Domain] |
Date: | 2003-01-17 18:56:39 |
Message-ID: | 1042829798.57601.16.camel@jester |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-patches |
Patch moves evaluation of the domain (seek for list of constraints) out
of the parser and into the executor.
Note that in the below test the domain isn't on the table -- but is in
the view which shows rules are altered appropriately for the domain
change.
-- Confirm ALTER DOMAIN with RULES.
create table domtab (col1 integer);
create domain dom as integer;
create view domview as select cast(col1 as dom) from domtab;
insert into domtab (col1) values (null);
insert into domtab (col1) values (5);
select * from domview;
col1
------
5
(2 rows)
alter domain dom set not null;
select * from domview; -- fail
ERROR: Domain dom does not allow NULL values
alter domain dom drop not null;
select * from domview;
col1
------
5
(2 rows)
alter domain dom add constraint domchkgt6 check(value > 6);
select * from domview; --fail
ERROR: ExecEvalConstraintTest: Domain dom constraint domchkgt6 failed
alter domain dom drop constraint domchkgt6 restrict;
select * from domview;
col1
------
5
(2 rows)
--
Rod Taylor <rbt(at)rbt(dot)ca>
PGP Key: http://www.rbt.ca/rbtpub.asc
Attachment | Content-Type | Size |
---|---|---|
dbdomaincon.patch | text/x-patch | 47.2 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Neil Conway | 2003-01-17 21:06:35 | doc improvements |
Previous Message | Tom Lane | 2003-01-16 18:47:48 | Re: fix for PL/PgSQL segfault |