diff --git a/src/test/regress/expected/domain.out b/src/test/regress/expected/domain.out index 750ebf7ccd..e959b4a9b7 100644 --- a/src/test/regress/expected/domain.out +++ b/src/test/regress/expected/domain.out @@ -300,3 +300,17 @@ drop domain ddef2 restrict; drop domain ddef3 restrict; drop domain ddef4 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" diff --git a/src/test/regress/sql/domain.sql b/src/test/regress/sql/domain.sql index acbb9f80ea..386adede16 100644 --- a/src/test/regress/sql/domain.sql +++ b/src/test/regress/sql/domain.sql @@ -244,3 +244,21 @@ drop domain ddef2 restrict; drop domain ddef3 restrict; drop domain ddef4 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;