Обсуждение: BUG #1433: domain check constraint not checked when adding new column
The following bug has been logged online: Bug reference: 1433 Logged by: craig perras Email address: craigp98072@yahoo.com PostgreSQL version: 8.0 release Operating system: win2000 Description: domain check constraint not checked when adding new column Details: Domain check constraint not checked when adding new column. repro: add domain 'string' of base type text with non-null constraint add column of type 'string' to table with existing rows works; all rows have new column's value set to null expected: error: cannot add column due to non-null constraint in domain 'string' notes: could not insert a new row with non-null value for 'string' column (as expected) trying to add a column of type text with non-null constraint produces expected error message
"craig perras" <craigp98072@yahoo.com> writes: > Domain check constraint not checked when adding new column. Hmm. It does work for cases like regression=# create domain posint int check (value > 0); CREATE DOMAIN regression=# alter table foo add column f5 posint default 0; ERROR: value for domain posint violates check constraint "posint_check" I think the issue is that when you don't specify any default, the scan of the table gets optimized away. regards, tom lane
"craig perras" <craigp98072@yahoo.com> writes: > add domain 'string' of base type text with non-null constraint > add column of type 'string' to table with existing rows > works; all rows have new column's value set to null Fixed for 8.0.1. regards, tom lane