Regression tests for recent bugfix to ALTER TABLE ADD COLUMN: ensure that
constraints on domain types are properly enforced, even if the newly added column has no default value. Per bug #1433.
This commit is contained in:
parent
beaf5ae623
commit
4405e74355
|
@ -300,3 +300,17 @@ drop domain ddef2 restrict;
|
||||||
drop domain ddef3 restrict;
|
drop domain ddef3 restrict;
|
||||||
drop domain ddef4 restrict;
|
drop domain ddef4 restrict;
|
||||||
drop domain ddef5 restrict;
|
drop domain ddef5 restrict;
|
||||||
|
-- Make sure that constraints of newly-added domain columns are
|
||||||
|
-- enforced correctly, even if there's no default value for the new
|
||||||
|
-- column. Per bug #1433
|
||||||
|
create domain str_domain as text not null;
|
||||||
|
create table domain_test (a int, b int);
|
||||||
|
insert into domain_test values (1, 2);
|
||||||
|
insert into domain_test values (1, 2);
|
||||||
|
-- should fail
|
||||||
|
alter table domain_test add column c str_domain;
|
||||||
|
ERROR: domain str_domain does not allow null values
|
||||||
|
create domain str_domain2 as text check (value <> 'foo') default 'foo';
|
||||||
|
-- should fail
|
||||||
|
alter table domain_test add column d str_domain2;
|
||||||
|
ERROR: value for domain str_domain2 violates check constraint "str_domain2_check"
|
||||||
|
|
|
@ -244,3 +244,21 @@ drop domain ddef2 restrict;
|
||||||
drop domain ddef3 restrict;
|
drop domain ddef3 restrict;
|
||||||
drop domain ddef4 restrict;
|
drop domain ddef4 restrict;
|
||||||
drop domain ddef5 restrict;
|
drop domain ddef5 restrict;
|
||||||
|
|
||||||
|
-- Make sure that constraints of newly-added domain columns are
|
||||||
|
-- enforced correctly, even if there's no default value for the new
|
||||||
|
-- column. Per bug #1433
|
||||||
|
create domain str_domain as text not null;
|
||||||
|
|
||||||
|
create table domain_test (a int, b int);
|
||||||
|
|
||||||
|
insert into domain_test values (1, 2);
|
||||||
|
insert into domain_test values (1, 2);
|
||||||
|
|
||||||
|
-- should fail
|
||||||
|
alter table domain_test add column c str_domain;
|
||||||
|
|
||||||
|
create domain str_domain2 as text check (value <> 'foo') default 'foo';
|
||||||
|
|
||||||
|
-- should fail
|
||||||
|
alter table domain_test add column d str_domain2;
|
||||||
|
|
Loading…
Reference in New Issue