diff options
| author | Robert Haas <rhaas@postgresql.org> | 2011-01-20 22:44:10 -0500 |
|---|---|---|
| committer | Robert Haas <rhaas@postgresql.org> | 2011-01-20 22:48:29 -0500 |
| commit | 39b5e5f3370258cae843e8cc83eccd59ddb532dd (patch) | |
| tree | 54a4bcee6167e5051a32bd634e9da668ca760c8a /src/test | |
| parent | ba3afc88d2b81fc609cda8504ee7b54c54b379d7 (diff) | |
Make ALTER TABLE revalidate uniqueness and exclusion constraints.
Failure to do so can lead to constraint violations. This was broken by
commit 1ddc2703a936d03953657f43345460b9242bbed1 on 2010-02-07, so
back-patch to 9.0.
Noah Misch. Regression test by me.
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/regress/expected/alter_table.out | 4 | ||||
| -rw-r--r-- | src/test/regress/sql/alter_table.sql | 2 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/test/regress/expected/alter_table.out b/src/test/regress/expected/alter_table.out index 5aff44f23aa..40a907d869e 100644 --- a/src/test/regress/expected/alter_table.out +++ b/src/test/regress/expected/alter_table.out @@ -413,6 +413,10 @@ insert into atacc1 (test) values (4); -- try adding a unique oid constraint alter table atacc1 add constraint atacc_oid1 unique(oid); NOTICE: ALTER TABLE / ADD UNIQUE will create implicit index "atacc_oid1" for table "atacc1" +-- try to create duplicates via alter table using - should fail +alter table atacc1 alter column test type integer using 0; +ERROR: could not create unique index "atacc_test1" +DETAIL: Key (test)=(0) is duplicated. drop table atacc1; -- let's do one where the unique constraint fails when added create table atacc1 ( test int ); diff --git a/src/test/regress/sql/alter_table.sql b/src/test/regress/sql/alter_table.sql index 82c2e4ee017..2b01238e282 100644 --- a/src/test/regress/sql/alter_table.sql +++ b/src/test/regress/sql/alter_table.sql @@ -419,6 +419,8 @@ insert into atacc1 (test) values (2); insert into atacc1 (test) values (4); -- try adding a unique oid constraint alter table atacc1 add constraint atacc_oid1 unique(oid); +-- try to create duplicates via alter table using - should fail +alter table atacc1 alter column test type integer using 0; drop table atacc1; -- let's do one where the unique constraint fails when added |
