diff options
Diffstat (limited to 'src/test/regress/sql/foreign_key.sql')
-rw-r--r-- | src/test/regress/sql/foreign_key.sql | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/test/regress/sql/foreign_key.sql b/src/test/regress/sql/foreign_key.sql index 53276e4d673..1aee459ccaf 100644 --- a/src/test/regress/sql/foreign_key.sql +++ b/src/test/regress/sql/foreign_key.sql @@ -1009,3 +1009,26 @@ update pp set f1=f1+1; insert into cc values(13); update pp set f1=f1+1; -- fail drop table pp, cc; + +-- +-- Test deferred FK check on a tuple deleted by a rolled-back subtransaction +-- +create table pktable2(f1 int primary key); +create table fktable2(f1 int references pktable2 deferrable initially deferred); +insert into pktable2 values(1); + +begin; +insert into fktable2 values(1); +savepoint x; +delete from fktable2; +rollback to x; +commit; + +begin; +insert into fktable2 values(2); +savepoint x; +delete from fktable2; +rollback to x; +commit; -- fail + +drop table pktable2, fktable2; |