diff options
Diffstat (limited to 'src/test/regress/output/constraints.source')
-rw-r--r-- | src/test/regress/output/constraints.source | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/test/regress/output/constraints.source b/src/test/regress/output/constraints.source index bbe4ed19760..1c4a0440527 100644 --- a/src/test/regress/output/constraints.source +++ b/src/test/regress/output/constraints.source @@ -634,6 +634,7 @@ DROP TABLE circles; -- Check deferred exclusion constraint CREATE TABLE deferred_excl ( f1 int, + f2 int, CONSTRAINT deferred_excl_con EXCLUDE (f1 WITH =) INITIALLY DEFERRED ); INSERT INTO deferred_excl VALUES(1); @@ -654,6 +655,19 @@ INSERT INTO deferred_excl VALUES(3); -- no fail here COMMIT; -- should fail here ERROR: conflicting key value violates exclusion constraint "deferred_excl_con" DETAIL: Key (f1)=(3) conflicts with existing key (f1)=(3). +-- bug #13148: deferred constraint versus HOT update +BEGIN; +INSERT INTO deferred_excl VALUES(2, 1); -- no fail here +DELETE FROM deferred_excl WHERE f1 = 2 AND f2 IS NULL; -- remove old row +UPDATE deferred_excl SET f2 = 2 WHERE f1 = 2; +COMMIT; -- should not fail +SELECT * FROM deferred_excl; + f1 | f2 +----+---- + 1 | + 2 | 2 +(2 rows) + ALTER TABLE deferred_excl DROP CONSTRAINT deferred_excl_con; -- This should fail, but worth testing because of HOT updates UPDATE deferred_excl SET f1 = 3; |