diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/detach-partition-concurrently-2.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/detach-partition-concurrently-2.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/detach-partition-concurrently-2.out 2024-03-29 10:06:51.875270895 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/detach-partition-concurrently-2.out 2024-03-29 10:13:18.883275440 +0000 @@ -10,67 +10,7 @@ (2 rows) step s2d: ALTER TABLE d_lp_fk DETACH PARTITION d_lp_fk_1 CONCURRENTLY; -step s3i1: INSERT INTO d_lp_fk_r VALUES (1); -ERROR: insert or update on table "d_lp_fk_r" violates foreign key constraint "d_lp_fk_r_a_fkey" -step s1c: COMMIT; -step s2d: <... completed> +PQconsumeInput failed: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. -starting permutation: s1b s1s s2d s3i2 s3i2 s1c -step s1b: BEGIN; -step s1s: SELECT * FROM d_lp_fk; -a -- -1 -2 -(2 rows) - -step s2d: ALTER TABLE d_lp_fk DETACH PARTITION d_lp_fk_1 CONCURRENTLY; -step s3i2: INSERT INTO d_lp_fk_r VALUES (2); -step s3i2: INSERT INTO d_lp_fk_r VALUES (2); -step s1c: COMMIT; -step s2d: <... completed> - -starting permutation: s1b s1s s3i1 s2d s1c -step s1b: BEGIN; -step s1s: SELECT * FROM d_lp_fk; -a -- -1 -2 -(2 rows) - -step s3i1: INSERT INTO d_lp_fk_r VALUES (1); -step s2d: ALTER TABLE d_lp_fk DETACH PARTITION d_lp_fk_1 CONCURRENTLY; -ERROR: removing partition "d_lp_fk_1" violates foreign key constraint "d_lp_fk_r_a_fkey1" -step s1c: COMMIT; - -starting permutation: s1b s1s s3i2 s2d s1c -step s1b: BEGIN; -step s1s: SELECT * FROM d_lp_fk; -a -- -1 -2 -(2 rows) - -step s3i2: INSERT INTO d_lp_fk_r VALUES (2); -step s2d: ALTER TABLE d_lp_fk DETACH PARTITION d_lp_fk_1 CONCURRENTLY; -step s1c: COMMIT; -step s2d: <... completed> - -starting permutation: s1b s1s s3b s2d s3i1 s1c s3c -step s1b: BEGIN; -step s1s: SELECT * FROM d_lp_fk; -a -- -1 -2 -(2 rows) - -step s3b: BEGIN; -step s2d: ALTER TABLE d_lp_fk DETACH PARTITION d_lp_fk_1 CONCURRENTLY; -step s3i1: INSERT INTO d_lp_fk_r VALUES (1); -ERROR: insert or update on table "d_lp_fk_r" violates foreign key constraint "d_lp_fk_r_a_fkey" -step s1c: COMMIT; -step s2d: <... completed> -step s3c: COMMIT; diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/detach-partition-concurrently-3.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/detach-partition-concurrently-3.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/detach-partition-concurrently-3.out 2024-03-29 10:06:51.875270895 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/detach-partition-concurrently-3.out 2024-03-29 10:13:19.387275343 +0000 @@ -277,230 +277,10 @@ step s1noop: step s2detachfinal: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 FINALIZE; step s1c: COMMIT; -step s2detachfinal: <... completed> -step s2detach2: ALTER TABLE d3_listp DETACH PARTITION d3_listp2 CONCURRENTLY; +s2: WARNING: terminating connection because of crash of another server process +DETAIL: The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory. +HINT: In a moment you should be able to reconnect to the database and repeat your command. +PQconsumeInput failed: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. -starting permutation: s2snitch s1b s1s s2detach s1cancel s1c s1droppart s2detach2 -step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid(); -step s1b: BEGIN; -step s1s: SELECT * FROM d3_listp; -a -- -1 -(1 row) - -step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; -step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid; -step s2detach: <... completed> -ERROR: canceling statement due to user request -step s1cancel: <... completed> -pg_cancel_backend ------------------ -t -(1 row) - -step s1c: COMMIT; -step s1droppart: DROP TABLE d3_listp1; -step s2detach2: ALTER TABLE d3_listp DETACH PARTITION d3_listp2 CONCURRENTLY; - -starting permutation: s2snitch s1b s1s s2detach s1cancel s1c s2begin s2drop s1s s2commit -step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid(); -step s1b: BEGIN; -step s1s: SELECT * FROM d3_listp; -a -- -1 -(1 row) - -step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; -step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid; -step s2detach: <... completed> -ERROR: canceling statement due to user request -step s1cancel: <... completed> -pg_cancel_backend ------------------ -t -(1 row) - -step s1c: COMMIT; -step s2begin: BEGIN; -step s2drop: DROP TABLE d3_listp1; -step s1s: SELECT * FROM d3_listp; -step s2commit: COMMIT; -step s1s: <... completed> -a -- -(0 rows) - - -starting permutation: s2snitch s1b s1s s2detach s1cancel s1c s1b s1spart s2detachfinal s1c -step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid(); -step s1b: BEGIN; -step s1s: SELECT * FROM d3_listp; -a -- -1 -(1 row) - -step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; -step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid; -step s2detach: <... completed> -ERROR: canceling statement due to user request -step s1cancel: <... completed> -pg_cancel_backend ------------------ -t -(1 row) - -step s1c: COMMIT; -step s1b: BEGIN; -step s1spart: SELECT * FROM d3_listp1; -a -- -1 -(1 row) - -step s2detachfinal: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 FINALIZE; -step s1c: COMMIT; -step s2detachfinal: <... completed> - -starting permutation: s2snitch s1b s1s s2detach s1cancel s1c s1b s1s s2detachfinal s1c -step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid(); -step s1b: BEGIN; -step s1s: SELECT * FROM d3_listp; -a -- -1 -(1 row) - -step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; -step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid; -step s2detach: <... completed> -ERROR: canceling statement due to user request -step s1cancel: <... completed> -pg_cancel_backend ------------------ -t -(1 row) - -step s1c: COMMIT; -step s1b: BEGIN; -step s1s: SELECT * FROM d3_listp; -a -- -(0 rows) - -step s2detachfinal: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 FINALIZE; -step s1c: COMMIT; - -starting permutation: s2snitch s1b s1s s2detach s1cancel s1c s1b s1spart s2detachfinal s1c -step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid(); -step s1b: BEGIN; -step s1s: SELECT * FROM d3_listp; -a -- -1 -(1 row) - -step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; -step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid; -step s2detach: <... completed> -ERROR: canceling statement due to user request -step s1cancel: <... completed> -pg_cancel_backend ------------------ -t -(1 row) - -step s1c: COMMIT; -step s1b: BEGIN; -step s1spart: SELECT * FROM d3_listp1; -a -- -1 -(1 row) - -step s2detachfinal: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 FINALIZE; -step s1c: COMMIT; -step s2detachfinal: <... completed> - -starting permutation: s2snitch s1b s1s s2detach s1cancel s1c s2begin s2detachfinal s2commit -step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid(); -step s1b: BEGIN; -step s1s: SELECT * FROM d3_listp; -a -- -1 -(1 row) - -step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; -step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid; -step s2detach: <... completed> -ERROR: canceling statement due to user request -step s1cancel: <... completed> -pg_cancel_backend ------------------ -t -(1 row) - -step s1c: COMMIT; -step s2begin: BEGIN; -step s2detachfinal: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 FINALIZE; -step s2commit: COMMIT; - -starting permutation: s2snitch s1b s1s s2detach s1cancel s1c s2begin s2detachfinal s1spart s2commit -step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid(); -step s1b: BEGIN; -step s1s: SELECT * FROM d3_listp; -a -- -1 -(1 row) - -step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; -step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid; -step s2detach: <... completed> -ERROR: canceling statement due to user request -step s1cancel: <... completed> -pg_cancel_backend ------------------ -t -(1 row) - -step s1c: COMMIT; -step s2begin: BEGIN; -step s2detachfinal: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 FINALIZE; -step s1spart: SELECT * FROM d3_listp1; -step s2commit: COMMIT; -step s1spart: <... completed> -a -- -1 -(1 row) - - -starting permutation: s2snitch s1b s1s s2detach s1cancel s1c s2begin s2detachfinal s1insertpart s2commit -step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid(); -step s1b: BEGIN; -step s1s: SELECT * FROM d3_listp; -a -- -1 -(1 row) - -step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; -step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid; -step s2detach: <... completed> -ERROR: canceling statement due to user request -step s1cancel: <... completed> -pg_cancel_backend ------------------ -t -(1 row) - -step s1c: COMMIT; -step s2begin: BEGIN; -step s2detachfinal: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 FINALIZE; -step s1insertpart: INSERT INTO d3_listp1 VALUES (1); -step s2commit: COMMIT; -step s1insertpart: <... completed> diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/detach-partition-concurrently-4.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/detach-partition-concurrently-4.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/detach-partition-concurrently-4.out 2024-03-29 10:06:51.875270895 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/detach-partition-concurrently-4.out 2024-03-29 10:13:19.415275338 +0000 @@ -1,426 +1,3 @@ Parsed test spec with 3 sessions - -starting permutation: s2snitch s1b s1s s2detach s1cancel s1insert s1c -step s2snitch: insert into d4_pid select pg_backend_pid(); -step s1b: begin; -step s1s: select * from d4_primary; -a -- -1 -2 -(2 rows) - -step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; -step s1cancel: select pg_cancel_backend(pid) from d4_pid; -step s2detach: <... completed> -ERROR: canceling statement due to user request -step s1cancel: <... completed> -pg_cancel_backend ------------------ -t -(1 row) - -step s1insert: insert into d4_fk values (1); -ERROR: insert or update on table "d4_fk" violates foreign key constraint "d4_fk_a_fkey" -step s1c: commit; - -starting permutation: s2snitch s1b s1s s2detach s1insert s1c -step s2snitch: insert into d4_pid select pg_backend_pid(); -step s1b: begin; -step s1s: select * from d4_primary; -a -- -1 -2 -(2 rows) - -step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; -step s1insert: insert into d4_fk values (1); -ERROR: insert or update on table "d4_fk" violates foreign key constraint "d4_fk_a_fkey" -step s2detach: <... completed> -step s1c: commit; - -starting permutation: s2snitch s1brr s1s s2detach s1cancel s1insert s1c -step s2snitch: insert into d4_pid select pg_backend_pid(); -step s1brr: begin isolation level repeatable read; -step s1s: select * from d4_primary; -a -- -1 -2 -(2 rows) - -step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; -step s1cancel: select pg_cancel_backend(pid) from d4_pid; -step s2detach: <... completed> -ERROR: canceling statement due to user request -step s1cancel: <... completed> -pg_cancel_backend ------------------ -t -(1 row) - -step s1insert: insert into d4_fk values (1); -ERROR: insert or update on table "d4_fk" violates foreign key constraint "d4_fk_a_fkey" -step s1c: commit; - -starting permutation: s2snitch s1brr s1s s2detach s1insert s1c -step s2snitch: insert into d4_pid select pg_backend_pid(); -step s1brr: begin isolation level repeatable read; -step s1s: select * from d4_primary; -a -- -1 -2 -(2 rows) - -step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; -step s1insert: insert into d4_fk values (1); -ERROR: insert or update on table "d4_fk" violates foreign key constraint "d4_fk_a_fkey" -step s2detach: <... completed> -step s1c: commit; - -starting permutation: s2snitch s1b s1declare s2detach s1cancel s1fetchall s1insert s1c -step s2snitch: insert into d4_pid select pg_backend_pid(); -step s1b: begin; -step s1declare: declare f cursor for select * from d4_primary; -step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; -step s1cancel: select pg_cancel_backend(pid) from d4_pid; -step s2detach: <... completed> -ERROR: canceling statement due to user request -step s1cancel: <... completed> -pg_cancel_backend ------------------ -t -(1 row) - -step s1fetchall: fetch all from f; -a -- -1 -2 -(2 rows) - -step s1insert: insert into d4_fk values (1); -ERROR: insert or update on table "d4_fk" violates foreign key constraint "d4_fk_a_fkey" -step s1c: commit; - -starting permutation: s2snitch s1b s1declare s2detach s1fetchall s1insert s1c -step s2snitch: insert into d4_pid select pg_backend_pid(); -step s1b: begin; -step s1declare: declare f cursor for select * from d4_primary; -step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; -step s1fetchall: fetch all from f; -a -- -1 -2 -(2 rows) - -step s1insert: insert into d4_fk values (1); -ERROR: insert or update on table "d4_fk" violates foreign key constraint "d4_fk_a_fkey" -step s2detach: <... completed> -step s1c: commit; - -starting permutation: s2snitch s1b s1declare s2detach s1cancel s1svpt s1insert s1rollback s1fetchall s1c -step s2snitch: insert into d4_pid select pg_backend_pid(); -step s1b: begin; -step s1declare: declare f cursor for select * from d4_primary; -step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; -step s1cancel: select pg_cancel_backend(pid) from d4_pid; -step s2detach: <... completed> -ERROR: canceling statement due to user request -step s1cancel: <... completed> -pg_cancel_backend ------------------ -t -(1 row) - -step s1svpt: savepoint f; -step s1insert: insert into d4_fk values (1); -ERROR: insert or update on table "d4_fk" violates foreign key constraint "d4_fk_a_fkey" -step s1rollback: rollback to f; -step s1fetchall: fetch all from f; -a -- -1 -2 -(2 rows) - -step s1c: commit; - -starting permutation: s2snitch s1b s1declare s2detach s1svpt s1insert s1rollback s1fetchall s1c -step s2snitch: insert into d4_pid select pg_backend_pid(); -step s1b: begin; -step s1declare: declare f cursor for select * from d4_primary; -step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; -step s1svpt: savepoint f; -step s1insert: insert into d4_fk values (1); -ERROR: insert or update on table "d4_fk" violates foreign key constraint "d4_fk_a_fkey" -step s1rollback: rollback to f; -step s1fetchall: fetch all from f; -a -- -1 -2 -(2 rows) - -step s1c: commit; -step s2detach: <... completed> - -starting permutation: s2snitch s1b s2detach s1declare s1cancel s1fetchall s1insert s1c -step s2snitch: insert into d4_pid select pg_backend_pid(); -step s1b: begin; -step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; -step s1declare: declare f cursor for select * from d4_primary; -step s1cancel: select pg_cancel_backend(pid) from d4_pid; -pg_cancel_backend ------------------ -t -(1 row) - -step s1fetchall: fetch all from f; -a -- -2 -(1 row) - -step s1insert: insert into d4_fk values (1); -ERROR: insert or update on table "d4_fk" violates foreign key constraint "d4_fk_a_fkey" -step s1c: commit; - -starting permutation: s2snitch s1b s2detach s1declare s1fetchall s1insert s1c -step s2snitch: insert into d4_pid select pg_backend_pid(); -step s1b: begin; -step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; -step s1declare: declare f cursor for select * from d4_primary; -step s1fetchall: fetch all from f; -a -- -2 -(1 row) - -step s1insert: insert into d4_fk values (1); -ERROR: insert or update on table "d4_fk" violates foreign key constraint "d4_fk_a_fkey" -step s1c: commit; - -starting permutation: s2snitch s1b s2detach s1declare s1cancel s1svpt s1insert s1rollback s1fetchall s1c -step s2snitch: insert into d4_pid select pg_backend_pid(); -step s1b: begin; -step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; -step s1declare: declare f cursor for select * from d4_primary; -step s1cancel: select pg_cancel_backend(pid) from d4_pid; -pg_cancel_backend ------------------ -t -(1 row) - -step s1svpt: savepoint f; -step s1insert: insert into d4_fk values (1); -ERROR: insert or update on table "d4_fk" violates foreign key constraint "d4_fk_a_fkey" -step s1rollback: rollback to f; -step s1fetchall: fetch all from f; -a -- -2 -(1 row) - -step s1c: commit; - -starting permutation: s2snitch s1b s2detach s1declare s1svpt s1insert s1rollback s1fetchall s1c -step s2snitch: insert into d4_pid select pg_backend_pid(); -step s1b: begin; -step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; -step s1declare: declare f cursor for select * from d4_primary; -step s1svpt: savepoint f; -step s1insert: insert into d4_fk values (1); -ERROR: insert or update on table "d4_fk" violates foreign key constraint "d4_fk_a_fkey" -step s1rollback: rollback to f; -step s1fetchall: fetch all from f; -a -- -2 -(1 row) - -step s1c: commit; - -starting permutation: s2snitch s1brr s1declare2 s1fetchone s2detach s1cancel s1updcur s1c -step s2snitch: insert into d4_pid select pg_backend_pid(); -step s1brr: begin isolation level repeatable read; -step s1declare2: declare f cursor for select * from d4_fk where a = 2; -step s1fetchone: fetch 1 from f; -a -- -2 -(1 row) - -step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; -step s1cancel: select pg_cancel_backend(pid) from d4_pid; -step s2detach: <... completed> -ERROR: canceling statement due to user request -step s1cancel: <... completed> -pg_cancel_backend ------------------ -t -(1 row) - -step s1updcur: update d4_fk set a = 1 where current of f; -ERROR: insert or update on table "d4_fk" violates foreign key constraint "d4_fk_a_fkey" -step s1c: commit; - -starting permutation: s2snitch s1brr s1declare2 s1fetchone s2detach s1updcur s1c -step s2snitch: insert into d4_pid select pg_backend_pid(); -step s1brr: begin isolation level repeatable read; -step s1declare2: declare f cursor for select * from d4_fk where a = 2; -step s1fetchone: fetch 1 from f; -a -- -2 -(1 row) - -step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; -step s1updcur: update d4_fk set a = 1 where current of f; -ERROR: insert or update on table "d4_fk" violates foreign key constraint "d4_fk_a_fkey" -step s2detach: <... completed> -step s1c: commit; - -starting permutation: s2snitch s1brr s1declare2 s1fetchone s1updcur s2detach s1c -step s2snitch: insert into d4_pid select pg_backend_pid(); -step s1brr: begin isolation level repeatable read; -step s1declare2: declare f cursor for select * from d4_fk where a = 2; -step s1fetchone: fetch 1 from f; -a -- -2 -(1 row) - -step s1updcur: update d4_fk set a = 1 where current of f; -step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; -step s1c: commit; -step s2detach: <... completed> -ERROR: removing partition "d4_primary1" violates foreign key constraint "d4_fk_a_fkey1" - -starting permutation: s2snitch s1b s1s s2detach s3insert s1c -step s2snitch: insert into d4_pid select pg_backend_pid(); -step s1b: begin; -step s1s: select * from d4_primary; -a -- -1 -2 -(2 rows) - -step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; -step s3insert: insert into d4_fk values (1); -ERROR: insert or update on table "d4_fk" violates foreign key constraint "d4_fk_a_fkey" -step s1c: commit; -step s2detach: <... completed> - -starting permutation: s2snitch s1b s1s s2detach s3brr s3insert s3commit s1cancel s1c -step s2snitch: insert into d4_pid select pg_backend_pid(); -step s1b: begin; -step s1s: select * from d4_primary; -a -- -1 -2 -(2 rows) - -step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; -step s3brr: begin isolation level repeatable read; -step s3insert: insert into d4_fk values (1); -ERROR: insert or update on table "d4_fk" violates foreign key constraint "d4_fk_a_fkey" -step s3commit: commit; -step s1cancel: select pg_cancel_backend(pid) from d4_pid; -step s2detach: <... completed> -ERROR: canceling statement due to user request -step s1cancel: <... completed> -pg_cancel_backend ------------------ -t -(1 row) - -step s1c: commit; - -starting permutation: s2snitch s1b s1s s2detach s3brr s3insert s3commit s1c -step s2snitch: insert into d4_pid select pg_backend_pid(); -step s1b: begin; -step s1s: select * from d4_primary; -a -- -1 -2 -(2 rows) - -step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; -step s3brr: begin isolation level repeatable read; -step s3insert: insert into d4_fk values (1); -ERROR: insert or update on table "d4_fk" violates foreign key constraint "d4_fk_a_fkey" -step s3commit: commit; -step s1c: commit; -step s2detach: <... completed> - -starting permutation: s2snitch s1brr s1s s2detach s1cancel s1noop s3vacfreeze s1s s1insert s1c -step s2snitch: insert into d4_pid select pg_backend_pid(); -step s1brr: begin isolation level repeatable read; -step s1s: select * from d4_primary; -a -- -1 -2 -(2 rows) - -step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; -step s1cancel: select pg_cancel_backend(pid) from d4_pid; -step s2detach: <... completed> -ERROR: canceling statement due to user request -step s1cancel: <... completed> -pg_cancel_backend ------------------ -t -(1 row) - -step s1noop: -step s3vacfreeze: vacuum freeze pg_catalog.pg_inherits; -step s1s: select * from d4_primary; -a -- -1 -2 -(2 rows) - -step s1insert: insert into d4_fk values (1); -ERROR: insert or update on table "d4_fk" violates foreign key constraint "d4_fk_a_fkey" -step s1c: commit; - -starting permutation: s2snitch s1b s1s s2detach s1cancel s1noop s3vacfreeze s1s s1insert s1c -step s2snitch: insert into d4_pid select pg_backend_pid(); -step s1b: begin; -step s1s: select * from d4_primary; -a -- -1 -2 -(2 rows) - -step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; -step s1cancel: select pg_cancel_backend(pid) from d4_pid; -step s2detach: <... completed> -ERROR: canceling statement due to user request -step s1cancel: <... completed> -pg_cancel_backend ------------------ -t -(1 row) - -step s1noop: -step s3vacfreeze: vacuum freeze pg_catalog.pg_inherits; -step s1s: select * from d4_primary; -a -- -2 -(1 row) - -step s1insert: insert into d4_fk values (1); -ERROR: insert or update on table "d4_fk" violates foreign key constraint "d4_fk_a_fkey" -step s1c: commit; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/fk-contention.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/fk-contention.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/fk-contention.out 2024-03-29 10:06:51.875270895 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/fk-contention.out 2024-03-29 10:13:19.423275336 +0000 @@ -1,16 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: ins com upd -step ins: INSERT INTO bar VALUES (42); -step com: COMMIT; -step upd: UPDATE foo SET b = 'Hello World'; - -starting permutation: ins upd com -step ins: INSERT INTO bar VALUES (42); -step upd: UPDATE foo SET b = 'Hello World'; -step com: COMMIT; - -starting permutation: upd ins com -step upd: UPDATE foo SET b = 'Hello World'; -step ins: INSERT INTO bar VALUES (42); -step com: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/fk-deadlock.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/fk-deadlock.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/fk-deadlock.out 2024-03-29 10:06:51.875270895 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/fk-deadlock.out 2024-03-29 10:13:19.455275330 +0000 @@ -1,119 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1i s1u s1c s2i s2u s2c -step s1i: INSERT INTO child VALUES (1, 1); -step s1u: UPDATE parent SET aux = 'bar'; -step s1c: COMMIT; -step s2i: INSERT INTO child VALUES (2, 1); -step s2u: UPDATE parent SET aux = 'baz'; -step s2c: COMMIT; - -starting permutation: s1i s1u s2i s1c s2u s2c -step s1i: INSERT INTO child VALUES (1, 1); -step s1u: UPDATE parent SET aux = 'bar'; -step s2i: INSERT INTO child VALUES (2, 1); -step s1c: COMMIT; -step s2u: UPDATE parent SET aux = 'baz'; -step s2c: COMMIT; - -starting permutation: s1i s1u s2i s2u s1c s2c -step s1i: INSERT INTO child VALUES (1, 1); -step s1u: UPDATE parent SET aux = 'bar'; -step s2i: INSERT INTO child VALUES (2, 1); -step s2u: UPDATE parent SET aux = 'baz'; -step s1c: COMMIT; -step s2u: <... completed> -step s2c: COMMIT; - -starting permutation: s1i s2i s1u s1c s2u s2c -step s1i: INSERT INTO child VALUES (1, 1); -step s2i: INSERT INTO child VALUES (2, 1); -step s1u: UPDATE parent SET aux = 'bar'; -step s1c: COMMIT; -step s2u: UPDATE parent SET aux = 'baz'; -step s2c: COMMIT; - -starting permutation: s1i s2i s1u s2u s1c s2c -step s1i: INSERT INTO child VALUES (1, 1); -step s2i: INSERT INTO child VALUES (2, 1); -step s1u: UPDATE parent SET aux = 'bar'; -step s2u: UPDATE parent SET aux = 'baz'; -step s1c: COMMIT; -step s2u: <... completed> -step s2c: COMMIT; - -starting permutation: s1i s2i s2u s1u s2c s1c -step s1i: INSERT INTO child VALUES (1, 1); -step s2i: INSERT INTO child VALUES (2, 1); -step s2u: UPDATE parent SET aux = 'baz'; -step s1u: UPDATE parent SET aux = 'bar'; -step s2c: COMMIT; -step s1u: <... completed> -step s1c: COMMIT; - -starting permutation: s1i s2i s2u s2c s1u s1c -step s1i: INSERT INTO child VALUES (1, 1); -step s2i: INSERT INTO child VALUES (2, 1); -step s2u: UPDATE parent SET aux = 'baz'; -step s2c: COMMIT; -step s1u: UPDATE parent SET aux = 'bar'; -step s1c: COMMIT; - -starting permutation: s2i s1i s1u s1c s2u s2c -step s2i: INSERT INTO child VALUES (2, 1); -step s1i: INSERT INTO child VALUES (1, 1); -step s1u: UPDATE parent SET aux = 'bar'; -step s1c: COMMIT; -step s2u: UPDATE parent SET aux = 'baz'; -step s2c: COMMIT; - -starting permutation: s2i s1i s1u s2u s1c s2c -step s2i: INSERT INTO child VALUES (2, 1); -step s1i: INSERT INTO child VALUES (1, 1); -step s1u: UPDATE parent SET aux = 'bar'; -step s2u: UPDATE parent SET aux = 'baz'; -step s1c: COMMIT; -step s2u: <... completed> -step s2c: COMMIT; - -starting permutation: s2i s1i s2u s1u s2c s1c -step s2i: INSERT INTO child VALUES (2, 1); -step s1i: INSERT INTO child VALUES (1, 1); -step s2u: UPDATE parent SET aux = 'baz'; -step s1u: UPDATE parent SET aux = 'bar'; -step s2c: COMMIT; -step s1u: <... completed> -step s1c: COMMIT; - -starting permutation: s2i s1i s2u s2c s1u s1c -step s2i: INSERT INTO child VALUES (2, 1); -step s1i: INSERT INTO child VALUES (1, 1); -step s2u: UPDATE parent SET aux = 'baz'; -step s2c: COMMIT; -step s1u: UPDATE parent SET aux = 'bar'; -step s1c: COMMIT; - -starting permutation: s2i s2u s1i s1u s2c s1c -step s2i: INSERT INTO child VALUES (2, 1); -step s2u: UPDATE parent SET aux = 'baz'; -step s1i: INSERT INTO child VALUES (1, 1); -step s1u: UPDATE parent SET aux = 'bar'; -step s2c: COMMIT; -step s1u: <... completed> -step s1c: COMMIT; - -starting permutation: s2i s2u s1i s2c s1u s1c -step s2i: INSERT INTO child VALUES (2, 1); -step s2u: UPDATE parent SET aux = 'baz'; -step s1i: INSERT INTO child VALUES (1, 1); -step s2c: COMMIT; -step s1u: UPDATE parent SET aux = 'bar'; -step s1c: COMMIT; - -starting permutation: s2i s2u s2c s1i s1u s1c -step s2i: INSERT INTO child VALUES (2, 1); -step s2u: UPDATE parent SET aux = 'baz'; -step s2c: COMMIT; -step s1i: INSERT INTO child VALUES (1, 1); -step s1u: UPDATE parent SET aux = 'bar'; -step s1c: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/fk-deadlock2.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/fk-deadlock2.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/fk-deadlock2.out 2024-03-29 10:06:51.875270895 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/fk-deadlock2.out 2024-03-29 10:13:19.487275324 +0000 @@ -1,95 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1u1 s1u2 s1c s2u1 s2u2 s2c -step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; -step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; -step s1c: COMMIT; -step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; -step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; -step s2c: COMMIT; - -starting permutation: s1u1 s1u2 s2u1 s1c s2u2 s2c -step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; -step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; -step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; -step s1c: COMMIT; -step s2u1: <... completed> -step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; -step s2c: COMMIT; - -starting permutation: s1u1 s2u1 s1u2 s2u2 s2c s1c -step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; -step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; -step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; -step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; -step s2c: COMMIT; -step s1u2: <... completed> -step s1c: COMMIT; - -starting permutation: s1u1 s2u1 s2u2 s1u2 s2c s1c -step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; -step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; -step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; -step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; -step s2c: COMMIT; -step s1u2: <... completed> -step s1c: COMMIT; - -starting permutation: s1u1 s2u1 s2u2 s2c s1u2 s1c -step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; -step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; -step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; -step s2c: COMMIT; -step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; -step s1c: COMMIT; - -starting permutation: s2u1 s1u1 s1u2 s2u2 s2c s1c -step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; -step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; -step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; -step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; -step s2c: COMMIT; -step s1u2: <... completed> -step s1c: COMMIT; - -starting permutation: s2u1 s1u1 s2u2 s1u2 s2c s1c -step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; -step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; -step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; -step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; -step s2c: COMMIT; -step s1u2: <... completed> -step s1c: COMMIT; - -starting permutation: s2u1 s1u1 s2u2 s2c s1u2 s1c -step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; -step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; -step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; -step s2c: COMMIT; -step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; -step s1c: COMMIT; - -starting permutation: s2u1 s2u2 s1u1 s1u2 s2c s1c -step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; -step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; -step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; -step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; -step s2c: COMMIT; -step s1u2: <... completed> -step s1c: COMMIT; - -starting permutation: s2u1 s2u2 s1u1 s2c s1u2 s1c -step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; -step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; -step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; -step s2c: COMMIT; -step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; -step s1c: COMMIT; - -starting permutation: s2u1 s2u2 s2c s1u1 s1u2 s1c -step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2; -step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; -step s2c: COMMIT; -step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1; -step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2; -step s1c: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/fk-partitioned-1.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/fk-partitioned-1.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/fk-partitioned-1.out 2024-03-29 10:06:51.875270895 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/fk-partitioned-1.out 2024-03-29 10:13:19.527275317 +0000 @@ -1,133 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1b s1d s1c s2b s2a s2c -step s1b: begin; -step s1d: delete from ppk1 where a = 1; -step s1c: commit; -step s2b: begin; -step s2a: alter table pfk attach partition pfk1 for values in (1); -ERROR: insert or update on table "pfk1" violates foreign key constraint "pfk_a_fkey" -step s2c: commit; - -starting permutation: s1b s1d s2b s1c s2a s2c -step s1b: begin; -step s1d: delete from ppk1 where a = 1; -step s2b: begin; -step s1c: commit; -step s2a: alter table pfk attach partition pfk1 for values in (1); -ERROR: insert or update on table "pfk1" violates foreign key constraint "pfk_a_fkey" -step s2c: commit; - -starting permutation: s1b s1d s2b s2a s1c s2c -step s1b: begin; -step s1d: delete from ppk1 where a = 1; -step s2b: begin; -step s2a: alter table pfk attach partition pfk1 for values in (1); -step s1c: commit; -step s2a: <... completed> -ERROR: insert or update on table "pfk1" violates foreign key constraint "pfk_a_fkey" -step s2c: commit; - -starting permutation: s1b s2b s1d s1c s2a s2c -step s1b: begin; -step s2b: begin; -step s1d: delete from ppk1 where a = 1; -step s1c: commit; -step s2a: alter table pfk attach partition pfk1 for values in (1); -ERROR: insert or update on table "pfk1" violates foreign key constraint "pfk_a_fkey" -step s2c: commit; - -starting permutation: s1b s2b s1d s2a s1c s2c -step s1b: begin; -step s2b: begin; -step s1d: delete from ppk1 where a = 1; -step s2a: alter table pfk attach partition pfk1 for values in (1); -step s1c: commit; -step s2a: <... completed> -ERROR: insert or update on table "pfk1" violates foreign key constraint "pfk_a_fkey" -step s2c: commit; - -starting permutation: s1b s2b s2a s1d s2c s1c -step s1b: begin; -step s2b: begin; -step s2a: alter table pfk attach partition pfk1 for values in (1); -step s1d: delete from ppk1 where a = 1; -step s2c: commit; -step s1d: <... completed> -ERROR: update or delete on table "ppk1" violates foreign key constraint "pfk_a_fkey1" on table "pfk" -step s1c: commit; - -starting permutation: s1b s2b s2a s2c s1d s1c -step s1b: begin; -step s2b: begin; -step s2a: alter table pfk attach partition pfk1 for values in (1); -step s2c: commit; -step s1d: delete from ppk1 where a = 1; -ERROR: update or delete on table "ppk1" violates foreign key constraint "pfk_a_fkey1" on table "pfk" -step s1c: commit; - -starting permutation: s2b s1b s1d s1c s2a s2c -step s2b: begin; -step s1b: begin; -step s1d: delete from ppk1 where a = 1; -step s1c: commit; -step s2a: alter table pfk attach partition pfk1 for values in (1); -ERROR: insert or update on table "pfk1" violates foreign key constraint "pfk_a_fkey" -step s2c: commit; - -starting permutation: s2b s1b s1d s2a s1c s2c -step s2b: begin; -step s1b: begin; -step s1d: delete from ppk1 where a = 1; -step s2a: alter table pfk attach partition pfk1 for values in (1); -step s1c: commit; -step s2a: <... completed> -ERROR: insert or update on table "pfk1" violates foreign key constraint "pfk_a_fkey" -step s2c: commit; - -starting permutation: s2b s1b s2a s1d s2c s1c -step s2b: begin; -step s1b: begin; -step s2a: alter table pfk attach partition pfk1 for values in (1); -step s1d: delete from ppk1 where a = 1; -step s2c: commit; -step s1d: <... completed> -ERROR: update or delete on table "ppk1" violates foreign key constraint "pfk_a_fkey1" on table "pfk" -step s1c: commit; - -starting permutation: s2b s1b s2a s2c s1d s1c -step s2b: begin; -step s1b: begin; -step s2a: alter table pfk attach partition pfk1 for values in (1); -step s2c: commit; -step s1d: delete from ppk1 where a = 1; -ERROR: update or delete on table "ppk1" violates foreign key constraint "pfk_a_fkey1" on table "pfk" -step s1c: commit; - -starting permutation: s2b s2a s1b s1d s2c s1c -step s2b: begin; -step s2a: alter table pfk attach partition pfk1 for values in (1); -step s1b: begin; -step s1d: delete from ppk1 where a = 1; -step s2c: commit; -step s1d: <... completed> -ERROR: update or delete on table "ppk1" violates foreign key constraint "pfk_a_fkey1" on table "pfk" -step s1c: commit; - -starting permutation: s2b s2a s1b s2c s1d s1c -step s2b: begin; -step s2a: alter table pfk attach partition pfk1 for values in (1); -step s1b: begin; -step s2c: commit; -step s1d: delete from ppk1 where a = 1; -ERROR: update or delete on table "ppk1" violates foreign key constraint "pfk_a_fkey1" on table "pfk" -step s1c: commit; - -starting permutation: s2b s2a s2c s1b s1d s1c -step s2b: begin; -step s2a: alter table pfk attach partition pfk1 for values in (1); -step s2c: commit; -step s1b: begin; -step s1d: delete from ppk1 where a = 1; -ERROR: update or delete on table "ppk1" violates foreign key constraint "pfk_a_fkey1" on table "pfk" -step s1c: commit; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/fk-partitioned-2.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/fk-partitioned-2.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/fk-partitioned-2.out 2024-03-29 10:06:51.875270895 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/fk-partitioned-2.out 2024-03-29 10:13:19.583275306 +0000 @@ -1,76 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1b s1d s2b s2i s1c s2c -step s1b: begin; -step s1d: delete from ppk where a = 1; -step s2b: begin; -step s2i: insert into pfk values (1); -step s1c: commit; -step s2i: <... completed> -ERROR: insert or update on table "pfk1" violates foreign key constraint "pfk_a_fkey" -step s2c: commit; - -starting permutation: s1b s1d s2bs s2i s1c s2c -step s1b: begin; -step s1d: delete from ppk where a = 1; -step s2bs: begin isolation level serializable; select 1; -?column? --------- - 1 -(1 row) - -step s2i: insert into pfk values (1); -step s1c: commit; -step s2i: <... completed> -ERROR: could not serialize access due to concurrent update -step s2c: commit; - -starting permutation: s1b s2b s1d s2i s1c s2c -step s1b: begin; -step s2b: begin; -step s1d: delete from ppk where a = 1; -step s2i: insert into pfk values (1); -step s1c: commit; -step s2i: <... completed> -ERROR: insert or update on table "pfk1" violates foreign key constraint "pfk_a_fkey" -step s2c: commit; - -starting permutation: s1b s2bs s1d s2i s1c s2c -step s1b: begin; -step s2bs: begin isolation level serializable; select 1; -?column? --------- - 1 -(1 row) - -step s1d: delete from ppk where a = 1; -step s2i: insert into pfk values (1); -step s1c: commit; -step s2i: <... completed> -ERROR: could not serialize access due to concurrent update -step s2c: commit; - -starting permutation: s1b s2b s2i s1d s2c s1c -step s1b: begin; -step s2b: begin; -step s2i: insert into pfk values (1); -step s1d: delete from ppk where a = 1; -step s2c: commit; -step s1d: <... completed> -ERROR: update or delete on table "ppk1" violates foreign key constraint "pfk_a_fkey1" on table "pfk" -step s1c: commit; - -starting permutation: s1b s2bs s2i s1d s2c s1c -step s1b: begin; -step s2bs: begin isolation level serializable; select 1; -?column? --------- - 1 -(1 row) - -step s2i: insert into pfk values (1); -step s1d: delete from ppk where a = 1; -step s2c: commit; -step s1d: <... completed> -ERROR: update or delete on table "ppk1" violates foreign key constraint "pfk_a_fkey1" on table "pfk" -step s1c: commit; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/fk-snapshot.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/fk-snapshot.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/fk-snapshot.out 2024-03-29 10:06:51.875270895 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/fk-snapshot.out 2024-03-29 10:13:19.603275302 +0000 @@ -1,146 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1brr s2brc s2ip2 s1sp s2c s1sp s1ifp2 s1c s1sfp -step s1brr: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s2brc: BEGIN ISOLATION LEVEL READ COMMITTED; -step s2ip2: INSERT INTO pk_noparted VALUES (2); -step s1sp: SELECT * FROM pk_noparted; -a -- -1 -(1 row) - -step s2c: COMMIT; -step s1sp: SELECT * FROM pk_noparted; -a -- -1 -(1 row) - -step s1ifp2: INSERT INTO fk_parted_pk VALUES (2); -ERROR: insert or update on table "fk_parted_pk_2" violates foreign key constraint "fk_parted_pk_a_fkey" -step s1c: COMMIT; -step s1sfp: SELECT * FROM fk_parted_pk; -a -- -1 -(1 row) - - -starting permutation: s2ip2 s2brr s1brc s1ifp2 s2sfp s1c s2sfp s2ifn2 s2c s2sfn -step s2ip2: INSERT INTO pk_noparted VALUES (2); -step s2brr: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s1brc: BEGIN ISOLATION LEVEL READ COMMITTED; -step s1ifp2: INSERT INTO fk_parted_pk VALUES (2); -step s2sfp: SELECT * FROM fk_parted_pk; -a -- -1 -(1 row) - -step s1c: COMMIT; -step s2sfp: SELECT * FROM fk_parted_pk; -a -- -1 -(1 row) - -step s2ifn2: INSERT INTO fk_noparted VALUES (2); -step s2c: COMMIT; -step s2sfn: SELECT * FROM fk_noparted; -a -- -1 -2 -(2 rows) - - -starting permutation: s1brc s2brc s2ip2 s1sp s2c s1sp s1ifp2 s2brc s2sfp s1c s1sfp s2ifn2 s2c s2sfn -step s1brc: BEGIN ISOLATION LEVEL READ COMMITTED; -step s2brc: BEGIN ISOLATION LEVEL READ COMMITTED; -step s2ip2: INSERT INTO pk_noparted VALUES (2); -step s1sp: SELECT * FROM pk_noparted; -a -- -1 -(1 row) - -step s2c: COMMIT; -step s1sp: SELECT * FROM pk_noparted; -a -- -1 -2 -(2 rows) - -step s1ifp2: INSERT INTO fk_parted_pk VALUES (2); -step s2brc: BEGIN ISOLATION LEVEL READ COMMITTED; -step s2sfp: SELECT * FROM fk_parted_pk; -a -- -1 -(1 row) - -step s1c: COMMIT; -step s1sfp: SELECT * FROM fk_parted_pk; -a -- -1 -2 -(2 rows) - -step s2ifn2: INSERT INTO fk_noparted VALUES (2); -step s2c: COMMIT; -step s2sfn: SELECT * FROM fk_noparted; -a -- -1 -2 -(2 rows) - - -starting permutation: s1brr s1dfp s1ifp1 s1c s1sfn -step s1brr: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s1dfp: DELETE FROM fk_parted_pk WHERE a = 1; -step s1ifp1: INSERT INTO fk_parted_pk VALUES (1); -step s1c: COMMIT; -step s1sfn: SELECT * FROM fk_noparted; -a -- -1 -(1 row) - - -starting permutation: s1brc s1dfp s1ifp1 s1c s1sfn -step s1brc: BEGIN ISOLATION LEVEL READ COMMITTED; -step s1dfp: DELETE FROM fk_parted_pk WHERE a = 1; -step s1ifp1: INSERT INTO fk_parted_pk VALUES (1); -step s1c: COMMIT; -step s1sfn: SELECT * FROM fk_noparted; -a -- -1 -(1 row) - - -starting permutation: s2ip2 s1brr s1ifp2 s2brr s2dp2 s1c s2c -step s2ip2: INSERT INTO pk_noparted VALUES (2); -step s1brr: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s1ifp2: INSERT INTO fk_parted_pk VALUES (2); -step s2brr: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s2dp2: DELETE FROM pk_noparted WHERE a = 2; -step s1c: COMMIT; -step s2dp2: <... completed> -ERROR: could not serialize access due to concurrent update -step s2c: COMMIT; - -starting permutation: s2ip2 s1brr s1ifn2 s2brr s2dp2 s1c s2c -step s2ip2: INSERT INTO pk_noparted VALUES (2); -step s1brr: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s1ifn2: INSERT INTO fk_noparted_sn VALUES (2); -step s2brr: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s2dp2: DELETE FROM pk_noparted WHERE a = 2; -step s1c: COMMIT; -step s2dp2: <... completed> -ERROR: could not serialize access due to concurrent update -step s2c: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/subxid-overflow.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/subxid-overflow.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/subxid-overflow.out 2024-03-29 10:06:51.887270884 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/subxid-overflow.out 2024-03-29 10:13:19.611275300 +0000 @@ -1,82 +1,3 @@ Parsed test spec with 3 sessions - -starting permutation: ins subxov xmax s2sel s1c -step ins: TRUNCATE subxids; INSERT INTO subxids VALUES (0, 0); -step subxov: BEGIN; SELECT gen_subxids(100); -gen_subxids ------------ - -(1 row) - -step xmax: BEGIN; INSERT INTO subxids VALUES (99, 0); COMMIT; -step s2sel: SELECT val FROM subxids WHERE subx = 0; -val ---- - 0 -(1 row) - -step s1c: COMMIT; - -starting permutation: ins subxov sub3 xmax s2brr s2s3 s3c s2s3 s2c s1c -step ins: TRUNCATE subxids; INSERT INTO subxids VALUES (0, 0); -step subxov: BEGIN; SELECT gen_subxids(100); -gen_subxids ------------ - -(1 row) - -step sub3: BEGIN; SAVEPOINT s; INSERT INTO subxids VALUES (1, 0); -step xmax: BEGIN; INSERT INTO subxids VALUES (99, 0); COMMIT; -step s2brr: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s2s3: SELECT val FROM subxids WHERE subx = 1; -val ---- -(0 rows) - -step s3c: COMMIT; -step s2s3: SELECT val FROM subxids WHERE subx = 1; -val ---- -(0 rows) - -step s2c: COMMIT; -step s1c: COMMIT; - -starting permutation: ins subxov sub3 xmax s2brc s2s3 s3c s2s3 s2c s1c -step ins: TRUNCATE subxids; INSERT INTO subxids VALUES (0, 0); -step subxov: BEGIN; SELECT gen_subxids(100); -gen_subxids ------------ - -(1 row) - -step sub3: BEGIN; SAVEPOINT s; INSERT INTO subxids VALUES (1, 0); -step xmax: BEGIN; INSERT INTO subxids VALUES (99, 0); COMMIT; -step s2brc: BEGIN ISOLATION LEVEL READ COMMITTED; -step s2s3: SELECT val FROM subxids WHERE subx = 1; -val ---- -(0 rows) - -step s3c: COMMIT; -step s2s3: SELECT val FROM subxids WHERE subx = 1; -val ---- - 0 -(1 row) - -step s2c: COMMIT; -step s1c: COMMIT; - -starting permutation: ins subxov xmax s2upd s1c -step ins: TRUNCATE subxids; INSERT INTO subxids VALUES (0, 0); -step subxov: BEGIN; SELECT gen_subxids(100); -gen_subxids ------------ - -(1 row) - -step xmax: BEGIN; INSERT INTO subxids VALUES (99, 0); COMMIT; -step s2upd: UPDATE subxids SET val = 1 WHERE subx = 0; -step s1c: COMMIT; -step s2upd: <... completed> +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/eval-plan-qual.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/eval-plan-qual.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/eval-plan-qual.out 2024-03-29 10:06:51.875270895 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/eval-plan-qual.out 2024-03-29 10:13:19.623275298 +0000 @@ -1,1339 +1,3 @@ Parsed test spec with 3 sessions - -starting permutation: wx1 wx2 c1 c2 read -step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance; -balance -------- - 400 -(1 row) - -step wx2: UPDATE accounts SET balance = balance + 450 WHERE accountid = 'checking' RETURNING balance; -step c1: COMMIT; -step wx2: <... completed> -balance -------- - 850 -(1 row) - -step c2: COMMIT; -step read: SELECT * FROM accounts ORDER BY accountid; -accountid|balance|balance2 ----------+-------+-------- -checking | 850| 1700 -savings | 600| 1200 -(2 rows) - - -starting permutation: wy1 wy2 c1 c2 read -step wy1: UPDATE accounts SET balance = balance + 500 WHERE accountid = 'checking' RETURNING balance; -balance -------- - 1100 -(1 row) - -step wy2: UPDATE accounts SET balance = balance + 1000 WHERE accountid = 'checking' AND balance < 1000 RETURNING balance; -step c1: COMMIT; -step wy2: <... completed> -balance -------- -(0 rows) - -step c2: COMMIT; -step read: SELECT * FROM accounts ORDER BY accountid; -accountid|balance|balance2 ----------+-------+-------- -checking | 1100| 2200 -savings | 600| 1200 -(2 rows) - - -starting permutation: wx1 wx2 r1 c2 read -step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance; -balance -------- - 400 -(1 row) - -step wx2: UPDATE accounts SET balance = balance + 450 WHERE accountid = 'checking' RETURNING balance; -step r1: ROLLBACK; -step wx2: <... completed> -balance -------- - 1050 -(1 row) - -step c2: COMMIT; -step read: SELECT * FROM accounts ORDER BY accountid; -accountid|balance|balance2 ----------+-------+-------- -checking | 1050| 2100 -savings | 600| 1200 -(2 rows) - - -starting permutation: wy1 wy2 r1 c2 read -step wy1: UPDATE accounts SET balance = balance + 500 WHERE accountid = 'checking' RETURNING balance; -balance -------- - 1100 -(1 row) - -step wy2: UPDATE accounts SET balance = balance + 1000 WHERE accountid = 'checking' AND balance < 1000 RETURNING balance; -step r1: ROLLBACK; -step wy2: <... completed> -balance -------- - 1600 -(1 row) - -step c2: COMMIT; -step read: SELECT * FROM accounts ORDER BY accountid; -accountid|balance|balance2 ----------+-------+-------- -checking | 1600| 3200 -savings | 600| 1200 -(2 rows) - - -starting permutation: wx1 d1 wx2 c1 c2 read -step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance; -balance -------- - 400 -(1 row) - -step d1: DELETE FROM accounts WHERE accountid = 'checking' AND balance < 1500 RETURNING balance; -balance -------- - 400 -(1 row) - -step wx2: UPDATE accounts SET balance = balance + 450 WHERE accountid = 'checking' RETURNING balance; -step c1: COMMIT; -step wx2: <... completed> -balance -------- -(0 rows) - -step c2: COMMIT; -step read: SELECT * FROM accounts ORDER BY accountid; -accountid|balance|balance2 ----------+-------+-------- -savings | 600| 1200 -(1 row) - - -starting permutation: wx2 d1 c2 c1 read -step wx2: UPDATE accounts SET balance = balance + 450 WHERE accountid = 'checking' RETURNING balance; -balance -------- - 1050 -(1 row) - -step d1: DELETE FROM accounts WHERE accountid = 'checking' AND balance < 1500 RETURNING balance; -step c2: COMMIT; -step d1: <... completed> -balance -------- - 1050 -(1 row) - -step c1: COMMIT; -step read: SELECT * FROM accounts ORDER BY accountid; -accountid|balance|balance2 ----------+-------+-------- -savings | 600| 1200 -(1 row) - - -starting permutation: wx2 wx2 d1 c2 c1 read -step wx2: UPDATE accounts SET balance = balance + 450 WHERE accountid = 'checking' RETURNING balance; -balance -------- - 1050 -(1 row) - -step wx2: UPDATE accounts SET balance = balance + 450 WHERE accountid = 'checking' RETURNING balance; -balance -------- - 1500 -(1 row) - -step d1: DELETE FROM accounts WHERE accountid = 'checking' AND balance < 1500 RETURNING balance; -step c2: COMMIT; -step d1: <... completed> -balance -------- -(0 rows) - -step c1: COMMIT; -step read: SELECT * FROM accounts ORDER BY accountid; -accountid|balance|balance2 ----------+-------+-------- -checking | 1500| 3000 -savings | 600| 1200 -(2 rows) - - -starting permutation: wx2 d2 d1 c2 c1 read -step wx2: UPDATE accounts SET balance = balance + 450 WHERE accountid = 'checking' RETURNING balance; -balance -------- - 1050 -(1 row) - -step d2: DELETE FROM accounts WHERE accountid = 'checking'; -step d1: DELETE FROM accounts WHERE accountid = 'checking' AND balance < 1500 RETURNING balance; -step c2: COMMIT; -step d1: <... completed> -balance -------- -(0 rows) - -step c1: COMMIT; -step read: SELECT * FROM accounts ORDER BY accountid; -accountid|balance|balance2 ----------+-------+-------- -savings | 600| 1200 -(1 row) - - -starting permutation: wx1 d1 wx2 r1 c2 read -step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance; -balance -------- - 400 -(1 row) - -step d1: DELETE FROM accounts WHERE accountid = 'checking' AND balance < 1500 RETURNING balance; -balance -------- - 400 -(1 row) - -step wx2: UPDATE accounts SET balance = balance + 450 WHERE accountid = 'checking' RETURNING balance; -step r1: ROLLBACK; -step wx2: <... completed> -balance -------- - 1050 -(1 row) - -step c2: COMMIT; -step read: SELECT * FROM accounts ORDER BY accountid; -accountid|balance|balance2 ----------+-------+-------- -checking | 1050| 2100 -savings | 600| 1200 -(2 rows) - - -starting permutation: wx2 d1 r2 c1 read -step wx2: UPDATE accounts SET balance = balance + 450 WHERE accountid = 'checking' RETURNING balance; -balance -------- - 1050 -(1 row) - -step d1: DELETE FROM accounts WHERE accountid = 'checking' AND balance < 1500 RETURNING balance; -step r2: ROLLBACK; -step d1: <... completed> -balance -------- - 600 -(1 row) - -step c1: COMMIT; -step read: SELECT * FROM accounts ORDER BY accountid; -accountid|balance|balance2 ----------+-------+-------- -savings | 600| 1200 -(1 row) - - -starting permutation: wx2 wx2 d1 r2 c1 read -step wx2: UPDATE accounts SET balance = balance + 450 WHERE accountid = 'checking' RETURNING balance; -balance -------- - 1050 -(1 row) - -step wx2: UPDATE accounts SET balance = balance + 450 WHERE accountid = 'checking' RETURNING balance; -balance -------- - 1500 -(1 row) - -step d1: DELETE FROM accounts WHERE accountid = 'checking' AND balance < 1500 RETURNING balance; -step r2: ROLLBACK; -step d1: <... completed> -balance -------- - 600 -(1 row) - -step c1: COMMIT; -step read: SELECT * FROM accounts ORDER BY accountid; -accountid|balance|balance2 ----------+-------+-------- -savings | 600| 1200 -(1 row) - - -starting permutation: wx2 d2 d1 r2 c1 read -step wx2: UPDATE accounts SET balance = balance + 450 WHERE accountid = 'checking' RETURNING balance; -balance -------- - 1050 -(1 row) - -step d2: DELETE FROM accounts WHERE accountid = 'checking'; -step d1: DELETE FROM accounts WHERE accountid = 'checking' AND balance < 1500 RETURNING balance; -step r2: ROLLBACK; -step d1: <... completed> -balance -------- - 600 -(1 row) - -step c1: COMMIT; -step read: SELECT * FROM accounts ORDER BY accountid; -accountid|balance|balance2 ----------+-------+-------- -savings | 600| 1200 -(1 row) - - -starting permutation: d1 wx2 c1 c2 read -step d1: DELETE FROM accounts WHERE accountid = 'checking' AND balance < 1500 RETURNING balance; -balance -------- - 600 -(1 row) - -step wx2: UPDATE accounts SET balance = balance + 450 WHERE accountid = 'checking' RETURNING balance; -step c1: COMMIT; -step wx2: <... completed> -balance -------- -(0 rows) - -step c2: COMMIT; -step read: SELECT * FROM accounts ORDER BY accountid; -accountid|balance|balance2 ----------+-------+-------- -savings | 600| 1200 -(1 row) - - -starting permutation: d1 wx2 r1 c2 read -step d1: DELETE FROM accounts WHERE accountid = 'checking' AND balance < 1500 RETURNING balance; -balance -------- - 600 -(1 row) - -step wx2: UPDATE accounts SET balance = balance + 450 WHERE accountid = 'checking' RETURNING balance; -step r1: ROLLBACK; -step wx2: <... completed> -balance -------- - 1050 -(1 row) - -step c2: COMMIT; -step read: SELECT * FROM accounts ORDER BY accountid; -accountid|balance|balance2 ----------+-------+-------- -checking | 1050| 2100 -savings | 600| 1200 -(2 rows) - - -starting permutation: wnested2 c1 c2 read -s2: NOTICE: upid: text checking = text checking: t -s2: NOTICE: up: numeric 600 > numeric 200.0: t -s2: NOTICE: lock_id: text checking = text checking: t -s2: NOTICE: lock_bal: numeric 600 > numeric 200.0: t -s2: NOTICE: upid: text savings = text checking: f -step wnested2: - UPDATE accounts SET balance = balance - 1200 - WHERE noisy_oper('upid', accountid, '=', 'checking') - AND noisy_oper('up', balance, '>', 200.0) - AND EXISTS ( - SELECT accountid - FROM accounts_ext ae - WHERE noisy_oper('lock_id', ae.accountid, '=', accounts.accountid) - AND noisy_oper('lock_bal', ae.balance, '>', 200.0) - FOR UPDATE - ); - -step c1: COMMIT; -step c2: COMMIT; -step read: SELECT * FROM accounts ORDER BY accountid; -accountid|balance|balance2 ----------+-------+-------- -checking | -600| -1200 -savings | 600| 1200 -(2 rows) - - -starting permutation: wx1 wxext1 wnested2 c1 c2 read -step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance; -balance -------- - 400 -(1 row) - -step wxext1: UPDATE accounts_ext SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance; -balance -------- - 400 -(1 row) - -s2: NOTICE: upid: text checking = text checking: t -s2: NOTICE: up: numeric 600 > numeric 200.0: t -s2: NOTICE: lock_id: text checking = text checking: t -s2: NOTICE: lock_bal: numeric 600 > numeric 200.0: t -step wnested2: - UPDATE accounts SET balance = balance - 1200 - WHERE noisy_oper('upid', accountid, '=', 'checking') - AND noisy_oper('up', balance, '>', 200.0) - AND EXISTS ( - SELECT accountid - FROM accounts_ext ae - WHERE noisy_oper('lock_id', ae.accountid, '=', accounts.accountid) - AND noisy_oper('lock_bal', ae.balance, '>', 200.0) - FOR UPDATE - ); - -step c1: COMMIT; -s2: NOTICE: lock_id: text checking = text checking: t -s2: NOTICE: lock_bal: numeric 400 > numeric 200.0: t -s2: NOTICE: upid: text checking = text checking: t -s2: NOTICE: up: numeric 400 > numeric 200.0: t -s2: NOTICE: lock_id: text checking = text checking: t -s2: NOTICE: lock_bal: numeric 600 > numeric 200.0: t -s2: NOTICE: lock_id: text checking = text checking: t -s2: NOTICE: lock_bal: numeric 400 > numeric 200.0: t -s2: NOTICE: upid: text savings = text checking: f -step wnested2: <... completed> -step c2: COMMIT; -step read: SELECT * FROM accounts ORDER BY accountid; -accountid|balance|balance2 ----------+-------+-------- -checking | -800| -1600 -savings | 600| 1200 -(2 rows) - - -starting permutation: wx1 wx1 wxext1 wnested2 c1 c2 read -step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance; -balance -------- - 400 -(1 row) - -step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance; -balance -------- - 200 -(1 row) - -step wxext1: UPDATE accounts_ext SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance; -balance -------- - 400 -(1 row) - -s2: NOTICE: upid: text checking = text checking: t -s2: NOTICE: up: numeric 600 > numeric 200.0: t -s2: NOTICE: lock_id: text checking = text checking: t -s2: NOTICE: lock_bal: numeric 600 > numeric 200.0: t -step wnested2: - UPDATE accounts SET balance = balance - 1200 - WHERE noisy_oper('upid', accountid, '=', 'checking') - AND noisy_oper('up', balance, '>', 200.0) - AND EXISTS ( - SELECT accountid - FROM accounts_ext ae - WHERE noisy_oper('lock_id', ae.accountid, '=', accounts.accountid) - AND noisy_oper('lock_bal', ae.balance, '>', 200.0) - FOR UPDATE - ); - -step c1: COMMIT; -s2: NOTICE: lock_id: text checking = text checking: t -s2: NOTICE: lock_bal: numeric 400 > numeric 200.0: t -s2: NOTICE: upid: text checking = text checking: t -s2: NOTICE: up: numeric 200 > numeric 200.0: f -s2: NOTICE: upid: text savings = text checking: f -step wnested2: <... completed> -step c2: COMMIT; -step read: SELECT * FROM accounts ORDER BY accountid; -accountid|balance|balance2 ----------+-------+-------- -checking | 200| 400 -savings | 600| 1200 -(2 rows) - - -starting permutation: wx1 wx1 wxext1 wxext1 wnested2 c1 c2 read -step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance; -balance -------- - 400 -(1 row) - -step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance; -balance -------- - 200 -(1 row) - -step wxext1: UPDATE accounts_ext SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance; -balance -------- - 400 -(1 row) - -step wxext1: UPDATE accounts_ext SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance; -balance -------- - 200 -(1 row) - -s2: NOTICE: upid: text checking = text checking: t -s2: NOTICE: up: numeric 600 > numeric 200.0: t -s2: NOTICE: lock_id: text checking = text checking: t -s2: NOTICE: lock_bal: numeric 600 > numeric 200.0: t -step wnested2: - UPDATE accounts SET balance = balance - 1200 - WHERE noisy_oper('upid', accountid, '=', 'checking') - AND noisy_oper('up', balance, '>', 200.0) - AND EXISTS ( - SELECT accountid - FROM accounts_ext ae - WHERE noisy_oper('lock_id', ae.accountid, '=', accounts.accountid) - AND noisy_oper('lock_bal', ae.balance, '>', 200.0) - FOR UPDATE - ); - -step c1: COMMIT; -s2: NOTICE: lock_id: text checking = text checking: t -s2: NOTICE: lock_bal: numeric 200 > numeric 200.0: f -s2: NOTICE: lock_id: text savings = text checking: f -s2: NOTICE: upid: text savings = text checking: f -step wnested2: <... completed> -step c2: COMMIT; -step read: SELECT * FROM accounts ORDER BY accountid; -accountid|balance|balance2 ----------+-------+-------- -checking | 200| 400 -savings | 600| 1200 -(2 rows) - - -starting permutation: wx1 wxext1 wxext1 wnested2 c1 c2 read -step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance; -balance -------- - 400 -(1 row) - -step wxext1: UPDATE accounts_ext SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance; -balance -------- - 400 -(1 row) - -step wxext1: UPDATE accounts_ext SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance; -balance -------- - 200 -(1 row) - -s2: NOTICE: upid: text checking = text checking: t -s2: NOTICE: up: numeric 600 > numeric 200.0: t -s2: NOTICE: lock_id: text checking = text checking: t -s2: NOTICE: lock_bal: numeric 600 > numeric 200.0: t -step wnested2: - UPDATE accounts SET balance = balance - 1200 - WHERE noisy_oper('upid', accountid, '=', 'checking') - AND noisy_oper('up', balance, '>', 200.0) - AND EXISTS ( - SELECT accountid - FROM accounts_ext ae - WHERE noisy_oper('lock_id', ae.accountid, '=', accounts.accountid) - AND noisy_oper('lock_bal', ae.balance, '>', 200.0) - FOR UPDATE - ); - -step c1: COMMIT; -s2: NOTICE: lock_id: text checking = text checking: t -s2: NOTICE: lock_bal: numeric 200 > numeric 200.0: f -s2: NOTICE: lock_id: text savings = text checking: f -s2: NOTICE: upid: text savings = text checking: f -step wnested2: <... completed> -step c2: COMMIT; -step read: SELECT * FROM accounts ORDER BY accountid; -accountid|balance|balance2 ----------+-------+-------- -checking | 400| 800 -savings | 600| 1200 -(2 rows) - - -starting permutation: wx1 tocds1 wnested2 c1 c2 read -step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance; -balance -------- - 400 -(1 row) - -step tocds1: UPDATE accounts SET accountid = 'cds' WHERE accountid = 'checking'; -s2: NOTICE: upid: text checking = text checking: t -s2: NOTICE: up: numeric 600 > numeric 200.0: t -s2: NOTICE: lock_id: text checking = text checking: t -s2: NOTICE: lock_bal: numeric 600 > numeric 200.0: t -step wnested2: - UPDATE accounts SET balance = balance - 1200 - WHERE noisy_oper('upid', accountid, '=', 'checking') - AND noisy_oper('up', balance, '>', 200.0) - AND EXISTS ( - SELECT accountid - FROM accounts_ext ae - WHERE noisy_oper('lock_id', ae.accountid, '=', accounts.accountid) - AND noisy_oper('lock_bal', ae.balance, '>', 200.0) - FOR UPDATE - ); - -step c1: COMMIT; -s2: NOTICE: upid: text cds = text checking: f -s2: NOTICE: upid: text savings = text checking: f -step wnested2: <... completed> -step c2: COMMIT; -step read: SELECT * FROM accounts ORDER BY accountid; -accountid|balance|balance2 ----------+-------+-------- -cds | 400| 800 -savings | 600| 1200 -(2 rows) - - -starting permutation: wx1 tocdsext1 wnested2 c1 c2 read -step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance; -balance -------- - 400 -(1 row) - -step tocdsext1: UPDATE accounts_ext SET accountid = 'cds' WHERE accountid = 'checking'; -s2: NOTICE: upid: text checking = text checking: t -s2: NOTICE: up: numeric 600 > numeric 200.0: t -s2: NOTICE: lock_id: text checking = text checking: t -s2: NOTICE: lock_bal: numeric 600 > numeric 200.0: t -step wnested2: - UPDATE accounts SET balance = balance - 1200 - WHERE noisy_oper('upid', accountid, '=', 'checking') - AND noisy_oper('up', balance, '>', 200.0) - AND EXISTS ( - SELECT accountid - FROM accounts_ext ae - WHERE noisy_oper('lock_id', ae.accountid, '=', accounts.accountid) - AND noisy_oper('lock_bal', ae.balance, '>', 200.0) - FOR UPDATE - ); - -step c1: COMMIT; -s2: NOTICE: lock_id: text cds = text checking: f -s2: NOTICE: lock_id: text savings = text checking: f -s2: NOTICE: upid: text savings = text checking: f -step wnested2: <... completed> -step c2: COMMIT; -step read: SELECT * FROM accounts ORDER BY accountid; -accountid|balance|balance2 ----------+-------+-------- -checking | 400| 800 -savings | 600| 1200 -(2 rows) - - -starting permutation: wx1 updwcte c1 c2 read -step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance; -balance -------- - 400 -(1 row) - -step updwcte: WITH doup AS (UPDATE accounts SET balance = balance + 1100 WHERE accountid = 'checking' RETURNING *) UPDATE accounts a SET balance = doup.balance + 100 FROM doup RETURNING *; -step c1: COMMIT; -step updwcte: <... completed> -accountid|balance|balance2|accountid|balance|balance2 ----------+-------+--------+---------+-------+-------- -savings | 1600| 3200|checking | 1500| 3000 -(1 row) - -step c2: COMMIT; -step read: SELECT * FROM accounts ORDER BY accountid; -accountid|balance|balance2 ----------+-------+-------- -checking | 1500| 3000 -savings | 1600| 3200 -(2 rows) - - -starting permutation: wx1 updwctefail c1 c2 read -step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance; -balance -------- - 400 -(1 row) - -step updwctefail: WITH doup AS (UPDATE accounts SET balance = balance + 1100 WHERE accountid = 'checking' RETURNING *, update_checking(999)) UPDATE accounts a SET balance = doup.balance + 100 FROM doup RETURNING *; -step c1: COMMIT; -step updwctefail: <... completed> -ERROR: tuple to be updated was already modified by an operation triggered by the current command -step c2: COMMIT; -step read: SELECT * FROM accounts ORDER BY accountid; -accountid|balance|balance2 ----------+-------+-------- -checking | 400| 800 -savings | 600| 1200 -(2 rows) - - -starting permutation: wx1 delwcte c1 c2 read -step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance; -balance -------- - 400 -(1 row) - -step delwcte: WITH doup AS (UPDATE accounts SET balance = balance + 1100 WHERE accountid = 'checking' RETURNING *) DELETE FROM accounts a USING doup RETURNING *; -step c1: COMMIT; -step delwcte: <... completed> -accountid|balance|balance2|accountid|balance|balance2 ----------+-------+--------+---------+-------+-------- -savings | 600| 1200|checking | 1500| 3000 -(1 row) - -step c2: COMMIT; -step read: SELECT * FROM accounts ORDER BY accountid; -accountid|balance|balance2 ----------+-------+-------- -checking | 1500| 3000 -(1 row) - - -starting permutation: wx1 delwctefail c1 c2 read -step wx1: UPDATE accounts SET balance = balance - 200 WHERE accountid = 'checking' RETURNING balance; -balance -------- - 400 -(1 row) - -step delwctefail: WITH doup AS (UPDATE accounts SET balance = balance + 1100 WHERE accountid = 'checking' RETURNING *, update_checking(999)) DELETE FROM accounts a USING doup RETURNING *; -step c1: COMMIT; -step delwctefail: <... completed> -ERROR: tuple to be deleted was already modified by an operation triggered by the current command -step c2: COMMIT; -step read: SELECT * FROM accounts ORDER BY accountid; -accountid|balance|balance2 ----------+-------+-------- -checking | 400| 800 -savings | 600| 1200 -(2 rows) - - -starting permutation: read wx2 wb1 c2 c1 read -step read: SELECT * FROM accounts ORDER BY accountid; -accountid|balance|balance2 ----------+-------+-------- -checking | 600| 1200 -savings | 600| 1200 -(2 rows) - -step wx2: UPDATE accounts SET balance = balance + 450 WHERE accountid = 'checking' RETURNING balance; -balance -------- - 1050 -(1 row) - -step wb1: DELETE FROM accounts WHERE balance = 600 RETURNING *; -step c2: COMMIT; -step wb1: <... completed> -accountid|balance|balance2 ----------+-------+-------- -savings | 600| 1200 -(1 row) - -step c1: COMMIT; -step read: SELECT * FROM accounts ORDER BY accountid; -accountid|balance|balance2 ----------+-------+-------- -checking | 1050| 2100 -(1 row) - - -starting permutation: upsert1 upsert2 c1 c2 read -step upsert1: - WITH upsert AS - (UPDATE accounts SET balance = balance + 500 - WHERE accountid = 'savings' - RETURNING accountid) - INSERT INTO accounts SELECT 'savings', 500 - WHERE NOT EXISTS (SELECT 1 FROM upsert); - -step upsert2: - WITH upsert AS - (UPDATE accounts SET balance = balance + 1234 - WHERE accountid = 'savings' - RETURNING accountid) - INSERT INTO accounts SELECT 'savings', 1234 - WHERE NOT EXISTS (SELECT 1 FROM upsert); - -step c1: COMMIT; -step upsert2: <... completed> -step c2: COMMIT; -step read: SELECT * FROM accounts ORDER BY accountid; -accountid|balance|balance2 ----------+-------+-------- -checking | 600| 1200 -savings | 2334| 4668 -(2 rows) - - -starting permutation: readp1 writep1 readp2 c1 c2 -step readp1: SELECT tableoid::regclass, ctid, * FROM p WHERE b IN (0, 1) AND c = 0 FOR UPDATE; -tableoid|ctid |a|b|c ---------+-----+-+-+- -c1 |(0,1)|0|0|0 -c1 |(0,4)|0|1|0 -c2 |(0,1)|1|0|0 -c2 |(0,4)|1|1|0 -c3 |(0,1)|2|0|0 -c3 |(0,4)|2|1|0 -(6 rows) - -step writep1: UPDATE p SET b = -1 WHERE a = 1 AND b = 1 AND c = 0; -step readp2: SELECT tableoid::regclass, ctid, * FROM p WHERE b IN (0, 1) AND c = 0 FOR UPDATE; -step c1: COMMIT; -step readp2: <... completed> -tableoid|ctid |a|b|c ---------+-----+-+-+- -c1 |(0,1)|0|0|0 -c1 |(0,4)|0|1|0 -c2 |(0,1)|1|0|0 -c3 |(0,1)|2|0|0 -c3 |(0,4)|2|1|0 -(5 rows) - -step c2: COMMIT; - -starting permutation: writep2 returningp1 c1 c2 -step writep2: UPDATE p SET b = -b WHERE a = 1 AND c = 0; -step returningp1: - WITH u AS ( UPDATE p SET b = b WHERE a > 0 RETURNING * ) - SELECT * FROM u; - -step c1: COMMIT; -step returningp1: <... completed> -a| b|c --+--+- -1| 0|0 -1| 0|1 -1| 0|2 -1|-1|0 -1| 1|1 -1| 1|2 -1|-2|0 -1| 2|1 -1| 2|2 -1|-3|0 -2| 0|0 -2| 0|1 -2| 0|2 -2| 1|0 -2| 1|1 -2| 1|2 -2| 2|0 -2| 2|1 -2| 2|2 -2| 3|0 -(20 rows) - -step c2: COMMIT; - -starting permutation: writep3a writep3b c1 c2 -step writep3a: UPDATE p SET b = -b WHERE c = 0; -step writep3b: UPDATE p SET b = -b WHERE c = 0; -step c1: COMMIT; -step writep3b: <... completed> -step c2: COMMIT; - -starting permutation: writep4a writep4b c1 c2 readp -step writep4a: UPDATE p SET c = 4 WHERE c = 0; -step writep4b: UPDATE p SET b = -4 WHERE c = 0; -step c1: COMMIT; -step writep4b: <... completed> -step c2: COMMIT; -step readp: SELECT tableoid::regclass, ctid, * FROM p; -tableoid|ctid |a|b|c ---------+------+-+-+- -c1 |(0,2) |0|0|1 -c1 |(0,3) |0|0|2 -c1 |(0,5) |0|1|1 -c1 |(0,6) |0|1|2 -c1 |(0,8) |0|2|1 -c1 |(0,9) |0|2|2 -c1 |(0,11)|0|0|4 -c1 |(0,12)|0|1|4 -c1 |(0,13)|0|2|4 -c1 |(0,14)|0|3|4 -c2 |(0,2) |1|0|1 -c2 |(0,3) |1|0|2 -c2 |(0,5) |1|1|1 -c2 |(0,6) |1|1|2 -c2 |(0,8) |1|2|1 -c2 |(0,9) |1|2|2 -c2 |(0,11)|1|0|4 -c2 |(0,12)|1|1|4 -c2 |(0,13)|1|2|4 -c2 |(0,14)|1|3|4 -c3 |(0,2) |2|0|1 -c3 |(0,3) |2|0|2 -c3 |(0,5) |2|1|1 -c3 |(0,6) |2|1|2 -c3 |(0,8) |2|2|1 -c3 |(0,9) |2|2|2 -c3 |(0,11)|2|0|4 -c3 |(0,12)|2|1|4 -c3 |(0,13)|2|2|4 -c3 |(0,14)|2|3|4 -(30 rows) - - -starting permutation: writep4a deletep4 c1 c2 readp -step writep4a: UPDATE p SET c = 4 WHERE c = 0; -step deletep4: DELETE FROM p WHERE c = 0; -step c1: COMMIT; -step deletep4: <... completed> -step c2: COMMIT; -step readp: SELECT tableoid::regclass, ctid, * FROM p; -tableoid|ctid |a|b|c ---------+------+-+-+- -c1 |(0,2) |0|0|1 -c1 |(0,3) |0|0|2 -c1 |(0,5) |0|1|1 -c1 |(0,6) |0|1|2 -c1 |(0,8) |0|2|1 -c1 |(0,9) |0|2|2 -c1 |(0,11)|0|0|4 -c1 |(0,12)|0|1|4 -c1 |(0,13)|0|2|4 -c1 |(0,14)|0|3|4 -c2 |(0,2) |1|0|1 -c2 |(0,3) |1|0|2 -c2 |(0,5) |1|1|1 -c2 |(0,6) |1|1|2 -c2 |(0,8) |1|2|1 -c2 |(0,9) |1|2|2 -c2 |(0,11)|1|0|4 -c2 |(0,12)|1|1|4 -c2 |(0,13)|1|2|4 -c2 |(0,14)|1|3|4 -c3 |(0,2) |2|0|1 -c3 |(0,3) |2|0|2 -c3 |(0,5) |2|1|1 -c3 |(0,6) |2|1|2 -c3 |(0,8) |2|2|1 -c3 |(0,9) |2|2|2 -c3 |(0,11)|2|0|4 -c3 |(0,12)|2|1|4 -c3 |(0,13)|2|2|4 -c3 |(0,14)|2|3|4 -(30 rows) - - -starting permutation: wx2 partiallock c2 c1 read -step wx2: UPDATE accounts SET balance = balance + 450 WHERE accountid = 'checking' RETURNING balance; -balance -------- - 1050 -(1 row) - -step partiallock: - SELECT * FROM accounts a1, accounts a2 - WHERE a1.accountid = a2.accountid - FOR UPDATE OF a1; - -step c2: COMMIT; -step partiallock: <... completed> -accountid|balance|balance2|accountid|balance|balance2 ----------+-------+--------+---------+-------+-------- -checking | 1050| 2100|checking | 600| 1200 -savings | 600| 1200|savings | 600| 1200 -(2 rows) - -step c1: COMMIT; -step read: SELECT * FROM accounts ORDER BY accountid; -accountid|balance|balance2 ----------+-------+-------- -checking | 1050| 2100 -savings | 600| 1200 -(2 rows) - - -starting permutation: wx2 lockwithvalues c2 c1 read -step wx2: UPDATE accounts SET balance = balance + 450 WHERE accountid = 'checking' RETURNING balance; -balance -------- - 1050 -(1 row) - -step lockwithvalues: - -- Reference rowmark column that differs in type from targetlist at some attno. - -- See CAHU7rYZo_C4ULsAx_LAj8az9zqgrD8WDd4hTegDTMM1LMqrBsg@mail.gmail.com - SELECT a1.*, v.id FROM accounts a1, (values('checking'::text, 'nan'::text),('savings', 'nan')) v(id, notnumeric) - WHERE a1.accountid = v.id AND v.notnumeric != 'einszwei' - FOR UPDATE OF a1; - -step c2: COMMIT; -step lockwithvalues: <... completed> -accountid|balance|balance2|id ----------+-------+--------+-------- -checking | 1050| 2100|checking -savings | 600| 1200|savings -(2 rows) - -step c1: COMMIT; -step read: SELECT * FROM accounts ORDER BY accountid; -accountid|balance|balance2 ----------+-------+-------- -checking | 1050| 2100 -savings | 600| 1200 -(2 rows) - - -starting permutation: wx2_ext partiallock_ext c2 c1 read_ext -step wx2_ext: UPDATE accounts_ext SET balance = balance + 450; -step partiallock_ext: - SELECT * FROM accounts_ext a1, accounts_ext a2 - WHERE a1.accountid = a2.accountid - FOR UPDATE OF a1; - -step c2: COMMIT; -step partiallock_ext: <... completed> -accountid|balance|other|newcol|newcol2|accountid|balance|other|newcol|newcol2 ----------+-------+-----+------+-------+---------+-------+-----+------+------- -checking | 1050|other| 42| |checking | 600|other| 42| -savings | 1150| | 42| |savings | 700| | 42| -(2 rows) - -step c1: COMMIT; -step read_ext: SELECT * FROM accounts_ext ORDER BY accountid; -accountid|balance|other|newcol|newcol2 ----------+-------+-----+------+------- -checking | 1050|other| 42| -savings | 1150| | 42| -(2 rows) - - -starting permutation: updateforss readforss c1 c2 -step updateforss: - UPDATE table_a SET value = 'newTableAValue' WHERE id = 1; - UPDATE table_b SET value = 'newTableBValue' WHERE id = 1; - -step readforss: - SELECT ta.id AS ta_id, ta.value AS ta_value, - (SELECT ROW(tb.id, tb.value) - FROM table_b tb WHERE ta.id = tb.id) AS tb_row - FROM table_a ta - WHERE ta.id = 1 FOR UPDATE OF ta; - -step c1: COMMIT; -step readforss: <... completed> -ta_id|ta_value |tb_row ------+--------------+--------------- - 1|newTableAValue|(1,tableBValue) -(1 row) - -step c2: COMMIT; - -starting permutation: updateforcip updateforcip2 c1 c2 read_a -step updateforcip: - UPDATE table_a SET value = NULL WHERE id = 1; - -step updateforcip2: - UPDATE table_a SET value = COALESCE(value, (SELECT text 'newValue')) WHERE id = 1; - -step c1: COMMIT; -step updateforcip2: <... completed> -step c2: COMMIT; -step read_a: SELECT * FROM table_a ORDER BY id; -id|value ---+-------- - 1|newValue -(1 row) - - -starting permutation: updateforcip updateforcip3 c1 c2 read_a -step updateforcip: - UPDATE table_a SET value = NULL WHERE id = 1; - -step updateforcip3: - WITH d(val) AS (SELECT text 'newValue' FROM generate_series(1,1)) - UPDATE table_a SET value = COALESCE(value, (SELECT val FROM d)) WHERE id = 1; - -step c1: COMMIT; -step updateforcip3: <... completed> -step c2: COMMIT; -step read_a: SELECT * FROM table_a ORDER BY id; -id|value ---+-------- - 1|newValue -(1 row) - - -starting permutation: wrtwcte readwcte c1 c2 -step wrtwcte: UPDATE table_a SET value = 'tableAValue2' WHERE id = 1; -step readwcte: - WITH - cte1 AS ( - SELECT id FROM table_b WHERE value = 'tableBValue' - ), - cte2 AS ( - SELECT * FROM table_a - WHERE id = (SELECT id FROM cte1) - FOR UPDATE - ) - SELECT * FROM cte2; - -step c1: COMMIT; -step c2: COMMIT; -step readwcte: <... completed> -id|value ---+------------ - 1|tableAValue2 -(1 row) - - -starting permutation: wrjt selectjoinforupdate c2 c1 -step wrjt: UPDATE jointest SET data = 42 WHERE id = 7; -step selectjoinforupdate: - set local enable_nestloop to 0; - set local enable_hashjoin to 0; - set local enable_seqscan to 0; - explain (costs off) - select * from jointest a join jointest b on a.id=b.id for update; - select * from jointest a join jointest b on a.id=b.id for update; - -step c2: COMMIT; -step selectjoinforupdate: <... completed> -QUERY PLAN ----------------------------------------------------------- -LockRows - -> Merge Join - Merge Cond: (a.id = b.id) - -> Index Scan using jointest_id_idx on jointest a - -> Index Scan using jointest_id_idx on jointest b -(5 rows) - -id|data|id|data ---+----+--+---- - 1| 0| 1| 0 - 2| 0| 2| 0 - 3| 0| 3| 0 - 4| 0| 4| 0 - 5| 0| 5| 0 - 6| 0| 6| 0 - 7| 42| 7| 42 - 8| 0| 8| 0 - 9| 0| 9| 0 -10| 0|10| 0 -(10 rows) - -step c1: COMMIT; - -starting permutation: wrjt selectresultforupdate c2 c1 -step wrjt: UPDATE jointest SET data = 42 WHERE id = 7; -step selectresultforupdate: - select * from (select 1 as x) ss1 join (select 7 as y) ss2 on true - left join table_a a on a.id = x, jointest jt - where jt.id = y; - explain (verbose, costs off) - select * from (select 1 as x) ss1 join (select 7 as y) ss2 on true - left join table_a a on a.id = x, jointest jt - where jt.id = y for update of jt, ss1, ss2; - select * from (select 1 as x) ss1 join (select 7 as y) ss2 on true - left join table_a a on a.id = x, jointest jt - where jt.id = y for update of jt, ss1, ss2; - -step c2: COMMIT; -step selectresultforupdate: <... completed> -x|y|id|value |id|data --+-+--+-----------+--+---- -1|7| 1|tableAValue| 7| 0 -(1 row) - -QUERY PLAN --------------------------------------------------------------------- -LockRows - Output: 1, 7, a.id, a.value, jt.id, jt.data, jt.ctid, a.ctid - -> Nested Loop Left Join - Output: 1, 7, a.id, a.value, jt.id, jt.data, jt.ctid, a.ctid - -> Nested Loop - Output: jt.id, jt.data, jt.ctid - -> Seq Scan on public.jointest jt - Output: jt.id, jt.data, jt.ctid - Filter: (jt.id = 7) - -> Result - -> Seq Scan on public.table_a a - Output: a.id, a.value, a.ctid - Filter: (a.id = 1) -(13 rows) - -x|y|id|value |id|data --+-+--+-----------+--+---- -1|7| 1|tableAValue| 7| 42 -(1 row) - -step c1: COMMIT; - -starting permutation: wrtwcte multireadwcte c1 c2 -step wrtwcte: UPDATE table_a SET value = 'tableAValue2' WHERE id = 1; -step multireadwcte: - WITH updated AS ( - UPDATE table_a SET value = 'tableAValue3' WHERE id = 1 RETURNING id - ) - SELECT (SELECT id FROM updated) AS subid, * FROM updated; - -step c1: COMMIT; -step c2: COMMIT; -step multireadwcte: <... completed> -subid|id ------+-- - 1| 1 -(1 row) - - -starting permutation: simplepartupdate conditionalpartupdate c1 c2 read_part -step simplepartupdate: - update parttbl set b = b + 10; - -step conditionalpartupdate: - update parttbl set c = -c where b < 10; - -step c1: COMMIT; -step conditionalpartupdate: <... completed> -step c2: COMMIT; -step read_part: SELECT * FROM parttbl ORDER BY a, c; -a| b|c| d --+--+-+---- -1|11|1| 12 -2|12|2|1014 -(2 rows) - - -starting permutation: simplepartupdate complexpartupdate c1 c2 read_part -step simplepartupdate: - update parttbl set b = b + 10; - -step complexpartupdate: - with u as (update parttbl set b = b + 1 returning parttbl.*) - update parttbl p set b = u.b + 100 from u where p.a = u.a; - -step c1: COMMIT; -step complexpartupdate: <... completed> -step c2: COMMIT; -step read_part: SELECT * FROM parttbl ORDER BY a, c; -a| b|c| d --+--+-+---- -1|12|1| 13 -2|13|2|1015 -(2 rows) - - -starting permutation: simplepartupdate_route1to2 complexpartupdate_route_err1 c1 c2 read_part -step simplepartupdate_route1to2: - update parttbl set a = 2 where c = 1 returning *; - -a|b|c| d --+-+-+---- -2|1|1|1003 -(1 row) - -step complexpartupdate_route_err1: - with u as (update another_parttbl set a = 1 returning another_parttbl.*) - update parttbl p set a = u.a from u where p.a = u.a and p.c = 1 returning p.*; - -step c1: COMMIT; -step complexpartupdate_route_err1: <... completed> -ERROR: tuple to be locked was already moved to another partition due to concurrent update -step c2: COMMIT; -step read_part: SELECT * FROM parttbl ORDER BY a, c; -a|b|c| d --+-+-+---- -2|1|1|1003 -2|2|2|1004 -(2 rows) - - -starting permutation: simplepartupdate_noroute complexpartupdate_route c1 c2 read_part -step simplepartupdate_noroute: - update parttbl set b = 2 where c = 1 returning *; - -a|b|c|d --+-+-+- -1|2|1|3 -(1 row) - -step complexpartupdate_route: - with u as (update another_parttbl set a = 1 returning another_parttbl.*) - update parttbl p set a = p.b from u where p.a = u.a and p.c = 1 returning p.*; - -step c1: COMMIT; -step complexpartupdate_route: <... completed> -a|b|c| d --+-+-+---- -2|2|1|1004 -(1 row) - -step c2: COMMIT; -step read_part: SELECT * FROM parttbl ORDER BY a, c; -a|b|c| d --+-+-+---- -2|2|1|1004 -2|2|2|1004 -(2 rows) - - -starting permutation: simplepartupdate_noroute complexpartupdate_doesnt_route c1 c2 read_part -step simplepartupdate_noroute: - update parttbl set b = 2 where c = 1 returning *; - -a|b|c|d --+-+-+- -1|2|1|3 -(1 row) - -step complexpartupdate_doesnt_route: - with u as (update another_parttbl set a = 1 returning another_parttbl.*) - update parttbl p set a = 3 - p.b from u where p.a = u.a and p.c = 1 returning p.*; - -step c1: COMMIT; -step complexpartupdate_doesnt_route: <... completed> -a|b|c|d --+-+-+- -1|2|1|3 -(1 row) - -step c2: COMMIT; -step read_part: SELECT * FROM parttbl ORDER BY a, c; -a|b|c| d --+-+-+---- -1|2|1| 3 -2|2|2|1004 -(2 rows) - +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/eval-plan-qual-trigger.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/eval-plan-qual-trigger.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/eval-plan-qual-trigger.out 2024-03-29 10:06:51.875270895 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/eval-plan-qual-trigger.out 2024-03-29 10:13:19.635275295 +0000 @@ -5,2730 +5,5 @@ unused step name: s3_r unused step name: s3_upd_a_data Parsed test spec with 4 sessions - -starting permutation: s1_trig_rep_b_u s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_upd_a_data s1_c s2_upd_a_data s2_c s0_rep -step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *; -key |data ------+-------- -key-b|val-b-s1 -(1 row) - -step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: upd: text key-a = text key-a: t -s1: NOTICE: upk: text val-a-s1 <> text mismatch: t -s1: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1) -s1: NOTICE: upd: text key-b = text key-a: f -s1: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1) -step s1_upd_a_data: - UPDATE trigtest SET data = data || '-ups1' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -key |data ------+------------- -key-a|val-a-s1-ups1 -(1 row) - -step s1_c: COMMIT; -s2: NOTICE: upd: text key-b = text key-a: f -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1-ups1 <> text mismatch: t -s2: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1-ups1) new: (key-a,val-a-s1-ups1-ups2) -s2: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1-ups1) new: (key-a,val-a-s1-ups1-ups2) -step s2_upd_a_data: - UPDATE trigtest SET data = data || '-ups2' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -key |data ------+------------------ -key-a|val-a-s1-ups1-ups2 -(1 row) - -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+------------------ -key-a|val-a-s1-ups1-ups2 -key-b|val-b-s1 -(2 rows) - - -starting permutation: s1_trig_rep_b_u s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_upd_a_data s1_r s2_upd_a_data s2_c s0_rep -step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *; -key |data ------+-------- -key-b|val-b-s1 -(1 row) - -step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: upd: text key-a = text key-a: t -s1: NOTICE: upk: text val-a-s1 <> text mismatch: t -s1: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1) -s1: NOTICE: upd: text key-b = text key-a: f -s1: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1) -step s1_upd_a_data: - UPDATE trigtest SET data = data || '-ups1' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -key |data ------+------------- -key-a|val-a-s1-ups1 -(1 row) - -step s1_r: ROLLBACK; -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1 <> text mismatch: t -s2: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups2) -s2: NOTICE: upd: text key-b = text key-a: f -s2: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups2) -step s2_upd_a_data: - UPDATE trigtest SET data = data || '-ups2' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -key |data ------+------------- -key-a|val-a-s1-ups2 -(1 row) - -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+------------- -key-a|val-a-s1-ups2 -key-b|val-b-s1 -(2 rows) - - -starting permutation: s1_trig_rep_b_d s1_trig_rep_b_u s1_trig_rep_a_d s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_upd_a_data s1_c s2_del_a s2_c s0_rep -step s1_trig_rep_b_d: CREATE TRIGGER rep_b_d BEFORE DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *; -key |data ------+-------- -key-b|val-b-s1 -(1 row) - -step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: upd: text key-a = text key-a: t -s1: NOTICE: upk: text val-a-s1 <> text mismatch: t -s1: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1) -s1: NOTICE: upd: text key-b = text key-a: f -s1: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1) -step s1_upd_a_data: - UPDATE trigtest SET data = data || '-ups1' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -key |data ------+------------- -key-a|val-a-s1-ups1 -(1 row) - -step s1_c: COMMIT; -s2: NOTICE: upd: text key-b = text key-a: f -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1-ups1 <> text mismatch: t -s2: NOTICE: trigger: name rep_b_d; when: BEFORE; lev: ROWs; op: DELETE; old: (key-a,val-a-s1-ups1) new: -s2: NOTICE: trigger: name rep_a_d; when: AFTER; lev: ROWs; op: DELETE; old: (key-a,val-a-s1-ups1) new: -step s2_del_a: - DELETE FROM trigtest - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING * - -key |data ------+------------- -key-a|val-a-s1-ups1 -(1 row) - -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+-------- -key-b|val-b-s1 -(1 row) - - -starting permutation: s1_trig_rep_b_d s1_trig_rep_b_u s1_trig_rep_a_d s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_upd_a_data s1_r s2_del_a s2_c s0_rep -step s1_trig_rep_b_d: CREATE TRIGGER rep_b_d BEFORE DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *; -key |data ------+-------- -key-b|val-b-s1 -(1 row) - -step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: upd: text key-a = text key-a: t -s1: NOTICE: upk: text val-a-s1 <> text mismatch: t -s1: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1) -s1: NOTICE: upd: text key-b = text key-a: f -s1: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1) -step s1_upd_a_data: - UPDATE trigtest SET data = data || '-ups1' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -key |data ------+------------- -key-a|val-a-s1-ups1 -(1 row) - -step s1_r: ROLLBACK; -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1 <> text mismatch: t -s2: NOTICE: trigger: name rep_b_d; when: BEFORE; lev: ROWs; op: DELETE; old: (key-a,val-a-s1) new: -s2: NOTICE: upd: text key-b = text key-a: f -s2: NOTICE: trigger: name rep_a_d; when: AFTER; lev: ROWs; op: DELETE; old: (key-a,val-a-s1) new: -step s2_del_a: - DELETE FROM trigtest - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING * - -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+-------- -key-b|val-b-s1 -(1 row) - - -starting permutation: s1_trig_rep_b_u s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_upd_a_data s2_upd_a_data s1_c s2_c s0_rep -step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *; -key |data ------+-------- -key-b|val-b-s1 -(1 row) - -step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: upd: text key-a = text key-a: t -s1: NOTICE: upk: text val-a-s1 <> text mismatch: t -s1: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1) -s1: NOTICE: upd: text key-b = text key-a: f -s1: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1) -step s1_upd_a_data: - UPDATE trigtest SET data = data || '-ups1' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -key |data ------+------------- -key-a|val-a-s1-ups1 -(1 row) - -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1 <> text mismatch: t -step s2_upd_a_data: - UPDATE trigtest SET data = data || '-ups2' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -step s1_c: COMMIT; -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1-ups1 <> text mismatch: t -s2: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1-ups1) new: (key-a,val-a-s1-ups1-ups2) -s2: NOTICE: upd: text key-b = text key-a: f -s2: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1-ups1) new: (key-a,val-a-s1-ups1-ups2) -step s2_upd_a_data: <... completed> -key |data ------+------------------ -key-a|val-a-s1-ups1-ups2 -(1 row) - -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+------------------ -key-a|val-a-s1-ups1-ups2 -key-b|val-b-s1 -(2 rows) - - -starting permutation: s1_trig_rep_b_u s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_upd_a_data s2_upd_a_data s1_r s2_c s0_rep -step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *; -key |data ------+-------- -key-b|val-b-s1 -(1 row) - -step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: upd: text key-a = text key-a: t -s1: NOTICE: upk: text val-a-s1 <> text mismatch: t -s1: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1) -s1: NOTICE: upd: text key-b = text key-a: f -s1: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1) -step s1_upd_a_data: - UPDATE trigtest SET data = data || '-ups1' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -key |data ------+------------- -key-a|val-a-s1-ups1 -(1 row) - -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1 <> text mismatch: t -step s2_upd_a_data: - UPDATE trigtest SET data = data || '-ups2' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -step s1_r: ROLLBACK; -s2: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups2) -s2: NOTICE: upd: text key-b = text key-a: f -s2: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups2) -step s2_upd_a_data: <... completed> -key |data ------+------------- -key-a|val-a-s1-ups2 -(1 row) - -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+------------- -key-a|val-a-s1-ups2 -key-b|val-b-s1 -(2 rows) - - -starting permutation: s1_trig_rep_b_d s1_trig_rep_b_u s1_trig_rep_a_d s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_upd_a_data s2_upd_a_data s1_c s2_c s0_rep -step s1_trig_rep_b_d: CREATE TRIGGER rep_b_d BEFORE DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *; -key |data ------+-------- -key-b|val-b-s1 -(1 row) - -step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: upd: text key-a = text key-a: t -s1: NOTICE: upk: text val-a-s1 <> text mismatch: t -s1: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1) -s1: NOTICE: upd: text key-b = text key-a: f -s1: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1) -step s1_upd_a_data: - UPDATE trigtest SET data = data || '-ups1' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -key |data ------+------------- -key-a|val-a-s1-ups1 -(1 row) - -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1 <> text mismatch: t -step s2_upd_a_data: - UPDATE trigtest SET data = data || '-ups2' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -step s1_c: COMMIT; -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1-ups1 <> text mismatch: t -s2: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1-ups1) new: (key-a,val-a-s1-ups1-ups2) -s2: NOTICE: upd: text key-b = text key-a: f -s2: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1-ups1) new: (key-a,val-a-s1-ups1-ups2) -step s2_upd_a_data: <... completed> -key |data ------+------------------ -key-a|val-a-s1-ups1-ups2 -(1 row) - -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+------------------ -key-a|val-a-s1-ups1-ups2 -key-b|val-b-s1 -(2 rows) - - -starting permutation: s1_trig_rep_b_d s1_trig_rep_b_u s1_trig_rep_a_d s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_upd_a_data s2_upd_a_data s1_r s2_c s0_rep -step s1_trig_rep_b_d: CREATE TRIGGER rep_b_d BEFORE DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *; -key |data ------+-------- -key-b|val-b-s1 -(1 row) - -step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: upd: text key-a = text key-a: t -s1: NOTICE: upk: text val-a-s1 <> text mismatch: t -s1: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1) -s1: NOTICE: upd: text key-b = text key-a: f -s1: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1) -step s1_upd_a_data: - UPDATE trigtest SET data = data || '-ups1' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -key |data ------+------------- -key-a|val-a-s1-ups1 -(1 row) - -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1 <> text mismatch: t -step s2_upd_a_data: - UPDATE trigtest SET data = data || '-ups2' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -step s1_r: ROLLBACK; -s2: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups2) -s2: NOTICE: upd: text key-b = text key-a: f -s2: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups2) -step s2_upd_a_data: <... completed> -key |data ------+------------- -key-a|val-a-s1-ups2 -(1 row) - -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+------------- -key-a|val-a-s1-ups2 -key-b|val-b-s1 -(2 rows) - - -starting permutation: s1_trig_rep_b_d s1_trig_rep_b_u s1_trig_rep_a_d s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_del_a s2_upd_a_data s1_c s2_c s0_rep -step s1_trig_rep_b_d: CREATE TRIGGER rep_b_d BEFORE DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *; -key |data ------+-------- -key-b|val-b-s1 -(1 row) - -step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: upd: text key-a = text key-a: t -s1: NOTICE: upk: text val-a-s1 <> text mismatch: t -s1: NOTICE: trigger: name rep_b_d; when: BEFORE; lev: ROWs; op: DELETE; old: (key-a,val-a-s1) new: -s1: NOTICE: upd: text key-b = text key-a: f -s1: NOTICE: trigger: name rep_a_d; when: AFTER; lev: ROWs; op: DELETE; old: (key-a,val-a-s1) new: -step s1_del_a: - DELETE FROM trigtest - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING * - -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1 <> text mismatch: t -step s2_upd_a_data: - UPDATE trigtest SET data = data || '-ups2' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -step s1_c: COMMIT; -s2: NOTICE: upd: text key-b = text key-a: f -step s2_upd_a_data: <... completed> -key|data ----+---- -(0 rows) - -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+-------- -key-b|val-b-s1 -(1 row) - - -starting permutation: s1_trig_rep_b_d s1_trig_rep_b_u s1_trig_rep_a_d s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_del_a s2_upd_a_data s1_r s2_c s0_rep -step s1_trig_rep_b_d: CREATE TRIGGER rep_b_d BEFORE DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *; -key |data ------+-------- -key-b|val-b-s1 -(1 row) - -step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: upd: text key-a = text key-a: t -s1: NOTICE: upk: text val-a-s1 <> text mismatch: t -s1: NOTICE: trigger: name rep_b_d; when: BEFORE; lev: ROWs; op: DELETE; old: (key-a,val-a-s1) new: -s1: NOTICE: upd: text key-b = text key-a: f -s1: NOTICE: trigger: name rep_a_d; when: AFTER; lev: ROWs; op: DELETE; old: (key-a,val-a-s1) new: -step s1_del_a: - DELETE FROM trigtest - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING * - -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1 <> text mismatch: t -step s2_upd_a_data: - UPDATE trigtest SET data = data || '-ups2' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -step s1_r: ROLLBACK; -s2: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups2) -s2: NOTICE: upd: text key-b = text key-a: f -s2: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups2) -step s2_upd_a_data: <... completed> -key |data ------+------------- -key-a|val-a-s1-ups2 -(1 row) - -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+------------- -key-a|val-a-s1-ups2 -key-b|val-b-s1 -(2 rows) - - -starting permutation: s1_trig_rep_b_i s1_trig_rep_b_d s1_trig_rep_a_i s1_trig_rep_a_d s1_b_rc s2_b_rc s1_ins_a s2_ins_a s1_c s2_c s0_rep -step s1_trig_rep_b_i: CREATE TRIGGER rep_b_i BEFORE INSERT ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_b_d: CREATE TRIGGER rep_b_d BEFORE DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_i: CREATE TRIGGER rep_a_i AFTER INSERT ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: trigger: name rep_b_i; when: BEFORE; lev: ROWs; op: INSERT; old: new: (key-a,val-a-s1) -s1: NOTICE: trigger: name rep_a_i; when: AFTER; lev: ROWs; op: INSERT; old: new: (key-a,val-a-s1) -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -s2: NOTICE: trigger: name rep_b_i; when: BEFORE; lev: ROWs; op: INSERT; old: new: (key-a,val-a-s2) -step s2_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s2') RETURNING *; -step s1_c: COMMIT; -step s2_ins_a: <... completed> -ERROR: duplicate key value violates unique constraint "trigtest_pkey" -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+-------- -key-a|val-a-s1 -(1 row) - - -starting permutation: s1_trig_rep_b_i s1_trig_rep_b_d s1_trig_rep_a_i s1_trig_rep_a_d s1_b_rc s2_b_rc s1_ins_a s2_ins_a s1_r s2_c s0_rep -step s1_trig_rep_b_i: CREATE TRIGGER rep_b_i BEFORE INSERT ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_b_d: CREATE TRIGGER rep_b_d BEFORE DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_i: CREATE TRIGGER rep_a_i AFTER INSERT ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: trigger: name rep_b_i; when: BEFORE; lev: ROWs; op: INSERT; old: new: (key-a,val-a-s1) -s1: NOTICE: trigger: name rep_a_i; when: AFTER; lev: ROWs; op: INSERT; old: new: (key-a,val-a-s1) -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -s2: NOTICE: trigger: name rep_b_i; when: BEFORE; lev: ROWs; op: INSERT; old: new: (key-a,val-a-s2) -step s2_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s2') RETURNING *; -step s1_r: ROLLBACK; -s2: NOTICE: trigger: name rep_a_i; when: AFTER; lev: ROWs; op: INSERT; old: new: (key-a,val-a-s2) -step s2_ins_a: <... completed> -key |data ------+-------- -key-a|val-a-s2 -(1 row) - -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+-------- -key-a|val-a-s2 -(1 row) - - -starting permutation: s1_trig_rep_b_i s1_trig_rep_b_d s1_trig_rep_b_u s1_trig_rep_a_i s1_trig_rep_a_d s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_upd_a_data s2_upsert_a_data s1_c s2_c s0_rep -step s1_trig_rep_b_i: CREATE TRIGGER rep_b_i BEFORE INSERT ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_b_d: CREATE TRIGGER rep_b_d BEFORE DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_i: CREATE TRIGGER rep_a_i AFTER INSERT ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -s1: NOTICE: trigger: name rep_b_i; when: BEFORE; lev: ROWs; op: INSERT; old: new: (key-a,val-a-s1) -s1: NOTICE: trigger: name rep_a_i; when: AFTER; lev: ROWs; op: INSERT; old: new: (key-a,val-a-s1) -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -s1: NOTICE: trigger: name rep_b_i; when: BEFORE; lev: ROWs; op: INSERT; old: new: (key-b,val-b-s1) -s1: NOTICE: trigger: name rep_a_i; when: AFTER; lev: ROWs; op: INSERT; old: new: (key-b,val-b-s1) -step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *; -key |data ------+-------- -key-b|val-b-s1 -(1 row) - -step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: upd: text key-a = text key-a: t -s1: NOTICE: upk: text val-a-s1 <> text mismatch: t -s1: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1) -s1: NOTICE: upd: text key-b = text key-a: f -s1: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1) -step s1_upd_a_data: - UPDATE trigtest SET data = data || '-ups1' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -key |data ------+------------- -key-a|val-a-s1-ups1 -(1 row) - -s2: NOTICE: trigger: name rep_b_i; when: BEFORE; lev: ROWs; op: INSERT; old: new: (key-a,val-a-upss2) -step s2_upsert_a_data: - INSERT INTO trigtest VALUES ('key-a', 'val-a-upss2') - ON CONFLICT (key) - DO UPDATE SET data = trigtest.data || '-upserts2' - WHERE - noisy_oper('upd', trigtest.key, '=', 'key-a') AND - noisy_oper('upk', trigtest.data, '<>', 'mismatch') - RETURNING *; - -step s1_c: COMMIT; -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1-ups1 <> text mismatch: t -s2: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1-ups1) new: (key-a,val-a-s1-ups1-upserts2) -s2: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1-ups1) new: (key-a,val-a-s1-ups1-upserts2) -step s2_upsert_a_data: <... completed> -key |data ------+---------------------- -key-a|val-a-s1-ups1-upserts2 -(1 row) - -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+---------------------- -key-a|val-a-s1-ups1-upserts2 -key-b|val-b-s1 -(2 rows) - - -starting permutation: s1_trig_rep_b_i s1_trig_rep_b_d s1_trig_rep_b_u s1_trig_rep_a_i s1_trig_rep_a_d s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_upd_a_data s2_upsert_a_data s1_c s2_c s0_rep -step s1_trig_rep_b_i: CREATE TRIGGER rep_b_i BEFORE INSERT ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_b_d: CREATE TRIGGER rep_b_d BEFORE DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_i: CREATE TRIGGER rep_a_i AFTER INSERT ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -s1: NOTICE: trigger: name rep_b_i; when: BEFORE; lev: ROWs; op: INSERT; old: new: (key-a,val-a-s1) -s1: NOTICE: trigger: name rep_a_i; when: AFTER; lev: ROWs; op: INSERT; old: new: (key-a,val-a-s1) -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -s1: NOTICE: trigger: name rep_b_i; when: BEFORE; lev: ROWs; op: INSERT; old: new: (key-b,val-b-s1) -s1: NOTICE: trigger: name rep_a_i; when: AFTER; lev: ROWs; op: INSERT; old: new: (key-b,val-b-s1) -step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *; -key |data ------+-------- -key-b|val-b-s1 -(1 row) - -step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: upd: text key-a = text key-a: t -s1: NOTICE: upk: text val-a-s1 <> text mismatch: t -s1: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1) -s1: NOTICE: upd: text key-b = text key-a: f -s1: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1) -step s1_upd_a_data: - UPDATE trigtest SET data = data || '-ups1' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -key |data ------+------------- -key-a|val-a-s1-ups1 -(1 row) - -s2: NOTICE: trigger: name rep_b_i; when: BEFORE; lev: ROWs; op: INSERT; old: new: (key-a,val-a-upss2) -step s2_upsert_a_data: - INSERT INTO trigtest VALUES ('key-a', 'val-a-upss2') - ON CONFLICT (key) - DO UPDATE SET data = trigtest.data || '-upserts2' - WHERE - noisy_oper('upd', trigtest.key, '=', 'key-a') AND - noisy_oper('upk', trigtest.data, '<>', 'mismatch') - RETURNING *; - -step s1_c: COMMIT; -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1-ups1 <> text mismatch: t -s2: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1-ups1) new: (key-a,val-a-s1-ups1-upserts2) -s2: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1-ups1) new: (key-a,val-a-s1-ups1-upserts2) -step s2_upsert_a_data: <... completed> -key |data ------+---------------------- -key-a|val-a-s1-ups1-upserts2 -(1 row) - -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+---------------------- -key-a|val-a-s1-ups1-upserts2 -key-b|val-b-s1 -(2 rows) - - -starting permutation: s1_trig_rep_b_i s1_trig_rep_b_d s1_trig_rep_b_u s1_trig_rep_a_i s1_trig_rep_a_d s1_trig_rep_a_u s1_b_rc s2_b_rc s1_ins_a s2_upsert_a_data s1_c s2_c s0_rep -step s1_trig_rep_b_i: CREATE TRIGGER rep_b_i BEFORE INSERT ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_b_d: CREATE TRIGGER rep_b_d BEFORE DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_i: CREATE TRIGGER rep_a_i AFTER INSERT ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: trigger: name rep_b_i; when: BEFORE; lev: ROWs; op: INSERT; old: new: (key-a,val-a-s1) -s1: NOTICE: trigger: name rep_a_i; when: AFTER; lev: ROWs; op: INSERT; old: new: (key-a,val-a-s1) -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -s2: NOTICE: trigger: name rep_b_i; when: BEFORE; lev: ROWs; op: INSERT; old: new: (key-a,val-a-upss2) -step s2_upsert_a_data: - INSERT INTO trigtest VALUES ('key-a', 'val-a-upss2') - ON CONFLICT (key) - DO UPDATE SET data = trigtest.data || '-upserts2' - WHERE - noisy_oper('upd', trigtest.key, '=', 'key-a') AND - noisy_oper('upk', trigtest.data, '<>', 'mismatch') - RETURNING *; - -step s1_c: COMMIT; -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1 <> text mismatch: t -s2: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-upserts2) -s2: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-upserts2) -step s2_upsert_a_data: <... completed> -key |data ------+----------------- -key-a|val-a-s1-upserts2 -(1 row) - -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+----------------- -key-a|val-a-s1-upserts2 -(1 row) - - -starting permutation: s1_trig_rep_b_i s1_trig_rep_b_d s1_trig_rep_b_u s1_trig_rep_a_i s1_trig_rep_a_d s1_trig_rep_a_u s1_b_rc s2_b_rc s1_ins_a s2_upsert_a_data s1_r s2_c s0_rep -step s1_trig_rep_b_i: CREATE TRIGGER rep_b_i BEFORE INSERT ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_b_d: CREATE TRIGGER rep_b_d BEFORE DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_i: CREATE TRIGGER rep_a_i AFTER INSERT ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: trigger: name rep_b_i; when: BEFORE; lev: ROWs; op: INSERT; old: new: (key-a,val-a-s1) -s1: NOTICE: trigger: name rep_a_i; when: AFTER; lev: ROWs; op: INSERT; old: new: (key-a,val-a-s1) -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -s2: NOTICE: trigger: name rep_b_i; when: BEFORE; lev: ROWs; op: INSERT; old: new: (key-a,val-a-upss2) -step s2_upsert_a_data: - INSERT INTO trigtest VALUES ('key-a', 'val-a-upss2') - ON CONFLICT (key) - DO UPDATE SET data = trigtest.data || '-upserts2' - WHERE - noisy_oper('upd', trigtest.key, '=', 'key-a') AND - noisy_oper('upk', trigtest.data, '<>', 'mismatch') - RETURNING *; - -step s1_r: ROLLBACK; -s2: NOTICE: trigger: name rep_a_i; when: AFTER; lev: ROWs; op: INSERT; old: new: (key-a,val-a-upss2) -step s2_upsert_a_data: <... completed> -key |data ------+----------- -key-a|val-a-upss2 -(1 row) - -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+----------- -key-a|val-a-upss2 -(1 row) - - -starting permutation: s1_trig_rep_b_i s1_trig_rep_b_d s1_trig_rep_b_u s1_trig_rep_a_i s1_trig_rep_a_d s1_trig_rep_a_u s1_b_rc s2_b_rc s1_ins_a s1_upd_a_data s2_upsert_a_data s1_c s2_c s0_rep -step s1_trig_rep_b_i: CREATE TRIGGER rep_b_i BEFORE INSERT ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_b_d: CREATE TRIGGER rep_b_d BEFORE DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_i: CREATE TRIGGER rep_a_i AFTER INSERT ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: trigger: name rep_b_i; when: BEFORE; lev: ROWs; op: INSERT; old: new: (key-a,val-a-s1) -s1: NOTICE: trigger: name rep_a_i; when: AFTER; lev: ROWs; op: INSERT; old: new: (key-a,val-a-s1) -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -s1: NOTICE: upd: text key-a = text key-a: t -s1: NOTICE: upk: text val-a-s1 <> text mismatch: t -s1: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1) -s1: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1) -step s1_upd_a_data: - UPDATE trigtest SET data = data || '-ups1' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -key |data ------+------------- -key-a|val-a-s1-ups1 -(1 row) - -s2: NOTICE: trigger: name rep_b_i; when: BEFORE; lev: ROWs; op: INSERT; old: new: (key-a,val-a-upss2) -step s2_upsert_a_data: - INSERT INTO trigtest VALUES ('key-a', 'val-a-upss2') - ON CONFLICT (key) - DO UPDATE SET data = trigtest.data || '-upserts2' - WHERE - noisy_oper('upd', trigtest.key, '=', 'key-a') AND - noisy_oper('upk', trigtest.data, '<>', 'mismatch') - RETURNING *; - -step s1_c: COMMIT; -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1-ups1 <> text mismatch: t -s2: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1-ups1) new: (key-a,val-a-s1-ups1-upserts2) -s2: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1-ups1) new: (key-a,val-a-s1-ups1-upserts2) -step s2_upsert_a_data: <... completed> -key |data ------+---------------------- -key-a|val-a-s1-ups1-upserts2 -(1 row) - -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+---------------------- -key-a|val-a-s1-ups1-upserts2 -(1 row) - - -starting permutation: s1_trig_rep_b_i s1_trig_rep_b_d s1_trig_rep_b_u s1_trig_rep_a_i s1_trig_rep_a_d s1_trig_rep_a_u s1_b_rc s2_b_rc s1_ins_a s1_upd_a_data s2_upsert_a_data s1_r s2_c s0_rep -step s1_trig_rep_b_i: CREATE TRIGGER rep_b_i BEFORE INSERT ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_b_d: CREATE TRIGGER rep_b_d BEFORE DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_i: CREATE TRIGGER rep_a_i AFTER INSERT ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: trigger: name rep_b_i; when: BEFORE; lev: ROWs; op: INSERT; old: new: (key-a,val-a-s1) -s1: NOTICE: trigger: name rep_a_i; when: AFTER; lev: ROWs; op: INSERT; old: new: (key-a,val-a-s1) -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -s1: NOTICE: upd: text key-a = text key-a: t -s1: NOTICE: upk: text val-a-s1 <> text mismatch: t -s1: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1) -s1: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1) -step s1_upd_a_data: - UPDATE trigtest SET data = data || '-ups1' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -key |data ------+------------- -key-a|val-a-s1-ups1 -(1 row) - -s2: NOTICE: trigger: name rep_b_i; when: BEFORE; lev: ROWs; op: INSERT; old: new: (key-a,val-a-upss2) -step s2_upsert_a_data: - INSERT INTO trigtest VALUES ('key-a', 'val-a-upss2') - ON CONFLICT (key) - DO UPDATE SET data = trigtest.data || '-upserts2' - WHERE - noisy_oper('upd', trigtest.key, '=', 'key-a') AND - noisy_oper('upk', trigtest.data, '<>', 'mismatch') - RETURNING *; - -step s1_r: ROLLBACK; -s2: NOTICE: trigger: name rep_a_i; when: AFTER; lev: ROWs; op: INSERT; old: new: (key-a,val-a-upss2) -step s2_upsert_a_data: <... completed> -key |data ------+----------- -key-a|val-a-upss2 -(1 row) - -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+----------- -key-a|val-a-upss2 -(1 row) - - -starting permutation: s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_upd_a_data s2_upd_a_data s1_c s2_c s0_rep -step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *; -key |data ------+-------- -key-b|val-b-s1 -(1 row) - -step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: upd: text key-a = text key-a: t -s1: NOTICE: upk: text val-a-s1 <> text mismatch: t -s1: NOTICE: upd: text key-b = text key-a: f -s1: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1) -step s1_upd_a_data: - UPDATE trigtest SET data = data || '-ups1' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -key |data ------+------------- -key-a|val-a-s1-ups1 -(1 row) - -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1 <> text mismatch: t -step s2_upd_a_data: - UPDATE trigtest SET data = data || '-ups2' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -step s1_c: COMMIT; -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1-ups1 <> text mismatch: t -s2: NOTICE: upd: text key-b = text key-a: f -s2: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1-ups1) new: (key-a,val-a-s1-ups1-ups2) -step s2_upd_a_data: <... completed> -key |data ------+------------------ -key-a|val-a-s1-ups1-ups2 -(1 row) - -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+------------------ -key-a|val-a-s1-ups1-ups2 -key-b|val-b-s1 -(2 rows) - - -starting permutation: s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_upd_a_data s2_upd_a_data s1_r s2_c s0_rep -step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *; -key |data ------+-------- -key-b|val-b-s1 -(1 row) - -step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: upd: text key-a = text key-a: t -s1: NOTICE: upk: text val-a-s1 <> text mismatch: t -s1: NOTICE: upd: text key-b = text key-a: f -s1: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1) -step s1_upd_a_data: - UPDATE trigtest SET data = data || '-ups1' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -key |data ------+------------- -key-a|val-a-s1-ups1 -(1 row) - -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1 <> text mismatch: t -step s2_upd_a_data: - UPDATE trigtest SET data = data || '-ups2' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -step s1_r: ROLLBACK; -s2: NOTICE: upd: text key-b = text key-a: f -s2: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups2) -step s2_upd_a_data: <... completed> -key |data ------+------------- -key-a|val-a-s1-ups2 -(1 row) - -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+------------- -key-a|val-a-s1-ups2 -key-b|val-b-s1 -(2 rows) - - -starting permutation: s1_trig_rep_a_d s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_upd_a_data s2_del_a s1_c s2_c s0_rep -step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *; -key |data ------+-------- -key-b|val-b-s1 -(1 row) - -step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: upd: text key-a = text key-a: t -s1: NOTICE: upk: text val-a-s1 <> text mismatch: t -s1: NOTICE: upd: text key-b = text key-a: f -s1: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1) -step s1_upd_a_data: - UPDATE trigtest SET data = data || '-ups1' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -key |data ------+------------- -key-a|val-a-s1-ups1 -(1 row) - -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1 <> text mismatch: t -step s2_del_a: - DELETE FROM trigtest - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING * - -step s1_c: COMMIT; -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1-ups1 <> text mismatch: t -s2: NOTICE: upd: text key-b = text key-a: f -s2: NOTICE: trigger: name rep_a_d; when: AFTER; lev: ROWs; op: DELETE; old: (key-a,val-a-s1-ups1) new: -step s2_del_a: <... completed> -key |data ------+------------- -key-a|val-a-s1-ups1 -(1 row) - -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+-------- -key-b|val-b-s1 -(1 row) - - -starting permutation: s1_trig_rep_a_d s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_upd_a_data s2_del_a s1_r s2_c s0_rep -step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *; -key |data ------+-------- -key-b|val-b-s1 -(1 row) - -step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: upd: text key-a = text key-a: t -s1: NOTICE: upk: text val-a-s1 <> text mismatch: t -s1: NOTICE: upd: text key-b = text key-a: f -s1: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1) -step s1_upd_a_data: - UPDATE trigtest SET data = data || '-ups1' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -key |data ------+------------- -key-a|val-a-s1-ups1 -(1 row) - -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1 <> text mismatch: t -step s2_del_a: - DELETE FROM trigtest - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING * - -step s1_r: ROLLBACK; -s2: NOTICE: upd: text key-b = text key-a: f -s2: NOTICE: trigger: name rep_a_d; when: AFTER; lev: ROWs; op: DELETE; old: (key-a,val-a-s1) new: -step s2_del_a: <... completed> -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+-------- -key-b|val-b-s1 -(1 row) - - -starting permutation: s1_trig_rep_a_d s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_del_a s2_upd_a_data s1_c s2_c s0_rep -step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *; -key |data ------+-------- -key-b|val-b-s1 -(1 row) - -step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: upd: text key-a = text key-a: t -s1: NOTICE: upk: text val-a-s1 <> text mismatch: t -s1: NOTICE: upd: text key-b = text key-a: f -s1: NOTICE: trigger: name rep_a_d; when: AFTER; lev: ROWs; op: DELETE; old: (key-a,val-a-s1) new: -step s1_del_a: - DELETE FROM trigtest - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING * - -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1 <> text mismatch: t -step s2_upd_a_data: - UPDATE trigtest SET data = data || '-ups2' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -step s1_c: COMMIT; -s2: NOTICE: upd: text key-b = text key-a: f -step s2_upd_a_data: <... completed> -key|data ----+---- -(0 rows) - -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+-------- -key-b|val-b-s1 -(1 row) - - -starting permutation: s1_trig_rep_a_d s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_del_a s2_upd_a_data s1_r s2_c s0_rep -step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *; -key |data ------+-------- -key-b|val-b-s1 -(1 row) - -step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: upd: text key-a = text key-a: t -s1: NOTICE: upk: text val-a-s1 <> text mismatch: t -s1: NOTICE: upd: text key-b = text key-a: f -s1: NOTICE: trigger: name rep_a_d; when: AFTER; lev: ROWs; op: DELETE; old: (key-a,val-a-s1) new: -step s1_del_a: - DELETE FROM trigtest - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING * - -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1 <> text mismatch: t -step s2_upd_a_data: - UPDATE trigtest SET data = data || '-ups2' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -step s1_r: ROLLBACK; -s2: NOTICE: upd: text key-b = text key-a: f -s2: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups2) -step s2_upd_a_data: <... completed> -key |data ------+------------- -key-a|val-a-s1-ups2 -(1 row) - -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+------------- -key-a|val-a-s1-ups2 -key-b|val-b-s1 -(2 rows) - - -starting permutation: s1_trig_rep_a_d s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_del_a s2_del_a s1_c s2_c s0_rep -step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *; -key |data ------+-------- -key-b|val-b-s1 -(1 row) - -step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: upd: text key-a = text key-a: t -s1: NOTICE: upk: text val-a-s1 <> text mismatch: t -s1: NOTICE: upd: text key-b = text key-a: f -s1: NOTICE: trigger: name rep_a_d; when: AFTER; lev: ROWs; op: DELETE; old: (key-a,val-a-s1) new: -step s1_del_a: - DELETE FROM trigtest - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING * - -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1 <> text mismatch: t -step s2_del_a: - DELETE FROM trigtest - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING * - -step s1_c: COMMIT; -s2: NOTICE: upd: text key-b = text key-a: f -step s2_del_a: <... completed> -key|data ----+---- -(0 rows) - -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+-------- -key-b|val-b-s1 -(1 row) - - -starting permutation: s1_trig_rep_a_d s1_ins_a s1_ins_b s1_b_rc s2_b_rc s1_del_a s2_del_a s1_r s2_c s0_rep -step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *; -key |data ------+-------- -key-b|val-b-s1 -(1 row) - -step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: upd: text key-a = text key-a: t -s1: NOTICE: upk: text val-a-s1 <> text mismatch: t -s1: NOTICE: upd: text key-b = text key-a: f -s1: NOTICE: trigger: name rep_a_d; when: AFTER; lev: ROWs; op: DELETE; old: (key-a,val-a-s1) new: -step s1_del_a: - DELETE FROM trigtest - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING * - -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1 <> text mismatch: t -step s2_del_a: - DELETE FROM trigtest - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING * - -step s1_r: ROLLBACK; -s2: NOTICE: upd: text key-b = text key-a: f -s2: NOTICE: trigger: name rep_a_d; when: AFTER; lev: ROWs; op: DELETE; old: (key-a,val-a-s1) new: -step s2_del_a: <... completed> -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+-------- -key-b|val-b-s1 -(1 row) - - -starting permutation: s1_trig_rep_b_u s1_trig_rep_a_u s1_ins_a s1_ins_c s1_b_rc s2_b_rc s1_upd_a_tob s2_upd_a_data s1_c s2_c s0_rep -step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -step s1_ins_c: INSERT INTO trigtest VALUES ('key-c', 'val-c-s1') RETURNING *; -key |data ------+-------- -key-c|val-c-s1 -(1 row) - -step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: upk: text key-a = text key-a: t -s1: NOTICE: upk: text val-a-s1 <> text mismatch: t -s1: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-b,val-a-s1-tobs1) -s1: NOTICE: upk: text key-c = text key-a: f -s1: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-b,val-a-s1-tobs1) -step s1_upd_a_tob: - UPDATE trigtest SET key = 'key-b', data = data || '-tobs1' - WHERE - noisy_oper('upk', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -key |data ------+-------------- -key-b|val-a-s1-tobs1 -(1 row) - -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1 <> text mismatch: t -step s2_upd_a_data: - UPDATE trigtest SET data = data || '-ups2' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -step s1_c: COMMIT; -s2: NOTICE: upd: text key-b = text key-a: f -s2: NOTICE: upd: text key-c = text key-a: f -step s2_upd_a_data: <... completed> -key|data ----+---- -(0 rows) - -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+-------------- -key-b|val-a-s1-tobs1 -key-c|val-c-s1 -(2 rows) - - -starting permutation: s1_trig_rep_b_u s1_trig_rep_a_u s1_ins_a s1_ins_c s1_b_rc s2_b_rc s1_upd_a_tob s2_upd_a_data s1_r s2_c s0_rep -step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -step s1_ins_c: INSERT INTO trigtest VALUES ('key-c', 'val-c-s1') RETURNING *; -key |data ------+-------- -key-c|val-c-s1 -(1 row) - -step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: upk: text key-a = text key-a: t -s1: NOTICE: upk: text val-a-s1 <> text mismatch: t -s1: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-b,val-a-s1-tobs1) -s1: NOTICE: upk: text key-c = text key-a: f -s1: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-b,val-a-s1-tobs1) -step s1_upd_a_tob: - UPDATE trigtest SET key = 'key-b', data = data || '-tobs1' - WHERE - noisy_oper('upk', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -key |data ------+-------------- -key-b|val-a-s1-tobs1 -(1 row) - -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1 <> text mismatch: t -step s2_upd_a_data: - UPDATE trigtest SET data = data || '-ups2' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -step s1_r: ROLLBACK; -s2: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups2) -s2: NOTICE: upd: text key-c = text key-a: f -s2: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups2) -step s2_upd_a_data: <... completed> -key |data ------+------------- -key-a|val-a-s1-ups2 -(1 row) - -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+------------- -key-a|val-a-s1-ups2 -key-c|val-c-s1 -(2 rows) - - -starting permutation: s1_trig_rep_b_u s1_trig_rep_a_u s1_ins_a s1_ins_c s1_b_rc s2_b_rc s1_upd_a_tob s2_upd_b_data s1_c s2_c s0_rep -step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -step s1_ins_c: INSERT INTO trigtest VALUES ('key-c', 'val-c-s1') RETURNING *; -key |data ------+-------- -key-c|val-c-s1 -(1 row) - -step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: upk: text key-a = text key-a: t -s1: NOTICE: upk: text val-a-s1 <> text mismatch: t -s1: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-b,val-a-s1-tobs1) -s1: NOTICE: upk: text key-c = text key-a: f -s1: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-b,val-a-s1-tobs1) -step s1_upd_a_tob: - UPDATE trigtest SET key = 'key-b', data = data || '-tobs1' - WHERE - noisy_oper('upk', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -key |data ------+-------------- -key-b|val-a-s1-tobs1 -(1 row) - -s2: NOTICE: upd: text key-a = text key-b: f -s2: NOTICE: upd: text key-c = text key-b: f -step s2_upd_b_data: - UPDATE trigtest SET data = data || '-ups2' - WHERE - noisy_oper('upd', key, '=', 'key-b') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -key|data ----+---- -(0 rows) - -step s1_c: COMMIT; -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+-------------- -key-b|val-a-s1-tobs1 -key-c|val-c-s1 -(2 rows) - - -starting permutation: s1_trig_rep_b_u s1_trig_rep_a_u s1_ins_a s1_ins_c s1_b_rc s2_b_rc s1_upd_a_tob s2_upd_all_data s1_c s2_c s0_rep -step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -step s1_ins_c: INSERT INTO trigtest VALUES ('key-c', 'val-c-s1') RETURNING *; -key |data ------+-------- -key-c|val-c-s1 -(1 row) - -step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: upk: text key-a = text key-a: t -s1: NOTICE: upk: text val-a-s1 <> text mismatch: t -s1: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-b,val-a-s1-tobs1) -s1: NOTICE: upk: text key-c = text key-a: f -s1: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-b,val-a-s1-tobs1) -step s1_upd_a_tob: - UPDATE trigtest SET key = 'key-b', data = data || '-tobs1' - WHERE - noisy_oper('upk', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -key |data ------+-------------- -key-b|val-a-s1-tobs1 -(1 row) - -s2: NOTICE: upd: text key-a <> text mismatch: t -s2: NOTICE: upk: text val-a-s1 <> text mismatch: t -step s2_upd_all_data: - UPDATE trigtest SET data = data || '-ups2' - WHERE - noisy_oper('upd', key, '<>', 'mismatch') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -step s1_c: COMMIT; -s2: NOTICE: upd: text key-b <> text mismatch: t -s2: NOTICE: upk: text val-a-s1-tobs1 <> text mismatch: t -s2: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-b,val-a-s1-tobs1) new: (key-b,val-a-s1-tobs1-ups2) -s2: NOTICE: upd: text key-c <> text mismatch: t -s2: NOTICE: upk: text val-c-s1 <> text mismatch: t -s2: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-c,val-c-s1) new: (key-c,val-c-s1-ups2) -s2: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-b,val-a-s1-tobs1) new: (key-b,val-a-s1-tobs1-ups2) -s2: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-c,val-c-s1) new: (key-c,val-c-s1-ups2) -step s2_upd_all_data: <... completed> -key |data ------+------------------- -key-b|val-a-s1-tobs1-ups2 -key-c|val-c-s1-ups2 -(2 rows) - -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+------------------- -key-b|val-a-s1-tobs1-ups2 -key-c|val-c-s1-ups2 -(2 rows) - - -starting permutation: s1_trig_rep_b_d s1_trig_rep_b_u s1_trig_rep_a_d s1_trig_rep_a_u s1_ins_a s1_ins_c s1_b_rc s2_b_rc s1_del_a s2_upd_a_data s1_c s2_c s0_rep -step s1_trig_rep_b_d: CREATE TRIGGER rep_b_d BEFORE DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -step s1_ins_c: INSERT INTO trigtest VALUES ('key-c', 'val-c-s1') RETURNING *; -key |data ------+-------- -key-c|val-c-s1 -(1 row) - -step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: upd: text key-a = text key-a: t -s1: NOTICE: upk: text val-a-s1 <> text mismatch: t -s1: NOTICE: trigger: name rep_b_d; when: BEFORE; lev: ROWs; op: DELETE; old: (key-a,val-a-s1) new: -s1: NOTICE: upd: text key-c = text key-a: f -s1: NOTICE: trigger: name rep_a_d; when: AFTER; lev: ROWs; op: DELETE; old: (key-a,val-a-s1) new: -step s1_del_a: - DELETE FROM trigtest - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING * - -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1 <> text mismatch: t -step s2_upd_a_data: - UPDATE trigtest SET data = data || '-ups2' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -step s1_c: COMMIT; -s2: NOTICE: upd: text key-c = text key-a: f -step s2_upd_a_data: <... completed> -key|data ----+---- -(0 rows) - -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+-------- -key-c|val-c-s1 -(1 row) - - -starting permutation: s1_trig_rep_b_d s1_trig_rep_b_u s1_trig_rep_a_d s1_trig_rep_a_u s1_ins_a s1_ins_c s1_b_rc s2_b_rc s1_del_a s2_upd_a_data s1_r s2_c s0_rep -step s1_trig_rep_b_d: CREATE TRIGGER rep_b_d BEFORE DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -step s1_ins_c: INSERT INTO trigtest VALUES ('key-c', 'val-c-s1') RETURNING *; -key |data ------+-------- -key-c|val-c-s1 -(1 row) - -step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: upd: text key-a = text key-a: t -s1: NOTICE: upk: text val-a-s1 <> text mismatch: t -s1: NOTICE: trigger: name rep_b_d; when: BEFORE; lev: ROWs; op: DELETE; old: (key-a,val-a-s1) new: -s1: NOTICE: upd: text key-c = text key-a: f -s1: NOTICE: trigger: name rep_a_d; when: AFTER; lev: ROWs; op: DELETE; old: (key-a,val-a-s1) new: -step s1_del_a: - DELETE FROM trigtest - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING * - -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1 <> text mismatch: t -step s2_upd_a_data: - UPDATE trigtest SET data = data || '-ups2' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -step s1_r: ROLLBACK; -s2: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups2) -s2: NOTICE: upd: text key-c = text key-a: f -s2: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups2) -step s2_upd_a_data: <... completed> -key |data ------+------------- -key-a|val-a-s1-ups2 -(1 row) - -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+------------- -key-a|val-a-s1-ups2 -key-c|val-c-s1 -(2 rows) - - -starting permutation: s1_trig_rep_b_d s1_trig_rep_a_d s1_ins_a s1_ins_c s1_b_rc s2_b_rc s1_del_a s2_del_a s1_c s2_c s0_rep -step s1_trig_rep_b_d: CREATE TRIGGER rep_b_d BEFORE DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -step s1_ins_c: INSERT INTO trigtest VALUES ('key-c', 'val-c-s1') RETURNING *; -key |data ------+-------- -key-c|val-c-s1 -(1 row) - -step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: upd: text key-a = text key-a: t -s1: NOTICE: upk: text val-a-s1 <> text mismatch: t -s1: NOTICE: trigger: name rep_b_d; when: BEFORE; lev: ROWs; op: DELETE; old: (key-a,val-a-s1) new: -s1: NOTICE: upd: text key-c = text key-a: f -s1: NOTICE: trigger: name rep_a_d; when: AFTER; lev: ROWs; op: DELETE; old: (key-a,val-a-s1) new: -step s1_del_a: - DELETE FROM trigtest - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING * - -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1 <> text mismatch: t -step s2_del_a: - DELETE FROM trigtest - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING * - -step s1_c: COMMIT; -s2: NOTICE: upd: text key-c = text key-a: f -step s2_del_a: <... completed> -key|data ----+---- -(0 rows) - -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+-------- -key-c|val-c-s1 -(1 row) - - -starting permutation: s1_trig_rep_b_d s1_trig_rep_a_d s1_ins_a s1_ins_c s1_b_rc s2_b_rc s1_del_a s2_del_a s1_r s2_c s0_rep -step s1_trig_rep_b_d: CREATE TRIGGER rep_b_d BEFORE DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -step s1_ins_c: INSERT INTO trigtest VALUES ('key-c', 'val-c-s1') RETURNING *; -key |data ------+-------- -key-c|val-c-s1 -(1 row) - -step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: upd: text key-a = text key-a: t -s1: NOTICE: upk: text val-a-s1 <> text mismatch: t -s1: NOTICE: trigger: name rep_b_d; when: BEFORE; lev: ROWs; op: DELETE; old: (key-a,val-a-s1) new: -s1: NOTICE: upd: text key-c = text key-a: f -s1: NOTICE: trigger: name rep_a_d; when: AFTER; lev: ROWs; op: DELETE; old: (key-a,val-a-s1) new: -step s1_del_a: - DELETE FROM trigtest - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING * - -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1 <> text mismatch: t -step s2_del_a: - DELETE FROM trigtest - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING * - -step s1_r: ROLLBACK; -s2: NOTICE: trigger: name rep_b_d; when: BEFORE; lev: ROWs; op: DELETE; old: (key-a,val-a-s1) new: -s2: NOTICE: upd: text key-c = text key-a: f -s2: NOTICE: trigger: name rep_a_d; when: AFTER; lev: ROWs; op: DELETE; old: (key-a,val-a-s1) new: -step s2_del_a: <... completed> -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+-------- -key-c|val-c-s1 -(1 row) - - -starting permutation: s1_trig_rep_b_i s1_trig_rep_b_d s1_trig_rep_b_u s1_trig_rep_a_i s1_trig_rep_a_d s1_trig_rep_a_u s1_ins_b s1_b_rc s2_b_rc s1_ins_a s1_upd_b_data s2_upd_b_data s1_del_b s1_upd_a_tob s1_c s2_c s0_rep -step s1_trig_rep_b_i: CREATE TRIGGER rep_b_i BEFORE INSERT ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_b_d: CREATE TRIGGER rep_b_d BEFORE DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_i: CREATE TRIGGER rep_a_i AFTER INSERT ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -s1: NOTICE: trigger: name rep_b_i; when: BEFORE; lev: ROWs; op: INSERT; old: new: (key-b,val-b-s1) -s1: NOTICE: trigger: name rep_a_i; when: AFTER; lev: ROWs; op: INSERT; old: new: (key-b,val-b-s1) -step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *; -key |data ------+-------- -key-b|val-b-s1 -(1 row) - -step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: trigger: name rep_b_i; when: BEFORE; lev: ROWs; op: INSERT; old: new: (key-a,val-a-s1) -s1: NOTICE: trigger: name rep_a_i; when: AFTER; lev: ROWs; op: INSERT; old: new: (key-a,val-a-s1) -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -s1: NOTICE: upd: text key-b = text key-b: t -s1: NOTICE: upk: text val-b-s1 <> text mismatch: t -s1: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-b,val-b-s1) new: (key-b,val-b-s1-ups1) -s1: NOTICE: upd: text key-a = text key-b: f -s1: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-b,val-b-s1) new: (key-b,val-b-s1-ups1) -step s1_upd_b_data: - UPDATE trigtest SET data = data || '-ups1' - WHERE - noisy_oper('upd', key, '=', 'key-b') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -key |data ------+------------- -key-b|val-b-s1-ups1 -(1 row) - -s2: NOTICE: upd: text key-b = text key-b: t -s2: NOTICE: upk: text val-b-s1 <> text mismatch: t -step s2_upd_b_data: - UPDATE trigtest SET data = data || '-ups2' - WHERE - noisy_oper('upd', key, '=', 'key-b') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -s1: NOTICE: upd: text key-a = text key-b: f -s1: NOTICE: upd: text key-b = text key-b: t -s1: NOTICE: upk: text val-b-s1-ups1 <> text mismatch: t -s1: NOTICE: trigger: name rep_b_d; when: BEFORE; lev: ROWs; op: DELETE; old: (key-b,val-b-s1-ups1) new: -s1: NOTICE: trigger: name rep_a_d; when: AFTER; lev: ROWs; op: DELETE; old: (key-b,val-b-s1-ups1) new: -step s1_del_b: - DELETE FROM trigtest - WHERE - noisy_oper('upd', key, '=', 'key-b') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING * - -key |data ------+------------- -key-b|val-b-s1-ups1 -(1 row) - -s1: NOTICE: upk: text key-a = text key-a: t -s1: NOTICE: upk: text val-a-s1 <> text mismatch: t -s1: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-b,val-a-s1-tobs1) -s1: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-b,val-a-s1-tobs1) -step s1_upd_a_tob: - UPDATE trigtest SET key = 'key-b', data = data || '-tobs1' - WHERE - noisy_oper('upk', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -key |data ------+-------------- -key-b|val-a-s1-tobs1 -(1 row) - -step s1_c: COMMIT; -step s2_upd_b_data: <... completed> -key|data ----+---- -(0 rows) - -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+-------------- -key-b|val-a-s1-tobs1 -(1 row) - - -starting permutation: s1_trig_rep_b_u s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rr s2_b_rr s1_upd_a_data s2_upd_a_data s1_c s2_c s0_rep -step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *; -key |data ------+-------- -key-b|val-b-s1 -(1 row) - -step s1_b_rr: BEGIN ISOLATION LEVEL REPEATABLE READ; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rr: BEGIN ISOLATION LEVEL REPEATABLE READ; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: upd: text key-a = text key-a: t -s1: NOTICE: upk: text val-a-s1 <> text mismatch: t -s1: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1) -s1: NOTICE: upd: text key-b = text key-a: f -s1: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1) -step s1_upd_a_data: - UPDATE trigtest SET data = data || '-ups1' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -key |data ------+------------- -key-a|val-a-s1-ups1 -(1 row) - -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1 <> text mismatch: t -step s2_upd_a_data: - UPDATE trigtest SET data = data || '-ups2' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -step s1_c: COMMIT; -step s2_upd_a_data: <... completed> -ERROR: could not serialize access due to concurrent update -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+------------- -key-a|val-a-s1-ups1 -key-b|val-b-s1 -(2 rows) - - -starting permutation: s1_trig_rep_b_u s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rr s2_b_rr s1_upd_a_data s2_upd_a_data s1_r s2_c s0_rep -step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *; -key |data ------+-------- -key-b|val-b-s1 -(1 row) - -step s1_b_rr: BEGIN ISOLATION LEVEL REPEATABLE READ; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rr: BEGIN ISOLATION LEVEL REPEATABLE READ; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: upd: text key-a = text key-a: t -s1: NOTICE: upk: text val-a-s1 <> text mismatch: t -s1: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1) -s1: NOTICE: upd: text key-b = text key-a: f -s1: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1) -step s1_upd_a_data: - UPDATE trigtest SET data = data || '-ups1' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -key |data ------+------------- -key-a|val-a-s1-ups1 -(1 row) - -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1 <> text mismatch: t -step s2_upd_a_data: - UPDATE trigtest SET data = data || '-ups2' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -step s1_r: ROLLBACK; -s2: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups2) -s2: NOTICE: upd: text key-b = text key-a: f -s2: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups2) -step s2_upd_a_data: <... completed> -key |data ------+------------- -key-a|val-a-s1-ups2 -(1 row) - -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+------------- -key-a|val-a-s1-ups2 -key-b|val-b-s1 -(2 rows) - - -starting permutation: s1_trig_rep_b_d s1_trig_rep_b_u s1_trig_rep_a_d s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rr s2_b_rr s1_del_a s2_upd_a_data s1_c s2_c s0_rep -step s1_trig_rep_b_d: CREATE TRIGGER rep_b_d BEFORE DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *; -key |data ------+-------- -key-b|val-b-s1 -(1 row) - -step s1_b_rr: BEGIN ISOLATION LEVEL REPEATABLE READ; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rr: BEGIN ISOLATION LEVEL REPEATABLE READ; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: upd: text key-a = text key-a: t -s1: NOTICE: upk: text val-a-s1 <> text mismatch: t -s1: NOTICE: trigger: name rep_b_d; when: BEFORE; lev: ROWs; op: DELETE; old: (key-a,val-a-s1) new: -s1: NOTICE: upd: text key-b = text key-a: f -s1: NOTICE: trigger: name rep_a_d; when: AFTER; lev: ROWs; op: DELETE; old: (key-a,val-a-s1) new: -step s1_del_a: - DELETE FROM trigtest - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING * - -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1 <> text mismatch: t -step s2_upd_a_data: - UPDATE trigtest SET data = data || '-ups2' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -step s1_c: COMMIT; -step s2_upd_a_data: <... completed> -ERROR: could not serialize access due to concurrent delete -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+-------- -key-b|val-b-s1 -(1 row) - - -starting permutation: s1_trig_rep_b_d s1_trig_rep_b_u s1_trig_rep_a_d s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rr s2_b_rr s1_del_a s2_upd_a_data s1_r s2_c s0_rep -step s1_trig_rep_b_d: CREATE TRIGGER rep_b_d BEFORE DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_d: CREATE TRIGGER rep_a_d AFTER DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *; -key |data ------+-------- -key-b|val-b-s1 -(1 row) - -step s1_b_rr: BEGIN ISOLATION LEVEL REPEATABLE READ; SELECT 1; -?column? --------- - 1 -(1 row) - -step s2_b_rr: BEGIN ISOLATION LEVEL REPEATABLE READ; SELECT 1; -?column? --------- - 1 -(1 row) - -s1: NOTICE: upd: text key-a = text key-a: t -s1: NOTICE: upk: text val-a-s1 <> text mismatch: t -s1: NOTICE: trigger: name rep_b_d; when: BEFORE; lev: ROWs; op: DELETE; old: (key-a,val-a-s1) new: -s1: NOTICE: upd: text key-b = text key-a: f -s1: NOTICE: trigger: name rep_a_d; when: AFTER; lev: ROWs; op: DELETE; old: (key-a,val-a-s1) new: -step s1_del_a: - DELETE FROM trigtest - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING * - -key |data ------+-------- -key-a|val-a-s1 -(1 row) - -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1 <> text mismatch: t -step s2_upd_a_data: - UPDATE trigtest SET data = data || '-ups2' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -step s1_r: ROLLBACK; -s2: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups2) -s2: NOTICE: upd: text key-b = text key-a: f -s2: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups2) -step s2_upd_a_data: <... completed> -key |data ------+------------- -key-a|val-a-s1-ups2 -(1 row) - -step s2_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key |data ------+------------- -key-a|val-a-s1-ups2 -key-b|val-b-s1 -(2 rows) - +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/lock-update-delete_1.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/lock-update-delete.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/lock-update-delete_1.out 2024-03-29 10:06:51.875270895 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/lock-update-delete.out 2024-03-29 10:13:19.647275293 +0000 @@ -1,273 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s2b s1l s2u s2_blocker1 s2_unlock s2c -pg_advisory_lock ----------------- - -(1 row) - -step s2b: BEGIN; -step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; -step s2u: UPDATE foo SET value = 2 WHERE key = 1; -step s2_blocker1: DELETE FROM foo; -step s2_unlock: SELECT pg_advisory_unlock(0); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2c: COMMIT; -step s1l: <... completed> -ERROR: could not serialize access due to concurrent update - -starting permutation: s2b s1l s2u s2_blocker2 s2_unlock s2c -pg_advisory_lock ----------------- - -(1 row) - -step s2b: BEGIN; -step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; -step s2u: UPDATE foo SET value = 2 WHERE key = 1; -step s2_blocker2: UPDATE foo SET key = 2 WHERE key = 1; -step s2_unlock: SELECT pg_advisory_unlock(0); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2c: COMMIT; -step s1l: <... completed> -ERROR: could not serialize access due to concurrent update - -starting permutation: s2b s1l s2u s2_blocker3 s2_unlock s2c -pg_advisory_lock ----------------- - -(1 row) - -step s2b: BEGIN; -step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; -step s2u: UPDATE foo SET value = 2 WHERE key = 1; -step s2_blocker3: UPDATE foo SET value = 2 WHERE key = 1; -step s2_unlock: SELECT pg_advisory_unlock(0); -pg_advisory_unlock ------------------- -t -(1 row) - -step s1l: <... completed> -key|value ----+----- - 1| 1 -(1 row) - -step s2c: COMMIT; - -starting permutation: s2b s1l s2u s2_blocker1 s2_unlock s2r -pg_advisory_lock ----------------- - -(1 row) - -step s2b: BEGIN; -step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; -step s2u: UPDATE foo SET value = 2 WHERE key = 1; -step s2_blocker1: DELETE FROM foo; -step s2_unlock: SELECT pg_advisory_unlock(0); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2r: ROLLBACK; -step s1l: <... completed> -key|value ----+----- - 1| 1 -(1 row) - - -starting permutation: s2b s1l s2u s2_blocker2 s2_unlock s2r -pg_advisory_lock ----------------- - -(1 row) - -step s2b: BEGIN; -step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; -step s2u: UPDATE foo SET value = 2 WHERE key = 1; -step s2_blocker2: UPDATE foo SET key = 2 WHERE key = 1; -step s2_unlock: SELECT pg_advisory_unlock(0); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2r: ROLLBACK; -step s1l: <... completed> -key|value ----+----- - 1| 1 -(1 row) - - -starting permutation: s2b s1l s2u s2_blocker3 s2_unlock s2r -pg_advisory_lock ----------------- - -(1 row) - -step s2b: BEGIN; -step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; -step s2u: UPDATE foo SET value = 2 WHERE key = 1; -step s2_blocker3: UPDATE foo SET value = 2 WHERE key = 1; -step s2_unlock: SELECT pg_advisory_unlock(0); -pg_advisory_unlock ------------------- -t -(1 row) - -step s1l: <... completed> -key|value ----+----- - 1| 1 -(1 row) - -step s2r: ROLLBACK; - -starting permutation: s2b s1l s2u s2_blocker1 s2c s2_unlock -pg_advisory_lock ----------------- - -(1 row) - -step s2b: BEGIN; -step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; -step s2u: UPDATE foo SET value = 2 WHERE key = 1; -step s2_blocker1: DELETE FROM foo; -step s2c: COMMIT; -step s2_unlock: SELECT pg_advisory_unlock(0); -pg_advisory_unlock ------------------- -t -(1 row) - -step s1l: <... completed> -ERROR: could not serialize access due to concurrent update - -starting permutation: s2b s1l s2u s2_blocker2 s2c s2_unlock -pg_advisory_lock ----------------- - -(1 row) - -step s2b: BEGIN; -step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; -step s2u: UPDATE foo SET value = 2 WHERE key = 1; -step s2_blocker2: UPDATE foo SET key = 2 WHERE key = 1; -step s2c: COMMIT; -step s2_unlock: SELECT pg_advisory_unlock(0); -pg_advisory_unlock ------------------- -t -(1 row) - -step s1l: <... completed> -ERROR: could not serialize access due to concurrent update - -starting permutation: s2b s1l s2u s2_blocker3 s2c s2_unlock -pg_advisory_lock ----------------- - -(1 row) - -step s2b: BEGIN; -step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; -step s2u: UPDATE foo SET value = 2 WHERE key = 1; -step s2_blocker3: UPDATE foo SET value = 2 WHERE key = 1; -step s2c: COMMIT; -step s2_unlock: SELECT pg_advisory_unlock(0); -pg_advisory_unlock ------------------- -t -(1 row) - -step s1l: <... completed> -key|value ----+----- - 1| 1 -(1 row) - - -starting permutation: s2b s1l s2u s2_blocker1 s2r s2_unlock -pg_advisory_lock ----------------- - -(1 row) - -step s2b: BEGIN; -step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; -step s2u: UPDATE foo SET value = 2 WHERE key = 1; -step s2_blocker1: DELETE FROM foo; -step s2r: ROLLBACK; -step s2_unlock: SELECT pg_advisory_unlock(0); -pg_advisory_unlock ------------------- -t -(1 row) - -step s1l: <... completed> -key|value ----+----- - 1| 1 -(1 row) - - -starting permutation: s2b s1l s2u s2_blocker2 s2r s2_unlock -pg_advisory_lock ----------------- - -(1 row) - -step s2b: BEGIN; -step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; -step s2u: UPDATE foo SET value = 2 WHERE key = 1; -step s2_blocker2: UPDATE foo SET key = 2 WHERE key = 1; -step s2r: ROLLBACK; -step s2_unlock: SELECT pg_advisory_unlock(0); -pg_advisory_unlock ------------------- -t -(1 row) - -step s1l: <... completed> -key|value ----+----- - 1| 1 -(1 row) - - -starting permutation: s2b s1l s2u s2_blocker3 s2r s2_unlock -pg_advisory_lock ----------------- - -(1 row) - -step s2b: BEGIN; -step s1l: SELECT * FROM foo WHERE pg_advisory_xact_lock(0) IS NOT NULL AND key = 1 FOR KEY SHARE; -step s2u: UPDATE foo SET value = 2 WHERE key = 1; -step s2_blocker3: UPDATE foo SET value = 2 WHERE key = 1; -step s2r: ROLLBACK; -step s2_unlock: SELECT pg_advisory_unlock(0); -pg_advisory_unlock ------------------- -t -(1 row) - -step s1l: <... completed> -key|value ----+----- - 1| 1 -(1 row) - +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/lock-update-traversal.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/lock-update-traversal.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/lock-update-traversal.out 2024-03-29 10:06:51.875270895 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/lock-update-traversal.out 2024-03-29 10:13:19.659275291 +0000 @@ -1,63 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1b s2b s1s s2u s1l s2c s2d1 s1c -step s1b: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s2b: BEGIN; -step s1s: SELECT * FROM foo; -key|value ----+----- - 1| 1 -(1 row) - -step s2u: UPDATE foo SET value = 2 WHERE key = 1; -step s1l: SELECT * FROM foo FOR KEY SHARE; -key|value ----+----- - 1| 1 -(1 row) - -step s2c: COMMIT; -step s2d1: DELETE FROM foo WHERE key = 1; -step s1c: COMMIT; -step s2d1: <... completed> - -starting permutation: s1b s2b s1s s2u s1l s2c s2d2 s1c -step s1b: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s2b: BEGIN; -step s1s: SELECT * FROM foo; -key|value ----+----- - 1| 1 -(1 row) - -step s2u: UPDATE foo SET value = 2 WHERE key = 1; -step s1l: SELECT * FROM foo FOR KEY SHARE; -key|value ----+----- - 1| 1 -(1 row) - -step s2c: COMMIT; -step s2d2: UPDATE foo SET key = 3 WHERE key = 1; -step s1c: COMMIT; -step s2d2: <... completed> - -starting permutation: s1b s2b s1s s2u s1l s2c s2d3 s1c -step s1b: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s2b: BEGIN; -step s1s: SELECT * FROM foo; -key|value ----+----- - 1| 1 -(1 row) - -step s2u: UPDATE foo SET value = 2 WHERE key = 1; -step s1l: SELECT * FROM foo FOR KEY SHARE; -key|value ----+----- - 1| 1 -(1 row) - -step s2c: COMMIT; -step s2d3: UPDATE foo SET value = 3 WHERE key = 1; -step s1c: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/inherit-temp.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/inherit-temp.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/inherit-temp.out 2024-03-29 10:06:51.875270895 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/inherit-temp.out 2024-03-29 10:13:19.667275289 +0000 @@ -1,277 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1_insert_p s1_insert_c s2_insert_c s1_select_p s1_select_c s2_select_p s2_select_c -step s1_insert_p: INSERT INTO inh_parent VALUES (1), (2); -step s1_insert_c: INSERT INTO inh_temp_child_s1 VALUES (3), (4); -step s2_insert_c: INSERT INTO inh_temp_child_s2 VALUES (5), (6); -step s1_select_p: SELECT a FROM inh_parent; -a -- -1 -2 -3 -4 -(4 rows) - -step s1_select_c: SELECT a FROM inh_temp_child_s1; -a -- -3 -4 -(2 rows) - -step s2_select_p: SELECT a FROM inh_parent; -a -- -1 -2 -5 -6 -(4 rows) - -step s2_select_c: SELECT a FROM inh_temp_child_s2; -a -- -5 -6 -(2 rows) - - -starting permutation: s1_insert_p s1_insert_c s2_insert_c s1_update_p s1_update_c s1_select_p s1_select_c s2_select_p s2_select_c -step s1_insert_p: INSERT INTO inh_parent VALUES (1), (2); -step s1_insert_c: INSERT INTO inh_temp_child_s1 VALUES (3), (4); -step s2_insert_c: INSERT INTO inh_temp_child_s2 VALUES (5), (6); -step s1_update_p: UPDATE inh_parent SET a = 11 WHERE a = 1; -step s1_update_c: UPDATE inh_parent SET a = 13 WHERE a IN (3, 5); -step s1_select_p: SELECT a FROM inh_parent; - a --- - 2 -11 - 4 -13 -(4 rows) - -step s1_select_c: SELECT a FROM inh_temp_child_s1; - a --- - 4 -13 -(2 rows) - -step s2_select_p: SELECT a FROM inh_parent; - a --- - 2 -11 - 5 - 6 -(4 rows) - -step s2_select_c: SELECT a FROM inh_temp_child_s2; -a -- -5 -6 -(2 rows) - - -starting permutation: s1_insert_p s1_insert_c s2_insert_c s2_update_c s1_select_p s1_select_c s2_select_p s2_select_c -step s1_insert_p: INSERT INTO inh_parent VALUES (1), (2); -step s1_insert_c: INSERT INTO inh_temp_child_s1 VALUES (3), (4); -step s2_insert_c: INSERT INTO inh_temp_child_s2 VALUES (5), (6); -step s2_update_c: UPDATE inh_parent SET a = 15 WHERE a IN (3, 5); -step s1_select_p: SELECT a FROM inh_parent; -a -- -1 -2 -3 -4 -(4 rows) - -step s1_select_c: SELECT a FROM inh_temp_child_s1; -a -- -3 -4 -(2 rows) - -step s2_select_p: SELECT a FROM inh_parent; - a --- - 1 - 2 - 6 -15 -(4 rows) - -step s2_select_c: SELECT a FROM inh_temp_child_s2; - a --- - 6 -15 -(2 rows) - - -starting permutation: s1_insert_p s1_insert_c s2_insert_c s1_delete_p s1_delete_c s1_select_p s1_select_c s2_select_p s2_select_c -step s1_insert_p: INSERT INTO inh_parent VALUES (1), (2); -step s1_insert_c: INSERT INTO inh_temp_child_s1 VALUES (3), (4); -step s2_insert_c: INSERT INTO inh_temp_child_s2 VALUES (5), (6); -step s1_delete_p: DELETE FROM inh_parent WHERE a = 2; -step s1_delete_c: DELETE FROM inh_parent WHERE a IN (4, 6); -step s1_select_p: SELECT a FROM inh_parent; -a -- -1 -3 -(2 rows) - -step s1_select_c: SELECT a FROM inh_temp_child_s1; -a -- -3 -(1 row) - -step s2_select_p: SELECT a FROM inh_parent; -a -- -1 -5 -6 -(3 rows) - -step s2_select_c: SELECT a FROM inh_temp_child_s2; -a -- -5 -6 -(2 rows) - - -starting permutation: s1_insert_p s1_insert_c s2_insert_c s2_delete_c s1_select_p s1_select_c s2_select_p s2_select_c -step s1_insert_p: INSERT INTO inh_parent VALUES (1), (2); -step s1_insert_c: INSERT INTO inh_temp_child_s1 VALUES (3), (4); -step s2_insert_c: INSERT INTO inh_temp_child_s2 VALUES (5), (6); -step s2_delete_c: DELETE FROM inh_parent WHERE a IN (4, 6); -step s1_select_p: SELECT a FROM inh_parent; -a -- -1 -2 -3 -4 -(4 rows) - -step s1_select_c: SELECT a FROM inh_temp_child_s1; -a -- -3 -4 -(2 rows) - -step s2_select_p: SELECT a FROM inh_parent; -a -- -1 -2 -5 -(3 rows) - -step s2_select_c: SELECT a FROM inh_temp_child_s2; -a -- -5 -(1 row) - - -starting permutation: s1_insert_p s1_insert_c s2_insert_c s1_truncate_p s1_select_p s1_select_c s2_select_p s2_select_c -step s1_insert_p: INSERT INTO inh_parent VALUES (1), (2); -step s1_insert_c: INSERT INTO inh_temp_child_s1 VALUES (3), (4); -step s2_insert_c: INSERT INTO inh_temp_child_s2 VALUES (5), (6); -step s1_truncate_p: TRUNCATE inh_parent; -step s1_select_p: SELECT a FROM inh_parent; -a -- -(0 rows) - -step s1_select_c: SELECT a FROM inh_temp_child_s1; -a -- -(0 rows) - -step s2_select_p: SELECT a FROM inh_parent; -a -- -5 -6 -(2 rows) - -step s2_select_c: SELECT a FROM inh_temp_child_s2; -a -- -5 -6 -(2 rows) - - -starting permutation: s1_insert_p s1_insert_c s2_insert_c s2_truncate_p s1_select_p s1_select_c s2_select_p s2_select_c -step s1_insert_p: INSERT INTO inh_parent VALUES (1), (2); -step s1_insert_c: INSERT INTO inh_temp_child_s1 VALUES (3), (4); -step s2_insert_c: INSERT INTO inh_temp_child_s2 VALUES (5), (6); -step s2_truncate_p: TRUNCATE inh_parent; -step s1_select_p: SELECT a FROM inh_parent; -a -- -3 -4 -(2 rows) - -step s1_select_c: SELECT a FROM inh_temp_child_s1; -a -- -3 -4 -(2 rows) - -step s2_select_p: SELECT a FROM inh_parent; -a -- -(0 rows) - -step s2_select_c: SELECT a FROM inh_temp_child_s2; -a -- -(0 rows) - - -starting permutation: s1_insert_p s1_insert_c s2_insert_c s1_begin s1_truncate_p s2_select_p s1_commit -step s1_insert_p: INSERT INTO inh_parent VALUES (1), (2); -step s1_insert_c: INSERT INTO inh_temp_child_s1 VALUES (3), (4); -step s2_insert_c: INSERT INTO inh_temp_child_s2 VALUES (5), (6); -step s1_begin: BEGIN; -step s1_truncate_p: TRUNCATE inh_parent; -step s2_select_p: SELECT a FROM inh_parent; -step s1_commit: COMMIT; -step s2_select_p: <... completed> -a -- -5 -6 -(2 rows) - - -starting permutation: s1_insert_p s1_insert_c s2_insert_c s1_begin s1_truncate_p s2_select_c s1_commit -step s1_insert_p: INSERT INTO inh_parent VALUES (1), (2); -step s1_insert_c: INSERT INTO inh_temp_child_s1 VALUES (3), (4); -step s2_insert_c: INSERT INTO inh_temp_child_s2 VALUES (5), (6); -step s1_begin: BEGIN; -step s1_truncate_p: TRUNCATE inh_parent; -step s2_select_c: SELECT a FROM inh_temp_child_s2; -a -- -5 -6 -(2 rows) - -step s1_commit: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/temp-schema-cleanup.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/temp-schema-cleanup.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/temp-schema-cleanup.out 2024-03-29 10:06:51.887270884 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/temp-schema-cleanup.out 2024-03-29 10:13:19.679275287 +0000 @@ -1,115 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1_create_temp_objects s1_discard_temp s2_check_schema -step s1_create_temp_objects: - - -- create function large enough to be toasted, to ensure we correctly clean those up, a prior bug - -- https://postgr.es/m/CAOFAq3BU5Mf2TTvu8D9n_ZOoFAeQswuzk7yziAb7xuw_qyw5gw%40mail.gmail.com - SELECT exec(format($outer$ - CREATE OR REPLACE FUNCTION pg_temp.long() RETURNS text LANGUAGE sql AS $body$ SELECT %L; $body$$outer$, - (SELECT string_agg(g.i::text||':'||random()::text, '|') FROM generate_series(1, 100) g(i)))); - - -- The above bug requirs function removal to happen after a catalog - -- invalidation. dependency.c sorts objects in descending oid order so - -- that newer objects are deleted before older objects, so create a - -- table after. - CREATE TEMPORARY TABLE invalidate_catalog_cache(); - - -- test non-temp function is dropped when depending on temp table - CREATE TEMPORARY TABLE just_give_me_a_type(id serial primary key); - - CREATE FUNCTION uses_a_temp_type(just_give_me_a_type) RETURNS int LANGUAGE sql AS $$SELECT 1;$$; - -exec ----- - -(1 row) - -step s1_discard_temp: - DISCARD TEMP; - -step s2_check_schema: - SELECT oid::regclass FROM pg_class WHERE relnamespace = (SELECT oid FROM s1_temp_schema); - SELECT oid::regproc FROM pg_proc WHERE pronamespace = (SELECT oid FROM s1_temp_schema); - SELECT oid::regproc FROM pg_type WHERE typnamespace = (SELECT oid FROM s1_temp_schema); - -oid ---- -(0 rows) - -oid ---- -(0 rows) - -oid ---- -(0 rows) - - -starting permutation: s1_advisory s2_advisory s1_create_temp_objects s1_exit s2_check_schema -step s1_advisory: - SELECT pg_advisory_lock('pg_namespace'::regclass::int8); - -pg_advisory_lock ----------------- - -(1 row) - -step s2_advisory: - SELECT pg_advisory_lock('pg_namespace'::regclass::int8); - -step s1_create_temp_objects: - - -- create function large enough to be toasted, to ensure we correctly clean those up, a prior bug - -- https://postgr.es/m/CAOFAq3BU5Mf2TTvu8D9n_ZOoFAeQswuzk7yziAb7xuw_qyw5gw%40mail.gmail.com - SELECT exec(format($outer$ - CREATE OR REPLACE FUNCTION pg_temp.long() RETURNS text LANGUAGE sql AS $body$ SELECT %L; $body$$outer$, - (SELECT string_agg(g.i::text||':'||random()::text, '|') FROM generate_series(1, 100) g(i)))); - - -- The above bug requirs function removal to happen after a catalog - -- invalidation. dependency.c sorts objects in descending oid order so - -- that newer objects are deleted before older objects, so create a - -- table after. - CREATE TEMPORARY TABLE invalidate_catalog_cache(); - - -- test non-temp function is dropped when depending on temp table - CREATE TEMPORARY TABLE just_give_me_a_type(id serial primary key); - - CREATE FUNCTION uses_a_temp_type(just_give_me_a_type) RETURNS int LANGUAGE sql AS $$SELECT 1;$$; - -exec ----- - -(1 row) - -step s1_exit: - SELECT pg_terminate_backend(pg_backend_pid()); - -FATAL: terminating connection due to administrator command -server closed the connection unexpectedly - This probably means the server terminated abnormally - before or while processing the request. - -step s2_advisory: <... completed> -pg_advisory_lock ----------------- - -(1 row) - -step s2_check_schema: - SELECT oid::regclass FROM pg_class WHERE relnamespace = (SELECT oid FROM s1_temp_schema); - SELECT oid::regproc FROM pg_proc WHERE pronamespace = (SELECT oid FROM s1_temp_schema); - SELECT oid::regproc FROM pg_type WHERE typnamespace = (SELECT oid FROM s1_temp_schema); - -oid ---- -(0 rows) - -oid ---- -(0 rows) - -oid ---- -(0 rows) - +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/insert-conflict-do-nothing.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/insert-conflict-do-nothing.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/insert-conflict-do-nothing.out 2024-03-29 10:06:51.875270895 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/insert-conflict-do-nothing.out 2024-03-29 10:13:19.691275285 +0000 @@ -1,27 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: donothing1 donothing2 c1 select2 c2 -step donothing1: INSERT INTO ints(key, val) VALUES(1, 'donothing1') ON CONFLICT DO NOTHING; -step donothing2: INSERT INTO ints(key, val) VALUES(1, 'donothing2') ON CONFLICT DO NOTHING; -step c1: COMMIT; -step donothing2: <... completed> -step select2: SELECT * FROM ints; -key|val ----+---------- - 1|donothing1 -(1 row) - -step c2: COMMIT; - -starting permutation: donothing1 donothing2 a1 select2 c2 -step donothing1: INSERT INTO ints(key, val) VALUES(1, 'donothing1') ON CONFLICT DO NOTHING; -step donothing2: INSERT INTO ints(key, val) VALUES(1, 'donothing2') ON CONFLICT DO NOTHING; -step a1: ABORT; -step donothing2: <... completed> -step select2: SELECT * FROM ints; -key|val ----+---------- - 1|donothing2 -(1 row) - -step c2: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/insert-conflict-do-nothing-2.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/insert-conflict-do-nothing-2.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/insert-conflict-do-nothing-2.out 2024-03-29 10:06:51.875270895 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/insert-conflict-do-nothing-2.out 2024-03-29 10:13:19.699275283 +0000 @@ -1,121 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: beginrr1 beginrr2 donothing1 c1 donothing2 c2 show -step beginrr1: BEGIN ISOLATION LEVEL REPEATABLE READ; -step beginrr2: BEGIN ISOLATION LEVEL REPEATABLE READ; -step donothing1: INSERT INTO ints(key, val) VALUES(1, 'donothing1') ON CONFLICT DO NOTHING; -step c1: COMMIT; -step donothing2: INSERT INTO ints(key, val) VALUES(1, 'donothing2'), (1, 'donothing3') ON CONFLICT DO NOTHING; -step c2: COMMIT; -step show: SELECT * FROM ints; -key|val ----+---------- - 1|donothing1 -(1 row) - - -starting permutation: beginrr1 beginrr2 donothing2 c2 donothing1 c1 show -step beginrr1: BEGIN ISOLATION LEVEL REPEATABLE READ; -step beginrr2: BEGIN ISOLATION LEVEL REPEATABLE READ; -step donothing2: INSERT INTO ints(key, val) VALUES(1, 'donothing2'), (1, 'donothing3') ON CONFLICT DO NOTHING; -step c2: COMMIT; -step donothing1: INSERT INTO ints(key, val) VALUES(1, 'donothing1') ON CONFLICT DO NOTHING; -step c1: COMMIT; -step show: SELECT * FROM ints; -key|val ----+---------- - 1|donothing2 -(1 row) - - -starting permutation: beginrr1 beginrr2 donothing1 donothing2 c1 c2 show -step beginrr1: BEGIN ISOLATION LEVEL REPEATABLE READ; -step beginrr2: BEGIN ISOLATION LEVEL REPEATABLE READ; -step donothing1: INSERT INTO ints(key, val) VALUES(1, 'donothing1') ON CONFLICT DO NOTHING; -step donothing2: INSERT INTO ints(key, val) VALUES(1, 'donothing2'), (1, 'donothing3') ON CONFLICT DO NOTHING; -step c1: COMMIT; -step donothing2: <... completed> -ERROR: could not serialize access due to concurrent update -step c2: COMMIT; -step show: SELECT * FROM ints; -key|val ----+---------- - 1|donothing1 -(1 row) - - -starting permutation: beginrr1 beginrr2 donothing2 donothing1 c2 c1 show -step beginrr1: BEGIN ISOLATION LEVEL REPEATABLE READ; -step beginrr2: BEGIN ISOLATION LEVEL REPEATABLE READ; -step donothing2: INSERT INTO ints(key, val) VALUES(1, 'donothing2'), (1, 'donothing3') ON CONFLICT DO NOTHING; -step donothing1: INSERT INTO ints(key, val) VALUES(1, 'donothing1') ON CONFLICT DO NOTHING; -step c2: COMMIT; -step donothing1: <... completed> -ERROR: could not serialize access due to concurrent update -step c1: COMMIT; -step show: SELECT * FROM ints; -key|val ----+---------- - 1|donothing2 -(1 row) - - -starting permutation: begins1 begins2 donothing1 c1 donothing2 c2 show -step begins1: BEGIN ISOLATION LEVEL SERIALIZABLE; -step begins2: BEGIN ISOLATION LEVEL SERIALIZABLE; -step donothing1: INSERT INTO ints(key, val) VALUES(1, 'donothing1') ON CONFLICT DO NOTHING; -step c1: COMMIT; -step donothing2: INSERT INTO ints(key, val) VALUES(1, 'donothing2'), (1, 'donothing3') ON CONFLICT DO NOTHING; -step c2: COMMIT; -step show: SELECT * FROM ints; -key|val ----+---------- - 1|donothing1 -(1 row) - - -starting permutation: begins1 begins2 donothing2 c2 donothing1 c1 show -step begins1: BEGIN ISOLATION LEVEL SERIALIZABLE; -step begins2: BEGIN ISOLATION LEVEL SERIALIZABLE; -step donothing2: INSERT INTO ints(key, val) VALUES(1, 'donothing2'), (1, 'donothing3') ON CONFLICT DO NOTHING; -step c2: COMMIT; -step donothing1: INSERT INTO ints(key, val) VALUES(1, 'donothing1') ON CONFLICT DO NOTHING; -step c1: COMMIT; -step show: SELECT * FROM ints; -key|val ----+---------- - 1|donothing2 -(1 row) - - -starting permutation: begins1 begins2 donothing1 donothing2 c1 c2 show -step begins1: BEGIN ISOLATION LEVEL SERIALIZABLE; -step begins2: BEGIN ISOLATION LEVEL SERIALIZABLE; -step donothing1: INSERT INTO ints(key, val) VALUES(1, 'donothing1') ON CONFLICT DO NOTHING; -step donothing2: INSERT INTO ints(key, val) VALUES(1, 'donothing2'), (1, 'donothing3') ON CONFLICT DO NOTHING; -step c1: COMMIT; -step donothing2: <... completed> -ERROR: could not serialize access due to concurrent update -step c2: COMMIT; -step show: SELECT * FROM ints; -key|val ----+---------- - 1|donothing1 -(1 row) - - -starting permutation: begins1 begins2 donothing2 donothing1 c2 c1 show -step begins1: BEGIN ISOLATION LEVEL SERIALIZABLE; -step begins2: BEGIN ISOLATION LEVEL SERIALIZABLE; -step donothing2: INSERT INTO ints(key, val) VALUES(1, 'donothing2'), (1, 'donothing3') ON CONFLICT DO NOTHING; -step donothing1: INSERT INTO ints(key, val) VALUES(1, 'donothing1') ON CONFLICT DO NOTHING; -step c2: COMMIT; -step donothing1: <... completed> -ERROR: could not serialize access due to concurrent update -step c1: COMMIT; -step show: SELECT * FROM ints; -key|val ----+---------- - 1|donothing2 -(1 row) - +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/insert-conflict-do-update.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/insert-conflict-do-update.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/insert-conflict-do-update.out 2024-03-29 10:06:51.875270895 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/insert-conflict-do-update.out 2024-03-29 10:13:19.707275281 +0000 @@ -1,27 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: insert1 insert2 c1 select2 c2 -step insert1: INSERT INTO upsert(key, val) VALUES(1, 'insert1') ON CONFLICT (key) DO UPDATE set val = upsert.val || ' updated by insert1'; -step insert2: INSERT INTO upsert(key, val) VALUES(1, 'insert2') ON CONFLICT (key) DO UPDATE set val = upsert.val || ' updated by insert2'; -step c1: COMMIT; -step insert2: <... completed> -step select2: SELECT * FROM upsert; -key|val ----+-------------------------- - 1|insert1 updated by insert2 -(1 row) - -step c2: COMMIT; - -starting permutation: insert1 insert2 a1 select2 c2 -step insert1: INSERT INTO upsert(key, val) VALUES(1, 'insert1') ON CONFLICT (key) DO UPDATE set val = upsert.val || ' updated by insert1'; -step insert2: INSERT INTO upsert(key, val) VALUES(1, 'insert2') ON CONFLICT (key) DO UPDATE set val = upsert.val || ' updated by insert2'; -step a1: ABORT; -step insert2: <... completed> -step select2: SELECT * FROM upsert; -key|val ----+------- - 1|insert2 -(1 row) - -step c2: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/insert-conflict-do-update-2.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/insert-conflict-do-update-2.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/insert-conflict-do-update-2.out 2024-03-29 10:06:51.875270895 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/insert-conflict-do-update-2.out 2024-03-29 10:13:19.715275280 +0000 @@ -1,27 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: insert1 insert2 c1 select2 c2 -step insert1: INSERT INTO upsert(key, payload) VALUES('FooFoo', 'insert1') ON CONFLICT (lower(key)) DO UPDATE set key = EXCLUDED.key, payload = upsert.payload || ' updated by insert1'; -step insert2: INSERT INTO upsert(key, payload) VALUES('FOOFOO', 'insert2') ON CONFLICT (lower(key)) DO UPDATE set key = EXCLUDED.key, payload = upsert.payload || ' updated by insert2'; -step c1: COMMIT; -step insert2: <... completed> -step select2: SELECT * FROM upsert; -key |payload -------+-------------------------- -FOOFOO|insert1 updated by insert2 -(1 row) - -step c2: COMMIT; - -starting permutation: insert1 insert2 a1 select2 c2 -step insert1: INSERT INTO upsert(key, payload) VALUES('FooFoo', 'insert1') ON CONFLICT (lower(key)) DO UPDATE set key = EXCLUDED.key, payload = upsert.payload || ' updated by insert1'; -step insert2: INSERT INTO upsert(key, payload) VALUES('FOOFOO', 'insert2') ON CONFLICT (lower(key)) DO UPDATE set key = EXCLUDED.key, payload = upsert.payload || ' updated by insert2'; -step a1: ABORT; -step insert2: <... completed> -step select2: SELECT * FROM upsert; -key |payload -------+------- -FOOFOO|insert2 -(1 row) - -step c2: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/insert-conflict-do-update-3.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/insert-conflict-do-update-3.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/insert-conflict-do-update-3.out 2024-03-29 10:06:51.875270895 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/insert-conflict-do-update-3.out 2024-03-29 10:13:19.723275279 +0000 @@ -1,30 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: update2 insert1 c2 select1surprise c1 -step update2: UPDATE colors SET is_active = true WHERE key = 1; -step insert1: - WITH t AS ( - INSERT INTO colors(key, color, is_active) - VALUES(1, 'Brown', true), (2, 'Gray', true) - ON CONFLICT (key) DO UPDATE - SET color = EXCLUDED.color - WHERE colors.is_active) - SELECT * FROM colors ORDER BY key; -step c2: COMMIT; -step insert1: <... completed> -key|color|is_active ----+-----+--------- - 1|Red |f - 2|Green|f - 3|Blue |f -(3 rows) - -step select1surprise: SELECT * FROM colors ORDER BY key; -key|color|is_active ----+-----+--------- - 1|Brown|t - 2|Green|f - 3|Blue |f -(3 rows) - -step c1: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/insert-conflict-specconflict.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/insert-conflict-specconflict.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/insert-conflict-specconflict.out 2024-03-29 10:06:51.875270895 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/insert-conflict-specconflict.out 2024-03-29 10:13:19.735275276 +0000 @@ -1,553 +1,3 @@ Parsed test spec with 3 sessions - -starting permutation: controller_locks controller_show s1_upsert s2_upsert controller_show controller_unlock_1_1 controller_unlock_2_1 controller_unlock_1_3 controller_unlock_2_3 controller_show controller_unlock_2_2 controller_show controller_unlock_1_2 controller_show -step controller_locks: SELECT pg_advisory_lock(sess, lock), sess, lock FROM generate_series(1, 2) a(sess), generate_series(1,3) b(lock); -pg_advisory_lock|sess|lock -----------------+----+---- - | 1| 1 - | 1| 2 - | 1| 3 - | 2| 1 - | 2| 2 - | 2| 3 -(6 rows) - -step controller_show: SELECT * FROM upserttest; -key|data ----+---- -(0 rows) - -s1: NOTICE: blurt_and_lock_123() called for k1 in session 1 -s1: NOTICE: acquiring advisory lock on 3 -step s1_upsert: INSERT INTO upserttest(key, data) VALUES('k1', 'inserted s1') ON CONFLICT (blurt_and_lock_123(key)) DO UPDATE SET data = upserttest.data || ' with conflict update s1'; -s2: NOTICE: blurt_and_lock_123() called for k1 in session 2 -s2: NOTICE: acquiring advisory lock on 3 -step s2_upsert: INSERT INTO upserttest(key, data) VALUES('k1', 'inserted s2') ON CONFLICT (blurt_and_lock_123(key)) DO UPDATE SET data = upserttest.data || ' with conflict update s2'; -step controller_show: SELECT * FROM upserttest; -key|data ----+---- -(0 rows) - -step controller_unlock_1_1: SELECT pg_advisory_unlock(1, 1); -pg_advisory_unlock ------------------- -t -(1 row) - -step controller_unlock_2_1: SELECT pg_advisory_unlock(2, 1); -pg_advisory_unlock ------------------- -t -(1 row) - -step controller_unlock_1_3: SELECT pg_advisory_unlock(1, 3); -pg_advisory_unlock ------------------- -t -(1 row) - -s1: NOTICE: blurt_and_lock_123() called for k1 in session 1 -s1: NOTICE: acquiring advisory lock on 2 -step controller_unlock_2_3: SELECT pg_advisory_unlock(2, 3); -pg_advisory_unlock ------------------- -t -(1 row) - -s2: NOTICE: blurt_and_lock_123() called for k1 in session 2 -s2: NOTICE: acquiring advisory lock on 2 -step controller_show: SELECT * FROM upserttest; -key|data ----+---- -(0 rows) - -step controller_unlock_2_2: SELECT pg_advisory_unlock(2, 2); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2_upsert: <... completed> -step controller_show: SELECT * FROM upserttest; -key|data ----+----------- -k1 |inserted s2 -(1 row) - -step controller_unlock_1_2: SELECT pg_advisory_unlock(1, 2); -pg_advisory_unlock ------------------- -t -(1 row) - -s1: NOTICE: blurt_and_lock_123() called for k1 in session 1 -s1: NOTICE: acquiring advisory lock on 2 -s1: NOTICE: blurt_and_lock_123() called for k1 in session 1 -s1: NOTICE: acquiring advisory lock on 2 -step s1_upsert: <... completed> -step controller_show: SELECT * FROM upserttest; -key|data ----+----------------------------------- -k1 |inserted s2 with conflict update s1 -(1 row) - - -starting permutation: controller_locks controller_show s1_upsert s2_upsert controller_show controller_unlock_1_1 controller_unlock_2_1 controller_unlock_1_3 controller_unlock_2_3 controller_show controller_unlock_1_2 controller_show controller_unlock_2_2 controller_show -step controller_locks: SELECT pg_advisory_lock(sess, lock), sess, lock FROM generate_series(1, 2) a(sess), generate_series(1,3) b(lock); -pg_advisory_lock|sess|lock -----------------+----+---- - | 1| 1 - | 1| 2 - | 1| 3 - | 2| 1 - | 2| 2 - | 2| 3 -(6 rows) - -step controller_show: SELECT * FROM upserttest; -key|data ----+---- -(0 rows) - -s1: NOTICE: blurt_and_lock_123() called for k1 in session 1 -s1: NOTICE: acquiring advisory lock on 3 -step s1_upsert: INSERT INTO upserttest(key, data) VALUES('k1', 'inserted s1') ON CONFLICT (blurt_and_lock_123(key)) DO UPDATE SET data = upserttest.data || ' with conflict update s1'; -s2: NOTICE: blurt_and_lock_123() called for k1 in session 2 -s2: NOTICE: acquiring advisory lock on 3 -step s2_upsert: INSERT INTO upserttest(key, data) VALUES('k1', 'inserted s2') ON CONFLICT (blurt_and_lock_123(key)) DO UPDATE SET data = upserttest.data || ' with conflict update s2'; -step controller_show: SELECT * FROM upserttest; -key|data ----+---- -(0 rows) - -step controller_unlock_1_1: SELECT pg_advisory_unlock(1, 1); -pg_advisory_unlock ------------------- -t -(1 row) - -step controller_unlock_2_1: SELECT pg_advisory_unlock(2, 1); -pg_advisory_unlock ------------------- -t -(1 row) - -step controller_unlock_1_3: SELECT pg_advisory_unlock(1, 3); -pg_advisory_unlock ------------------- -t -(1 row) - -s1: NOTICE: blurt_and_lock_123() called for k1 in session 1 -s1: NOTICE: acquiring advisory lock on 2 -step controller_unlock_2_3: SELECT pg_advisory_unlock(2, 3); -pg_advisory_unlock ------------------- -t -(1 row) - -s2: NOTICE: blurt_and_lock_123() called for k1 in session 2 -s2: NOTICE: acquiring advisory lock on 2 -step controller_show: SELECT * FROM upserttest; -key|data ----+---- -(0 rows) - -step controller_unlock_1_2: SELECT pg_advisory_unlock(1, 2); -pg_advisory_unlock ------------------- -t -(1 row) - -step s1_upsert: <... completed> -step controller_show: SELECT * FROM upserttest; -key|data ----+----------- -k1 |inserted s1 -(1 row) - -step controller_unlock_2_2: SELECT pg_advisory_unlock(2, 2); -pg_advisory_unlock ------------------- -t -(1 row) - -s2: NOTICE: blurt_and_lock_123() called for k1 in session 2 -s2: NOTICE: acquiring advisory lock on 2 -s2: NOTICE: blurt_and_lock_123() called for k1 in session 2 -s2: NOTICE: acquiring advisory lock on 2 -step s2_upsert: <... completed> -step controller_show: SELECT * FROM upserttest; -key|data ----+----------------------------------- -k1 |inserted s1 with conflict update s2 -(1 row) - - -starting permutation: controller_locks controller_show s1_insert_toast s2_insert_toast controller_show controller_unlock_1_1 controller_unlock_2_1 controller_unlock_1_3 controller_unlock_2_3 controller_show controller_unlock_1_2 controller_show_count controller_unlock_2_2 controller_show_count -step controller_locks: SELECT pg_advisory_lock(sess, lock), sess, lock FROM generate_series(1, 2) a(sess), generate_series(1,3) b(lock); -pg_advisory_lock|sess|lock -----------------+----+---- - | 1| 1 - | 1| 2 - | 1| 3 - | 2| 1 - | 2| 2 - | 2| 3 -(6 rows) - -step controller_show: SELECT * FROM upserttest; -key|data ----+---- -(0 rows) - -s1: NOTICE: blurt_and_lock_123() called for k2 in session 1 -s1: NOTICE: acquiring advisory lock on 3 -step s1_insert_toast: INSERT INTO upserttest VALUES('k2', ctoast_large_val()) ON CONFLICT DO NOTHING; -s2: NOTICE: blurt_and_lock_123() called for k2 in session 2 -s2: NOTICE: acquiring advisory lock on 3 -step s2_insert_toast: INSERT INTO upserttest VALUES('k2', ctoast_large_val()) ON CONFLICT DO NOTHING; -step controller_show: SELECT * FROM upserttest; -key|data ----+---- -(0 rows) - -step controller_unlock_1_1: SELECT pg_advisory_unlock(1, 1); -pg_advisory_unlock ------------------- -t -(1 row) - -step controller_unlock_2_1: SELECT pg_advisory_unlock(2, 1); -pg_advisory_unlock ------------------- -t -(1 row) - -step controller_unlock_1_3: SELECT pg_advisory_unlock(1, 3); -pg_advisory_unlock ------------------- -t -(1 row) - -s1: NOTICE: blurt_and_lock_123() called for k2 in session 1 -s1: NOTICE: acquiring advisory lock on 2 -step controller_unlock_2_3: SELECT pg_advisory_unlock(2, 3); -pg_advisory_unlock ------------------- -t -(1 row) - -s2: NOTICE: blurt_and_lock_123() called for k2 in session 2 -s2: NOTICE: acquiring advisory lock on 2 -step controller_show: SELECT * FROM upserttest; -key|data ----+---- -(0 rows) - -step controller_unlock_1_2: SELECT pg_advisory_unlock(1, 2); -pg_advisory_unlock ------------------- -t -(1 row) - -step s1_insert_toast: <... completed> -step controller_show_count: SELECT COUNT(*) FROM upserttest; -count ------ - 1 -(1 row) - -step controller_unlock_2_2: SELECT pg_advisory_unlock(2, 2); -pg_advisory_unlock ------------------- -t -(1 row) - -s2: NOTICE: blurt_and_lock_123() called for k2 in session 2 -s2: NOTICE: acquiring advisory lock on 2 -s2: NOTICE: blurt_and_lock_123() called for k2 in session 2 -s2: NOTICE: acquiring advisory lock on 2 -step s2_insert_toast: <... completed> -step controller_show_count: SELECT COUNT(*) FROM upserttest; -count ------ - 1 -(1 row) - - -starting permutation: controller_locks controller_show s1_begin s2_begin s1_upsert s2_upsert controller_show controller_unlock_1_1 controller_unlock_2_1 controller_unlock_1_3 controller_unlock_2_3 controller_show controller_unlock_1_2 controller_show controller_unlock_2_2 controller_show s1_commit controller_show s2_commit controller_show -step controller_locks: SELECT pg_advisory_lock(sess, lock), sess, lock FROM generate_series(1, 2) a(sess), generate_series(1,3) b(lock); -pg_advisory_lock|sess|lock -----------------+----+---- - | 1| 1 - | 1| 2 - | 1| 3 - | 2| 1 - | 2| 2 - | 2| 3 -(6 rows) - -step controller_show: SELECT * FROM upserttest; -key|data ----+---- -(0 rows) - -step s1_begin: BEGIN; -step s2_begin: BEGIN; -s1: NOTICE: blurt_and_lock_123() called for k1 in session 1 -s1: NOTICE: acquiring advisory lock on 3 -step s1_upsert: INSERT INTO upserttest(key, data) VALUES('k1', 'inserted s1') ON CONFLICT (blurt_and_lock_123(key)) DO UPDATE SET data = upserttest.data || ' with conflict update s1'; -s2: NOTICE: blurt_and_lock_123() called for k1 in session 2 -s2: NOTICE: acquiring advisory lock on 3 -step s2_upsert: INSERT INTO upserttest(key, data) VALUES('k1', 'inserted s2') ON CONFLICT (blurt_and_lock_123(key)) DO UPDATE SET data = upserttest.data || ' with conflict update s2'; -step controller_show: SELECT * FROM upserttest; -key|data ----+---- -(0 rows) - -step controller_unlock_1_1: SELECT pg_advisory_unlock(1, 1); -pg_advisory_unlock ------------------- -t -(1 row) - -step controller_unlock_2_1: SELECT pg_advisory_unlock(2, 1); -pg_advisory_unlock ------------------- -t -(1 row) - -step controller_unlock_1_3: SELECT pg_advisory_unlock(1, 3); -pg_advisory_unlock ------------------- -t -(1 row) - -s1: NOTICE: blurt_and_lock_123() called for k1 in session 1 -s1: NOTICE: acquiring advisory lock on 2 -step controller_unlock_2_3: SELECT pg_advisory_unlock(2, 3); -pg_advisory_unlock ------------------- -t -(1 row) - -s2: NOTICE: blurt_and_lock_123() called for k1 in session 2 -s2: NOTICE: acquiring advisory lock on 2 -step controller_show: SELECT * FROM upserttest; -key|data ----+---- -(0 rows) - -step controller_unlock_1_2: SELECT pg_advisory_unlock(1, 2); -pg_advisory_unlock ------------------- -t -(1 row) - -step s1_upsert: <... completed> -step controller_show: SELECT * FROM upserttest; -key|data ----+---- -(0 rows) - -step controller_unlock_2_2: SELECT pg_advisory_unlock(2, 2); -pg_advisory_unlock ------------------- -t -(1 row) - -s2: NOTICE: blurt_and_lock_123() called for k1 in session 2 -s2: NOTICE: acquiring advisory lock on 2 -s2: NOTICE: blurt_and_lock_123() called for k1 in session 2 -s2: NOTICE: acquiring advisory lock on 2 -step controller_show: SELECT * FROM upserttest; -key|data ----+---- -(0 rows) - -step s1_commit: COMMIT; -s2: NOTICE: blurt_and_lock_123() called for k1 in session 2 -s2: NOTICE: acquiring advisory lock on 2 -step s2_upsert: <... completed> -step controller_show: SELECT * FROM upserttest; -key|data ----+----------- -k1 |inserted s1 -(1 row) - -step s2_commit: COMMIT; -step controller_show: SELECT * FROM upserttest; -key|data ----+----------------------------------- -k1 |inserted s1 with conflict update s2 -(1 row) - - -starting permutation: s1_create_non_unique_index s1_confirm_index_order controller_locks controller_show s2_begin s1_upsert s2_upsert controller_show controller_unlock_1_1 controller_unlock_2_1 controller_unlock_1_3 controller_unlock_2_3 controller_show controller_lock_2_4 controller_unlock_2_2 controller_show controller_unlock_1_2 controller_print_speculative_locks controller_unlock_2_4 s2_noop controller_print_speculative_locks s2_commit s1_noop controller_show controller_print_speculative_locks -step s1_create_non_unique_index: CREATE INDEX upserttest_key_idx ON upserttest((blurt_and_lock_4(key))); -step s1_confirm_index_order: SELECT 'upserttest_key_uniq_idx'::regclass::int8 < 'upserttest_key_idx'::regclass::int8; -?column? --------- -t -(1 row) - -step controller_locks: SELECT pg_advisory_lock(sess, lock), sess, lock FROM generate_series(1, 2) a(sess), generate_series(1,3) b(lock); -pg_advisory_lock|sess|lock -----------------+----+---- - | 1| 1 - | 1| 2 - | 1| 3 - | 2| 1 - | 2| 2 - | 2| 3 -(6 rows) - -step controller_show: SELECT * FROM upserttest; -key|data ----+---- -(0 rows) - -step s2_begin: BEGIN; -s1: NOTICE: blurt_and_lock_123() called for k1 in session 1 -s1: NOTICE: acquiring advisory lock on 3 -step s1_upsert: INSERT INTO upserttest(key, data) VALUES('k1', 'inserted s1') ON CONFLICT (blurt_and_lock_123(key)) DO UPDATE SET data = upserttest.data || ' with conflict update s1'; -s2: NOTICE: blurt_and_lock_123() called for k1 in session 2 -s2: NOTICE: acquiring advisory lock on 3 -step s2_upsert: INSERT INTO upserttest(key, data) VALUES('k1', 'inserted s2') ON CONFLICT (blurt_and_lock_123(key)) DO UPDATE SET data = upserttest.data || ' with conflict update s2'; -step controller_show: SELECT * FROM upserttest; -key|data ----+---- -(0 rows) - -step controller_unlock_1_1: SELECT pg_advisory_unlock(1, 1); -pg_advisory_unlock ------------------- -t -(1 row) - -step controller_unlock_2_1: SELECT pg_advisory_unlock(2, 1); -pg_advisory_unlock ------------------- -t -(1 row) - -step controller_unlock_1_3: SELECT pg_advisory_unlock(1, 3); -pg_advisory_unlock ------------------- -t -(1 row) - -s1: NOTICE: blurt_and_lock_123() called for k1 in session 1 -s1: NOTICE: acquiring advisory lock on 2 -step controller_unlock_2_3: SELECT pg_advisory_unlock(2, 3); -pg_advisory_unlock ------------------- -t -(1 row) - -s2: NOTICE: blurt_and_lock_123() called for k1 in session 2 -s2: NOTICE: acquiring advisory lock on 2 -step controller_show: SELECT * FROM upserttest; -key|data ----+---- -(0 rows) - -step controller_lock_2_4: SELECT pg_advisory_lock(2, 4); -pg_advisory_lock ----------------- - -(1 row) - -step controller_unlock_2_2: SELECT pg_advisory_unlock(2, 2); -pg_advisory_unlock ------------------- -t -(1 row) - -s2: NOTICE: blurt_and_lock_4() called for k1 in session 2 -s2: NOTICE: acquiring advisory lock on 4 -step controller_show: SELECT * FROM upserttest; -key|data ----+---- -(0 rows) - -step controller_unlock_1_2: SELECT pg_advisory_unlock(1, 2); -pg_advisory_unlock ------------------- -t -(1 row) - -s1: NOTICE: blurt_and_lock_4() called for k1 in session 1 -s1: NOTICE: acquiring advisory lock on 4 -s1: NOTICE: blurt_and_lock_123() called for k1 in session 1 -s1: NOTICE: acquiring advisory lock on 2 -s1: NOTICE: blurt_and_lock_123() called for k1 in session 1 -s1: NOTICE: acquiring advisory lock on 2 -step controller_print_speculative_locks: - SELECT pa.application_name, locktype, mode, granted - FROM pg_locks pl JOIN pg_stat_activity pa USING (pid) - WHERE - locktype IN ('spectoken', 'transactionid') - AND pa.datname = current_database() - AND pa.application_name LIKE 'isolation/insert-conflict-specconflict/s%' - ORDER BY 1, 2, 3, 4; - -application_name |locktype |mode |granted ------------------------------------------+-------------+-------------+------- -isolation/insert-conflict-specconflict/s1|spectoken |ShareLock |f -isolation/insert-conflict-specconflict/s1|transactionid|ExclusiveLock|t -isolation/insert-conflict-specconflict/s2|spectoken |ExclusiveLock|t -isolation/insert-conflict-specconflict/s2|transactionid|ExclusiveLock|t -(4 rows) - -step controller_unlock_2_4: SELECT pg_advisory_unlock(2, 4); -pg_advisory_unlock ------------------- -t -(1 row) - -s1: NOTICE: blurt_and_lock_123() called for k1 in session 1 -s1: NOTICE: acquiring advisory lock on 2 -step s2_upsert: <... completed> -step s2_noop: -step controller_print_speculative_locks: - SELECT pa.application_name, locktype, mode, granted - FROM pg_locks pl JOIN pg_stat_activity pa USING (pid) - WHERE - locktype IN ('spectoken', 'transactionid') - AND pa.datname = current_database() - AND pa.application_name LIKE 'isolation/insert-conflict-specconflict/s%' - ORDER BY 1, 2, 3, 4; - -application_name |locktype |mode |granted ------------------------------------------+-------------+-------------+------- -isolation/insert-conflict-specconflict/s1|transactionid|ExclusiveLock|t -isolation/insert-conflict-specconflict/s1|transactionid|ShareLock |f -isolation/insert-conflict-specconflict/s2|transactionid|ExclusiveLock|t -(3 rows) - -step s2_commit: COMMIT; -s1: NOTICE: blurt_and_lock_123() called for k1 in session 1 -s1: NOTICE: acquiring advisory lock on 2 -step s1_upsert: <... completed> -step s1_noop: -step controller_show: SELECT * FROM upserttest; -key|data ----+----------------------------------- -k1 |inserted s2 with conflict update s1 -(1 row) - -step controller_print_speculative_locks: - SELECT pa.application_name, locktype, mode, granted - FROM pg_locks pl JOIN pg_stat_activity pa USING (pid) - WHERE - locktype IN ('spectoken', 'transactionid') - AND pa.datname = current_database() - AND pa.application_name LIKE 'isolation/insert-conflict-specconflict/s%' - ORDER BY 1, 2, 3, 4; - -application_name|locktype|mode|granted -----------------+--------+----+------- -(0 rows) - +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/merge-insert-update.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/merge-insert-update.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/merge-insert-update.out 2024-03-29 10:06:51.879270891 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/merge-insert-update.out 2024-03-29 10:13:19.743275275 +0000 @@ -1,94 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: merge1 c1 select2 c2 -step merge1: MERGE INTO target t USING (SELECT 1 as key, 'merge1' as val) s ON s.key = t.key WHEN NOT MATCHED THEN INSERT VALUES (s.key, s.val) WHEN MATCHED THEN UPDATE set val = t.val || ' updated by merge1'; -step c1: COMMIT; -step select2: SELECT * FROM target; -key|val ----+------ - 1|merge1 -(1 row) - -step c2: COMMIT; - -starting permutation: merge1 c1 merge2 select2 c2 -step merge1: MERGE INTO target t USING (SELECT 1 as key, 'merge1' as val) s ON s.key = t.key WHEN NOT MATCHED THEN INSERT VALUES (s.key, s.val) WHEN MATCHED THEN UPDATE set val = t.val || ' updated by merge1'; -step c1: COMMIT; -step merge2: MERGE INTO target t USING (SELECT 1 as key, 'merge2' as val) s ON s.key = t.key WHEN NOT MATCHED THEN INSERT VALUES (s.key, s.val) WHEN MATCHED THEN UPDATE set val = t.val || ' updated by merge2'; -step select2: SELECT * FROM target; -key|val ----+------------------------ - 1|merge1 updated by merge2 -(1 row) - -step c2: COMMIT; - -starting permutation: insert1 merge2 c1 select2 c2 -step insert1: INSERT INTO target VALUES (1, 'insert1'); -step merge2: MERGE INTO target t USING (SELECT 1 as key, 'merge2' as val) s ON s.key = t.key WHEN NOT MATCHED THEN INSERT VALUES (s.key, s.val) WHEN MATCHED THEN UPDATE set val = t.val || ' updated by merge2'; -step c1: COMMIT; -step merge2: <... completed> -ERROR: duplicate key value violates unique constraint "target_pkey" -step select2: SELECT * FROM target; -ERROR: current transaction is aborted, commands ignored until end of transaction block -step c2: COMMIT; - -starting permutation: merge1 merge2 c1 select2 c2 -step merge1: MERGE INTO target t USING (SELECT 1 as key, 'merge1' as val) s ON s.key = t.key WHEN NOT MATCHED THEN INSERT VALUES (s.key, s.val) WHEN MATCHED THEN UPDATE set val = t.val || ' updated by merge1'; -step merge2: MERGE INTO target t USING (SELECT 1 as key, 'merge2' as val) s ON s.key = t.key WHEN NOT MATCHED THEN INSERT VALUES (s.key, s.val) WHEN MATCHED THEN UPDATE set val = t.val || ' updated by merge2'; -step c1: COMMIT; -step merge2: <... completed> -ERROR: duplicate key value violates unique constraint "target_pkey" -step select2: SELECT * FROM target; -ERROR: current transaction is aborted, commands ignored until end of transaction block -step c2: COMMIT; - -starting permutation: merge1 merge2 a1 select2 c2 -step merge1: MERGE INTO target t USING (SELECT 1 as key, 'merge1' as val) s ON s.key = t.key WHEN NOT MATCHED THEN INSERT VALUES (s.key, s.val) WHEN MATCHED THEN UPDATE set val = t.val || ' updated by merge1'; -step merge2: MERGE INTO target t USING (SELECT 1 as key, 'merge2' as val) s ON s.key = t.key WHEN NOT MATCHED THEN INSERT VALUES (s.key, s.val) WHEN MATCHED THEN UPDATE set val = t.val || ' updated by merge2'; -step a1: ABORT; -step merge2: <... completed> -step select2: SELECT * FROM target; -key|val ----+------ - 1|merge2 -(1 row) - -step c2: COMMIT; - -starting permutation: delete1 insert1 c1 merge2 select2 c2 -step delete1: DELETE FROM target WHERE key = 1; -step insert1: INSERT INTO target VALUES (1, 'insert1'); -step c1: COMMIT; -step merge2: MERGE INTO target t USING (SELECT 1 as key, 'merge2' as val) s ON s.key = t.key WHEN NOT MATCHED THEN INSERT VALUES (s.key, s.val) WHEN MATCHED THEN UPDATE set val = t.val || ' updated by merge2'; -step select2: SELECT * FROM target; -key|val ----+------------------------- - 1|insert1 updated by merge2 -(1 row) - -step c2: COMMIT; - -starting permutation: delete1 insert1 merge2 c1 select2 c2 -step delete1: DELETE FROM target WHERE key = 1; -step insert1: INSERT INTO target VALUES (1, 'insert1'); -step merge2: MERGE INTO target t USING (SELECT 1 as key, 'merge2' as val) s ON s.key = t.key WHEN NOT MATCHED THEN INSERT VALUES (s.key, s.val) WHEN MATCHED THEN UPDATE set val = t.val || ' updated by merge2'; -step c1: COMMIT; -step merge2: <... completed> -ERROR: duplicate key value violates unique constraint "target_pkey" -step select2: SELECT * FROM target; -ERROR: current transaction is aborted, commands ignored until end of transaction block -step c2: COMMIT; - -starting permutation: delete1 insert1 merge2i c1 select2 c2 -step delete1: DELETE FROM target WHERE key = 1; -step insert1: INSERT INTO target VALUES (1, 'insert1'); -step merge2i: MERGE INTO target t USING (SELECT 1 as key, 'merge2' as val) s ON s.key = t.key WHEN MATCHED THEN UPDATE set val = t.val || ' updated by merge2'; -step c1: COMMIT; -step select2: SELECT * FROM target; -key|val ----+------- - 1|insert1 -(1 row) - -step c2: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/merge-delete.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/merge-delete.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/merge-delete.out 2024-03-29 10:06:51.875270895 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/merge-delete.out 2024-03-29 10:13:19.751275273 +0000 @@ -1,236 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: delete c1 select2 c2 -step delete: DELETE FROM target t WHERE t.key = 1; -step c1: COMMIT; -step select2: SELECT * FROM target; -key|val ----+--- -(0 rows) - -step c2: COMMIT; - -starting permutation: delete_pa c1 select2_pa c2 -step delete_pa: DELETE FROM target_pa t WHERE t.key = 1; -step c1: COMMIT; -step select2_pa: SELECT * FROM target_pa; -key|val ----+--- -(0 rows) - -step c2: COMMIT; - -starting permutation: delete_tg c1 select2_tg c2 -s1: NOTICE: Delete: (1,setup1) -step delete_tg: DELETE FROM target_tg t WHERE t.key = 1; -step c1: COMMIT; -step select2_tg: SELECT * FROM target_tg; -key|val ----+--- -(0 rows) - -step c2: COMMIT; - -starting permutation: delete c1 update2 select2 c2 -step delete: DELETE FROM target t WHERE t.key = 1; -step c1: COMMIT; -step update2: UPDATE target t SET val = t.val || ' updated by update2' WHERE t.key = 1; -step select2: SELECT * FROM target; -key|val ----+--- -(0 rows) - -step c2: COMMIT; - -starting permutation: delete_pa c1 update2_pa select2_pa c2 -step delete_pa: DELETE FROM target_pa t WHERE t.key = 1; -step c1: COMMIT; -step update2_pa: UPDATE target_pa t SET val = t.val || ' updated by update2_pa' WHERE t.key = 1; -step select2_pa: SELECT * FROM target_pa; -key|val ----+--- -(0 rows) - -step c2: COMMIT; - -starting permutation: delete_tg c1 update2_tg select2_tg c2 -s1: NOTICE: Delete: (1,setup1) -step delete_tg: DELETE FROM target_tg t WHERE t.key = 1; -step c1: COMMIT; -step update2_tg: UPDATE target_tg t SET val = t.val || ' updated by update2_tg' WHERE t.key = 1; -step select2_tg: SELECT * FROM target_tg; -key|val ----+--- -(0 rows) - -step c2: COMMIT; - -starting permutation: delete c1 merge2 select2 c2 -step delete: DELETE FROM target t WHERE t.key = 1; -step c1: COMMIT; -step merge2: MERGE INTO target t USING (SELECT 1 as key, 'merge2' as val) s ON s.key = t.key WHEN NOT MATCHED THEN INSERT VALUES (s.key, s.val) WHEN MATCHED THEN UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val; -step select2: SELECT * FROM target; -key|val ----+------ - 1|merge2 -(1 row) - -step c2: COMMIT; - -starting permutation: delete_pa c1 merge2_pa select2_pa c2 -step delete_pa: DELETE FROM target_pa t WHERE t.key = 1; -step c1: COMMIT; -step merge2_pa: MERGE INTO target_pa t USING (SELECT 1 as key, 'merge2_pa' as val) s ON s.key = t.key WHEN NOT MATCHED THEN INSERT VALUES (s.key, s.val) WHEN MATCHED THEN UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val; -step select2_pa: SELECT * FROM target_pa; -key|val ----+--------- - 1|merge2_pa -(1 row) - -step c2: COMMIT; - -starting permutation: delete_tg c1 merge2_tg select2_tg c2 -s1: NOTICE: Delete: (1,setup1) -step delete_tg: DELETE FROM target_tg t WHERE t.key = 1; -step c1: COMMIT; -s2: NOTICE: Insert: (1,merge2_tg) -step merge2_tg: MERGE INTO target_tg t USING (SELECT 1 as key, 'merge2_tg' as val) s ON s.key = t.key WHEN NOT MATCHED THEN INSERT VALUES (s.key, s.val) WHEN MATCHED THEN UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val; -step select2_tg: SELECT * FROM target_tg; -key|val ----+--------- - 1|merge2_tg -(1 row) - -step c2: COMMIT; - -starting permutation: delete c1 merge_delete2 select2 c2 -step delete: DELETE FROM target t WHERE t.key = 1; -step c1: COMMIT; -step merge_delete2: MERGE INTO target t USING (SELECT 1 as key, 'merge_delete2' as val) s ON s.key = t.key WHEN NOT MATCHED THEN INSERT VALUES (s.key, s.val) WHEN MATCHED THEN DELETE; -step select2: SELECT * FROM target; -key|val ----+------------- - 1|merge_delete2 -(1 row) - -step c2: COMMIT; - -starting permutation: delete_tg c1 merge_delete2_tg select2_tg c2 -s1: NOTICE: Delete: (1,setup1) -step delete_tg: DELETE FROM target_tg t WHERE t.key = 1; -step c1: COMMIT; -s2: NOTICE: Insert: (1,merge_delete2_tg) -step merge_delete2_tg: MERGE INTO target_tg t USING (SELECT 1 as key, 'merge_delete2_tg' as val) s ON s.key = t.key WHEN NOT MATCHED THEN INSERT VALUES (s.key, s.val) WHEN MATCHED THEN DELETE; -step select2_tg: SELECT * FROM target_tg; -key|val ----+---------------- - 1|merge_delete2_tg -(1 row) - -step c2: COMMIT; - -starting permutation: delete update2 c1 select2 c2 -step delete: DELETE FROM target t WHERE t.key = 1; -step update2: UPDATE target t SET val = t.val || ' updated by update2' WHERE t.key = 1; -step c1: COMMIT; -step update2: <... completed> -step select2: SELECT * FROM target; -key|val ----+--- -(0 rows) - -step c2: COMMIT; - -starting permutation: delete_pa update2_pa c1 select2_pa c2 -step delete_pa: DELETE FROM target_pa t WHERE t.key = 1; -step update2_pa: UPDATE target_pa t SET val = t.val || ' updated by update2_pa' WHERE t.key = 1; -step c1: COMMIT; -step update2_pa: <... completed> -step select2_pa: SELECT * FROM target_pa; -key|val ----+--- -(0 rows) - -step c2: COMMIT; - -starting permutation: delete_tg update2_tg c1 select2_tg c2 -s1: NOTICE: Delete: (1,setup1) -step delete_tg: DELETE FROM target_tg t WHERE t.key = 1; -step update2_tg: UPDATE target_tg t SET val = t.val || ' updated by update2_tg' WHERE t.key = 1; -step c1: COMMIT; -step update2_tg: <... completed> -step select2_tg: SELECT * FROM target_tg; -key|val ----+--- -(0 rows) - -step c2: COMMIT; - -starting permutation: delete merge2 c1 select2 c2 -step delete: DELETE FROM target t WHERE t.key = 1; -step merge2: MERGE INTO target t USING (SELECT 1 as key, 'merge2' as val) s ON s.key = t.key WHEN NOT MATCHED THEN INSERT VALUES (s.key, s.val) WHEN MATCHED THEN UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val; -step c1: COMMIT; -step merge2: <... completed> -step select2: SELECT * FROM target; -key|val ----+------ - 1|merge2 -(1 row) - -step c2: COMMIT; - -starting permutation: delete_pa merge2_pa c1 select2_pa c2 -step delete_pa: DELETE FROM target_pa t WHERE t.key = 1; -step merge2_pa: MERGE INTO target_pa t USING (SELECT 1 as key, 'merge2_pa' as val) s ON s.key = t.key WHEN NOT MATCHED THEN INSERT VALUES (s.key, s.val) WHEN MATCHED THEN UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val; -step c1: COMMIT; -step merge2_pa: <... completed> -step select2_pa: SELECT * FROM target_pa; -key|val ----+--------- - 1|merge2_pa -(1 row) - -step c2: COMMIT; - -starting permutation: delete_tg merge2_tg c1 select2_tg c2 -s1: NOTICE: Delete: (1,setup1) -step delete_tg: DELETE FROM target_tg t WHERE t.key = 1; -step merge2_tg: MERGE INTO target_tg t USING (SELECT 1 as key, 'merge2_tg' as val) s ON s.key = t.key WHEN NOT MATCHED THEN INSERT VALUES (s.key, s.val) WHEN MATCHED THEN UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val; -step c1: COMMIT; -s2: NOTICE: Insert: (1,merge2_tg) -step merge2_tg: <... completed> -step select2_tg: SELECT * FROM target_tg; -key|val ----+--------- - 1|merge2_tg -(1 row) - -step c2: COMMIT; - -starting permutation: delete merge_delete2 c1 select2 c2 -step delete: DELETE FROM target t WHERE t.key = 1; -step merge_delete2: MERGE INTO target t USING (SELECT 1 as key, 'merge_delete2' as val) s ON s.key = t.key WHEN NOT MATCHED THEN INSERT VALUES (s.key, s.val) WHEN MATCHED THEN DELETE; -step c1: COMMIT; -step merge_delete2: <... completed> -step select2: SELECT * FROM target; -key|val ----+------------- - 1|merge_delete2 -(1 row) - -step c2: COMMIT; - -starting permutation: delete_tg merge_delete2_tg c1 select2_tg c2 -s1: NOTICE: Delete: (1,setup1) -step delete_tg: DELETE FROM target_tg t WHERE t.key = 1; -step merge_delete2_tg: MERGE INTO target_tg t USING (SELECT 1 as key, 'merge_delete2_tg' as val) s ON s.key = t.key WHEN NOT MATCHED THEN INSERT VALUES (s.key, s.val) WHEN MATCHED THEN DELETE; -step c1: COMMIT; -s2: NOTICE: Insert: (1,merge_delete2_tg) -step merge_delete2_tg: <... completed> -step select2_tg: SELECT * FROM target_tg; -key|val ----+---------------- - 1|merge_delete2_tg -(1 row) - -step c2: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/merge-update.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/merge-update.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/merge-update.out 2024-03-29 10:06:51.879270891 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/merge-update.out 2024-03-29 10:13:19.755275273 +0000 @@ -1,357 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: merge1 c1 select2 c2 -step merge1: - MERGE INTO target t - USING (SELECT 1 as key, 'merge1' as val) s - ON s.key = t.key - WHEN NOT MATCHED THEN - INSERT VALUES (s.key, s.val) - WHEN MATCHED THEN - UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val; - -step c1: COMMIT; -step select2: SELECT * FROM target; -key|val ----+------------------------ - 2|setup1 updated by merge1 -(1 row) - -step c2: COMMIT; - -starting permutation: merge1 c1 merge2a select2 c2 -step merge1: - MERGE INTO target t - USING (SELECT 1 as key, 'merge1' as val) s - ON s.key = t.key - WHEN NOT MATCHED THEN - INSERT VALUES (s.key, s.val) - WHEN MATCHED THEN - UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val; - -step c1: COMMIT; -step merge2a: - MERGE INTO target t - USING (SELECT 1 as key, 'merge2a' as val) s - ON s.key = t.key - WHEN NOT MATCHED THEN - INSERT VALUES (s.key, s.val) - WHEN MATCHED THEN - UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val; - -step select2: SELECT * FROM target; -key|val ----+------------------------ - 2|setup1 updated by merge1 - 1|merge2a -(2 rows) - -step c2: COMMIT; - -starting permutation: pa_merge1 c1 pa_merge2c_dup a2 -step pa_merge1: - MERGE INTO pa_target t - USING (SELECT 1 as key, 'pa_merge1' as val) s - ON s.key = t.key - WHEN NOT MATCHED THEN - INSERT VALUES (s.key, s.val) - WHEN MATCHED THEN - UPDATE set val = t.val || ' updated by ' || s.val; - -step c1: COMMIT; -step pa_merge2c_dup: - MERGE INTO pa_target t - USING (VALUES (1), (1)) v(a) - ON t.key = v.a - WHEN MATCHED THEN - UPDATE set val = t.val || ' updated by pa_merge2c_dup'; -- should fail - -ERROR: MERGE command cannot affect row a second time -step a2: ABORT; - -starting permutation: merge1 merge2a c1 select2 c2 -step merge1: - MERGE INTO target t - USING (SELECT 1 as key, 'merge1' as val) s - ON s.key = t.key - WHEN NOT MATCHED THEN - INSERT VALUES (s.key, s.val) - WHEN MATCHED THEN - UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val; - -step merge2a: - MERGE INTO target t - USING (SELECT 1 as key, 'merge2a' as val) s - ON s.key = t.key - WHEN NOT MATCHED THEN - INSERT VALUES (s.key, s.val) - WHEN MATCHED THEN - UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val; - -step c1: COMMIT; -step merge2a: <... completed> -step select2: SELECT * FROM target; -key|val ----+------------------------ - 2|setup1 updated by merge1 - 1|merge2a -(2 rows) - -step c2: COMMIT; - -starting permutation: merge1 merge2a a1 select2 c2 -step merge1: - MERGE INTO target t - USING (SELECT 1 as key, 'merge1' as val) s - ON s.key = t.key - WHEN NOT MATCHED THEN - INSERT VALUES (s.key, s.val) - WHEN MATCHED THEN - UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val; - -step merge2a: - MERGE INTO target t - USING (SELECT 1 as key, 'merge2a' as val) s - ON s.key = t.key - WHEN NOT MATCHED THEN - INSERT VALUES (s.key, s.val) - WHEN MATCHED THEN - UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val; - -step a1: ABORT; -step merge2a: <... completed> -step select2: SELECT * FROM target; -key|val ----+------------------------- - 2|setup1 updated by merge2a -(1 row) - -step c2: COMMIT; - -starting permutation: merge1 merge2b c1 select2 c2 -step merge1: - MERGE INTO target t - USING (SELECT 1 as key, 'merge1' as val) s - ON s.key = t.key - WHEN NOT MATCHED THEN - INSERT VALUES (s.key, s.val) - WHEN MATCHED THEN - UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val; - -step merge2b: - MERGE INTO target t - USING (SELECT 1 as key, 'merge2b' as val) s - ON s.key = t.key - WHEN NOT MATCHED THEN - INSERT VALUES (s.key, s.val) - WHEN MATCHED AND t.key < 2 THEN - UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val; - -step c1: COMMIT; -step merge2b: <... completed> -step select2: SELECT * FROM target; -key|val ----+------------------------ - 2|setup1 updated by merge1 - 1|merge2b -(2 rows) - -step c2: COMMIT; - -starting permutation: merge1 merge2c c1 select2 c2 -step merge1: - MERGE INTO target t - USING (SELECT 1 as key, 'merge1' as val) s - ON s.key = t.key - WHEN NOT MATCHED THEN - INSERT VALUES (s.key, s.val) - WHEN MATCHED THEN - UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val; - -step merge2c: - MERGE INTO target t - USING (SELECT 1 as key, 'merge2c' as val) s - ON s.key = t.key AND t.key < 2 - WHEN NOT MATCHED THEN - INSERT VALUES (s.key, s.val) - WHEN MATCHED THEN - UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val; - -step c1: COMMIT; -step merge2c: <... completed> -step select2: SELECT * FROM target; -key|val ----+------------------------ - 2|setup1 updated by merge1 - 1|merge2c -(2 rows) - -step c2: COMMIT; - -starting permutation: pa_merge1 pa_merge2a c1 pa_select2 c2 -step pa_merge1: - MERGE INTO pa_target t - USING (SELECT 1 as key, 'pa_merge1' as val) s - ON s.key = t.key - WHEN NOT MATCHED THEN - INSERT VALUES (s.key, s.val) - WHEN MATCHED THEN - UPDATE set val = t.val || ' updated by ' || s.val; - -step pa_merge2a: - MERGE INTO pa_target t - USING (SELECT 1 as key, 'pa_merge2a' as val) s - ON s.key = t.key - WHEN NOT MATCHED THEN - INSERT VALUES (s.key, s.val) - WHEN MATCHED THEN - UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val; - -step c1: COMMIT; -step pa_merge2a: <... completed> -step pa_select2: SELECT * FROM pa_target; -key|val ----+-------------------------------------------------- - 2|initial - 2|initial updated by pa_merge1 updated by pa_merge2a -(2 rows) - -step c2: COMMIT; - -starting permutation: pa_merge2 pa_merge2a c1 pa_select2 c2 -step pa_merge2: - MERGE INTO pa_target t - USING (SELECT 1 as key, 'pa_merge2' as val) s - ON s.key = t.key - WHEN NOT MATCHED THEN - INSERT VALUES (s.key, s.val) - WHEN MATCHED THEN - UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val; - -step pa_merge2a: - MERGE INTO pa_target t - USING (SELECT 1 as key, 'pa_merge2a' as val) s - ON s.key = t.key - WHEN NOT MATCHED THEN - INSERT VALUES (s.key, s.val) - WHEN MATCHED THEN - UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val; - -step c1: COMMIT; -step pa_merge2a: <... completed> -ERROR: tuple to be locked was already moved to another partition due to concurrent update -step pa_select2: SELECT * FROM pa_target; -ERROR: current transaction is aborted, commands ignored until end of transaction block -step c2: COMMIT; - -starting permutation: pa_merge2 c1 pa_merge2a pa_select2 c2 -step pa_merge2: - MERGE INTO pa_target t - USING (SELECT 1 as key, 'pa_merge2' as val) s - ON s.key = t.key - WHEN NOT MATCHED THEN - INSERT VALUES (s.key, s.val) - WHEN MATCHED THEN - UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val; - -step c1: COMMIT; -step pa_merge2a: - MERGE INTO pa_target t - USING (SELECT 1 as key, 'pa_merge2a' as val) s - ON s.key = t.key - WHEN NOT MATCHED THEN - INSERT VALUES (s.key, s.val) - WHEN MATCHED THEN - UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val; - -step pa_select2: SELECT * FROM pa_target; -key|val ----+---------------------------- - 1|pa_merge2a - 2|initial - 2|initial updated by pa_merge2 -(3 rows) - -step c2: COMMIT; - -starting permutation: pa_merge3 pa_merge2b_when c1 pa_select2 c2 -step pa_merge3: - MERGE INTO pa_target t - USING (SELECT 1 as key, 'pa_merge2' as val) s - ON s.key = t.key - WHEN NOT MATCHED THEN - INSERT VALUES (s.key, s.val) - WHEN MATCHED THEN - UPDATE set val = 'prefix ' || t.val; - -step pa_merge2b_when: - MERGE INTO pa_target t - USING (SELECT 1 as key, 'pa_merge2b_when' as val) s - ON s.key = t.key - WHEN NOT MATCHED THEN - INSERT VALUES (s.key, s.val) - WHEN MATCHED AND t.val like 'initial%' THEN - UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val; - -step c1: COMMIT; -step pa_merge2b_when: <... completed> -step pa_select2: SELECT * FROM pa_target; -key|val ----+-------------- - 1|prefix initial - 2|initial -(2 rows) - -step c2: COMMIT; - -starting permutation: pa_merge1 pa_merge2b_when c1 pa_select2 c2 -step pa_merge1: - MERGE INTO pa_target t - USING (SELECT 1 as key, 'pa_merge1' as val) s - ON s.key = t.key - WHEN NOT MATCHED THEN - INSERT VALUES (s.key, s.val) - WHEN MATCHED THEN - UPDATE set val = t.val || ' updated by ' || s.val; - -step pa_merge2b_when: - MERGE INTO pa_target t - USING (SELECT 1 as key, 'pa_merge2b_when' as val) s - ON s.key = t.key - WHEN NOT MATCHED THEN - INSERT VALUES (s.key, s.val) - WHEN MATCHED AND t.val like 'initial%' THEN - UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val; - -step c1: COMMIT; -step pa_merge2b_when: <... completed> -step pa_select2: SELECT * FROM pa_target; -key|val ----+------------------------------------------------------- - 2|initial - 2|initial updated by pa_merge1 updated by pa_merge2b_when -(2 rows) - -step c2: COMMIT; - -starting permutation: pa_merge1 pa_merge2c_dup c1 a2 -step pa_merge1: - MERGE INTO pa_target t - USING (SELECT 1 as key, 'pa_merge1' as val) s - ON s.key = t.key - WHEN NOT MATCHED THEN - INSERT VALUES (s.key, s.val) - WHEN MATCHED THEN - UPDATE set val = t.val || ' updated by ' || s.val; - -step pa_merge2c_dup: - MERGE INTO pa_target t - USING (VALUES (1), (1)) v(a) - ON t.key = v.a - WHEN MATCHED THEN - UPDATE set val = t.val || ' updated by pa_merge2c_dup'; -- should fail - -step c1: COMMIT; -step pa_merge2c_dup: <... completed> -ERROR: MERGE command cannot affect row a second time -step a2: ABORT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/merge-match-recheck.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/merge-match-recheck.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/merge-match-recheck.out 2024-03-29 10:06:51.879270891 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/merge-match-recheck.out 2024-03-29 10:13:19.763275271 +0000 @@ -1,349 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: update1 merge_status c2 select1 c1 -step update1: UPDATE target t SET balance = balance + 10, val = t.val || ' updated by update1' WHERE t.key = 1; -step merge_status: - MERGE INTO target t - USING (SELECT 1 as key) s - ON s.key = t.key - WHEN MATCHED AND status = 's1' THEN - UPDATE SET status = 's2', val = t.val || ' when1' - WHEN MATCHED AND status = 's2' THEN - UPDATE SET status = 's3', val = t.val || ' when2' - WHEN MATCHED AND status = 's3' THEN - UPDATE SET status = 's4', val = t.val || ' when3'; - -step c2: COMMIT; -step merge_status: <... completed> -step select1: SELECT * FROM target; -key|balance|status|val ----+-------+------+------------------------------ - 1| 170|s2 |setup updated by update1 when1 -(1 row) - -step c1: COMMIT; - -starting permutation: update1_tg merge_status_tg c2 select1_tg c1 -s2: NOTICE: Update: (1,160,s1,setup) -> (1,170,s1,"setup updated by update1_tg") -step update1_tg: UPDATE target_tg t SET balance = balance + 10, val = t.val || ' updated by update1_tg' WHERE t.key = 1; -step merge_status_tg: - MERGE INTO target_tg t - USING (SELECT 1 as key) s - ON s.key = t.key - WHEN MATCHED AND status = 's1' THEN - UPDATE SET status = 's2', val = t.val || ' when1' - WHEN MATCHED AND status = 's2' THEN - UPDATE SET status = 's3', val = t.val || ' when2' - WHEN MATCHED AND status = 's3' THEN - UPDATE SET status = 's4', val = t.val || ' when3'; - -step c2: COMMIT; -s1: NOTICE: Update: (1,170,s1,"setup updated by update1_tg") -> (1,170,s2,"setup updated by update1_tg when1") -step merge_status_tg: <... completed> -step select1_tg: SELECT * FROM target_tg; -key|balance|status|val ----+-------+------+--------------------------------- - 1| 170|s2 |setup updated by update1_tg when1 -(1 row) - -step c1: COMMIT; - -starting permutation: update2 merge_status c2 select1 c1 -step update2: UPDATE target t SET status = 's2', val = t.val || ' updated by update2' WHERE t.key = 1; -step merge_status: - MERGE INTO target t - USING (SELECT 1 as key) s - ON s.key = t.key - WHEN MATCHED AND status = 's1' THEN - UPDATE SET status = 's2', val = t.val || ' when1' - WHEN MATCHED AND status = 's2' THEN - UPDATE SET status = 's3', val = t.val || ' when2' - WHEN MATCHED AND status = 's3' THEN - UPDATE SET status = 's4', val = t.val || ' when3'; - -step c2: COMMIT; -step merge_status: <... completed> -step select1: SELECT * FROM target; -key|balance|status|val ----+-------+------+------------------------------ - 1| 160|s3 |setup updated by update2 when2 -(1 row) - -step c1: COMMIT; - -starting permutation: update2_tg merge_status_tg c2 select1_tg c1 -s2: NOTICE: Update: (1,160,s1,setup) -> (1,160,s2,"setup updated by update2_tg") -step update2_tg: UPDATE target_tg t SET status = 's2', val = t.val || ' updated by update2_tg' WHERE t.key = 1; -step merge_status_tg: - MERGE INTO target_tg t - USING (SELECT 1 as key) s - ON s.key = t.key - WHEN MATCHED AND status = 's1' THEN - UPDATE SET status = 's2', val = t.val || ' when1' - WHEN MATCHED AND status = 's2' THEN - UPDATE SET status = 's3', val = t.val || ' when2' - WHEN MATCHED AND status = 's3' THEN - UPDATE SET status = 's4', val = t.val || ' when3'; - -step c2: COMMIT; -s1: NOTICE: Update: (1,160,s2,"setup updated by update2_tg") -> (1,160,s3,"setup updated by update2_tg when2") -step merge_status_tg: <... completed> -step select1_tg: SELECT * FROM target_tg; -key|balance|status|val ----+-------+------+--------------------------------- - 1| 160|s3 |setup updated by update2_tg when2 -(1 row) - -step c1: COMMIT; - -starting permutation: update3 merge_status c2 select1 c1 -step update3: UPDATE target t SET status = 's3', val = t.val || ' updated by update3' WHERE t.key = 1; -step merge_status: - MERGE INTO target t - USING (SELECT 1 as key) s - ON s.key = t.key - WHEN MATCHED AND status = 's1' THEN - UPDATE SET status = 's2', val = t.val || ' when1' - WHEN MATCHED AND status = 's2' THEN - UPDATE SET status = 's3', val = t.val || ' when2' - WHEN MATCHED AND status = 's3' THEN - UPDATE SET status = 's4', val = t.val || ' when3'; - -step c2: COMMIT; -step merge_status: <... completed> -step select1: SELECT * FROM target; -key|balance|status|val ----+-------+------+------------------------------ - 1| 160|s4 |setup updated by update3 when3 -(1 row) - -step c1: COMMIT; - -starting permutation: update3_tg merge_status_tg c2 select1_tg c1 -s2: NOTICE: Update: (1,160,s1,setup) -> (1,160,s3,"setup updated by update3_tg") -step update3_tg: UPDATE target_tg t SET status = 's3', val = t.val || ' updated by update3_tg' WHERE t.key = 1; -step merge_status_tg: - MERGE INTO target_tg t - USING (SELECT 1 as key) s - ON s.key = t.key - WHEN MATCHED AND status = 's1' THEN - UPDATE SET status = 's2', val = t.val || ' when1' - WHEN MATCHED AND status = 's2' THEN - UPDATE SET status = 's3', val = t.val || ' when2' - WHEN MATCHED AND status = 's3' THEN - UPDATE SET status = 's4', val = t.val || ' when3'; - -step c2: COMMIT; -s1: NOTICE: Update: (1,160,s3,"setup updated by update3_tg") -> (1,160,s4,"setup updated by update3_tg when3") -step merge_status_tg: <... completed> -step select1_tg: SELECT * FROM target_tg; -key|balance|status|val ----+-------+------+--------------------------------- - 1| 160|s4 |setup updated by update3_tg when3 -(1 row) - -step c1: COMMIT; - -starting permutation: update5 merge_status c2 select1 c1 -step update5: UPDATE target t SET status = 's5', val = t.val || ' updated by update5' WHERE t.key = 1; -step merge_status: - MERGE INTO target t - USING (SELECT 1 as key) s - ON s.key = t.key - WHEN MATCHED AND status = 's1' THEN - UPDATE SET status = 's2', val = t.val || ' when1' - WHEN MATCHED AND status = 's2' THEN - UPDATE SET status = 's3', val = t.val || ' when2' - WHEN MATCHED AND status = 's3' THEN - UPDATE SET status = 's4', val = t.val || ' when3'; - -step c2: COMMIT; -step merge_status: <... completed> -step select1: SELECT * FROM target; -key|balance|status|val ----+-------+------+------------------------ - 1| 160|s5 |setup updated by update5 -(1 row) - -step c1: COMMIT; - -starting permutation: update5_tg merge_status_tg c2 select1_tg c1 -s2: NOTICE: Update: (1,160,s1,setup) -> (1,160,s5,"setup updated by update5_tg") -step update5_tg: UPDATE target_tg t SET status = 's5', val = t.val || ' updated by update5_tg' WHERE t.key = 1; -step merge_status_tg: - MERGE INTO target_tg t - USING (SELECT 1 as key) s - ON s.key = t.key - WHEN MATCHED AND status = 's1' THEN - UPDATE SET status = 's2', val = t.val || ' when1' - WHEN MATCHED AND status = 's2' THEN - UPDATE SET status = 's3', val = t.val || ' when2' - WHEN MATCHED AND status = 's3' THEN - UPDATE SET status = 's4', val = t.val || ' when3'; - -step c2: COMMIT; -step merge_status_tg: <... completed> -step select1_tg: SELECT * FROM target_tg; -key|balance|status|val ----+-------+------+--------------------------- - 1| 160|s5 |setup updated by update5_tg -(1 row) - -step c1: COMMIT; - -starting permutation: update_bal1 merge_bal c2 select1 c1 -step update_bal1: UPDATE target t SET balance = 50, val = t.val || ' updated by update_bal1' WHERE t.key = 1; -step merge_bal: - MERGE INTO target t - USING (SELECT 1 as key) s - ON s.key = t.key - WHEN MATCHED AND balance < 100 THEN - UPDATE SET balance = balance * 2, val = t.val || ' when1' - WHEN MATCHED AND balance < 200 THEN - UPDATE SET balance = balance * 4, val = t.val || ' when2' - WHEN MATCHED AND balance < 300 THEN - UPDATE SET balance = balance * 8, val = t.val || ' when3'; - -step c2: COMMIT; -step merge_bal: <... completed> -step select1: SELECT * FROM target; -key|balance|status|val ----+-------+------+---------------------------------- - 1| 100|s1 |setup updated by update_bal1 when1 -(1 row) - -step c1: COMMIT; - -starting permutation: update_bal1_pa merge_bal_pa c2 select1_pa c1 -step update_bal1_pa: UPDATE target_pa t SET balance = 50, val = t.val || ' updated by update_bal1_pa' WHERE t.key = 1; -step merge_bal_pa: - MERGE INTO target_pa t - USING (SELECT 1 as key) s - ON s.key = t.key - WHEN MATCHED AND balance < 100 THEN - UPDATE SET balance = balance * 2, val = t.val || ' when1' - WHEN MATCHED AND balance < 200 THEN - UPDATE SET balance = balance * 4, val = t.val || ' when2' - WHEN MATCHED AND balance < 300 THEN - UPDATE SET balance = balance * 8, val = t.val || ' when3'; - -step c2: COMMIT; -step merge_bal_pa: <... completed> -step select1_pa: SELECT * FROM target_pa; -key|balance|status|val ----+-------+------+------------------------------------- - 1| 100|s1 |setup updated by update_bal1_pa when1 -(1 row) - -step c1: COMMIT; - -starting permutation: update_bal1_tg merge_bal_tg c2 select1_tg c1 -s2: NOTICE: Update: (1,160,s1,setup) -> (1,50,s1,"setup updated by update_bal1_tg") -step update_bal1_tg: UPDATE target_tg t SET balance = 50, val = t.val || ' updated by update_bal1_tg' WHERE t.key = 1; -step merge_bal_tg: - MERGE INTO target_tg t - USING (SELECT 1 as key) s - ON s.key = t.key - WHEN MATCHED AND balance < 100 THEN - UPDATE SET balance = balance * 2, val = t.val || ' when1' - WHEN MATCHED AND balance < 200 THEN - UPDATE SET balance = balance * 4, val = t.val || ' when2' - WHEN MATCHED AND balance < 300 THEN - UPDATE SET balance = balance * 8, val = t.val || ' when3'; - -step c2: COMMIT; -s1: NOTICE: Update: (1,50,s1,"setup updated by update_bal1_tg") -> (1,100,s1,"setup updated by update_bal1_tg when1") -step merge_bal_tg: <... completed> -step select1_tg: SELECT * FROM target_tg; -key|balance|status|val ----+-------+------+------------------------------------- - 1| 100|s1 |setup updated by update_bal1_tg when1 -(1 row) - -step c1: COMMIT; - -starting permutation: update1 merge_delete c2 select1 c1 -step update1: UPDATE target t SET balance = balance + 10, val = t.val || ' updated by update1' WHERE t.key = 1; -step merge_delete: - MERGE INTO target t - USING (SELECT 1 as key) s - ON s.key = t.key - WHEN MATCHED AND balance < 100 THEN - UPDATE SET balance = balance * 2, val = t.val || ' when1' - WHEN MATCHED AND balance < 200 THEN - DELETE; - -step c2: COMMIT; -step merge_delete: <... completed> -step select1: SELECT * FROM target; -key|balance|status|val ----+-------+------+--- -(0 rows) - -step c1: COMMIT; - -starting permutation: update1_tg merge_delete_tg c2 select1_tg c1 -s2: NOTICE: Update: (1,160,s1,setup) -> (1,170,s1,"setup updated by update1_tg") -step update1_tg: UPDATE target_tg t SET balance = balance + 10, val = t.val || ' updated by update1_tg' WHERE t.key = 1; -step merge_delete_tg: - MERGE INTO target_tg t - USING (SELECT 1 as key) s - ON s.key = t.key - WHEN MATCHED AND balance < 100 THEN - UPDATE SET balance = balance * 2, val = t.val || ' when1' - WHEN MATCHED AND balance < 200 THEN - DELETE; - -step c2: COMMIT; -s1: NOTICE: Delete: (1,170,s1,"setup updated by update1_tg") -step merge_delete_tg: <... completed> -step select1_tg: SELECT * FROM target_tg; -key|balance|status|val ----+-------+------+--- -(0 rows) - -step c1: COMMIT; - -starting permutation: update_bal1 merge_delete c2 select1 c1 -step update_bal1: UPDATE target t SET balance = 50, val = t.val || ' updated by update_bal1' WHERE t.key = 1; -step merge_delete: - MERGE INTO target t - USING (SELECT 1 as key) s - ON s.key = t.key - WHEN MATCHED AND balance < 100 THEN - UPDATE SET balance = balance * 2, val = t.val || ' when1' - WHEN MATCHED AND balance < 200 THEN - DELETE; - -step c2: COMMIT; -step merge_delete: <... completed> -step select1: SELECT * FROM target; -key|balance|status|val ----+-------+------+---------------------------------- - 1| 100|s1 |setup updated by update_bal1 when1 -(1 row) - -step c1: COMMIT; - -starting permutation: update_bal1_tg merge_delete_tg c2 select1_tg c1 -s2: NOTICE: Update: (1,160,s1,setup) -> (1,50,s1,"setup updated by update_bal1_tg") -step update_bal1_tg: UPDATE target_tg t SET balance = 50, val = t.val || ' updated by update_bal1_tg' WHERE t.key = 1; -step merge_delete_tg: - MERGE INTO target_tg t - USING (SELECT 1 as key) s - ON s.key = t.key - WHEN MATCHED AND balance < 100 THEN - UPDATE SET balance = balance * 2, val = t.val || ' when1' - WHEN MATCHED AND balance < 200 THEN - DELETE; - -step c2: COMMIT; -s1: NOTICE: Update: (1,50,s1,"setup updated by update_bal1_tg") -> (1,100,s1,"setup updated by update_bal1_tg when1") -step merge_delete_tg: <... completed> -step select1_tg: SELECT * FROM target_tg; -key|balance|status|val ----+-------+------+------------------------------------- - 1| 100|s1 |setup updated by update_bal1_tg when1 -(1 row) - -step c1: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/merge-join.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/merge-join.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/merge-join.out 2024-03-29 10:06:51.879270891 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/merge-join.out 2024-03-29 10:13:19.775275268 +0000 @@ -1,148 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: b1 m1 s1 c1 b2 m2 s2 c2 -step b1: BEGIN ISOLATION LEVEL READ COMMITTED; -step m1: MERGE INTO tgt USING src ON tgt.id = src.id - WHEN MATCHED THEN UPDATE SET val = src.val - WHEN NOT MATCHED THEN INSERT VALUES (src.id, src.val); -step s1: SELECT * FROM tgt; -id|val ---+--- - 1| 10 - 2| 20 - 3| 30 -(3 rows) - -step c1: COMMIT; -step b2: BEGIN ISOLATION LEVEL READ COMMITTED; -step m2: MERGE INTO tgt USING src ON tgt.id = src.id - WHEN MATCHED THEN UPDATE SET val = src.val - WHEN NOT MATCHED THEN INSERT VALUES (src.id, src.val); -step s2: SELECT * FROM tgt; -id|val ---+--- - 1| 10 - 2| 20 - 3| 30 -(3 rows) - -step c2: COMMIT; - -starting permutation: b1 b2 m1 hj ex m2 c1 c2 s1 -step b1: BEGIN ISOLATION LEVEL READ COMMITTED; -step b2: BEGIN ISOLATION LEVEL READ COMMITTED; -step m1: MERGE INTO tgt USING src ON tgt.id = src.id - WHEN MATCHED THEN UPDATE SET val = src.val - WHEN NOT MATCHED THEN INSERT VALUES (src.id, src.val); -step hj: SET LOCAL enable_mergejoin = off; SET LOCAL enable_nestloop = off; -step ex: EXPLAIN (verbose, costs off) - MERGE INTO tgt USING src ON tgt.id = src.id - WHEN MATCHED THEN UPDATE SET val = src.val - WHEN NOT MATCHED THEN INSERT VALUES (src.id, src.val); -QUERY PLAN ---------------------------------------------------- -Merge on public.tgt - -> Hash Left Join - Output: tgt.ctid, src.val, src.id, src.ctid - Inner Unique: true - Hash Cond: (src.id = tgt.id) - -> Seq Scan on public.src - Output: src.val, src.id, src.ctid - -> Hash - Output: tgt.ctid, tgt.id - -> Seq Scan on public.tgt - Output: tgt.ctid, tgt.id -(11 rows) - -step m2: MERGE INTO tgt USING src ON tgt.id = src.id - WHEN MATCHED THEN UPDATE SET val = src.val - WHEN NOT MATCHED THEN INSERT VALUES (src.id, src.val); -step c1: COMMIT; -step m2: <... completed> -step c2: COMMIT; -step s1: SELECT * FROM tgt; -id|val ---+--- - 1| 10 - 2| 20 - 3| 30 -(3 rows) - - -starting permutation: b1 b2 m1 mj ex m2 c1 c2 s1 -step b1: BEGIN ISOLATION LEVEL READ COMMITTED; -step b2: BEGIN ISOLATION LEVEL READ COMMITTED; -step m1: MERGE INTO tgt USING src ON tgt.id = src.id - WHEN MATCHED THEN UPDATE SET val = src.val - WHEN NOT MATCHED THEN INSERT VALUES (src.id, src.val); -step mj: SET LOCAL enable_hashjoin = off; SET LOCAL enable_nestloop = off; -step ex: EXPLAIN (verbose, costs off) - MERGE INTO tgt USING src ON tgt.id = src.id - WHEN MATCHED THEN UPDATE SET val = src.val - WHEN NOT MATCHED THEN INSERT VALUES (src.id, src.val); -QUERY PLAN ---------------------------------------------------- -Merge on public.tgt - -> Merge Left Join - Output: tgt.ctid, src.val, src.id, src.ctid - Inner Unique: true - Merge Cond: (src.id = tgt.id) - -> Index Scan using src_pkey on public.src - Output: src.val, src.id, src.ctid - -> Index Scan using tgt_pkey on public.tgt - Output: tgt.ctid, tgt.id -(9 rows) - -step m2: MERGE INTO tgt USING src ON tgt.id = src.id - WHEN MATCHED THEN UPDATE SET val = src.val - WHEN NOT MATCHED THEN INSERT VALUES (src.id, src.val); -step c1: COMMIT; -step m2: <... completed> -step c2: COMMIT; -step s1: SELECT * FROM tgt; -id|val ---+--- - 1| 10 - 2| 20 - 3| 30 -(3 rows) - - -starting permutation: b1 b2 m1 nl ex m2 c1 c2 s1 -step b1: BEGIN ISOLATION LEVEL READ COMMITTED; -step b2: BEGIN ISOLATION LEVEL READ COMMITTED; -step m1: MERGE INTO tgt USING src ON tgt.id = src.id - WHEN MATCHED THEN UPDATE SET val = src.val - WHEN NOT MATCHED THEN INSERT VALUES (src.id, src.val); -step nl: SET LOCAL enable_hashjoin = off; SET LOCAL enable_mergejoin = off; -step ex: EXPLAIN (verbose, costs off) - MERGE INTO tgt USING src ON tgt.id = src.id - WHEN MATCHED THEN UPDATE SET val = src.val - WHEN NOT MATCHED THEN INSERT VALUES (src.id, src.val); -QUERY PLAN ---------------------------------------------------- -Merge on public.tgt - -> Nested Loop Left Join - Output: tgt.ctid, src.val, src.id, src.ctid - Inner Unique: true - -> Seq Scan on public.src - Output: src.val, src.id, src.ctid - -> Index Scan using tgt_pkey on public.tgt - Output: tgt.ctid, tgt.id - Index Cond: (tgt.id = src.id) -(9 rows) - -step m2: MERGE INTO tgt USING src ON tgt.id = src.id - WHEN MATCHED THEN UPDATE SET val = src.val - WHEN NOT MATCHED THEN INSERT VALUES (src.id, src.val); -step c1: COMMIT; -step m2: <... completed> -step c2: COMMIT; -step s1: SELECT * FROM tgt; -id|val ---+--- - 1| 10 - 2| 20 - 3| 30 -(3 rows) - +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/delete-abort-savept.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/delete-abort-savept.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/delete-abort-savept.out 2024-03-29 10:06:51.875270895 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/delete-abort-savept.out 2024-03-29 10:13:19.795275265 +0000 @@ -1,139 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1l s1svp s1d s1r s1c s2l s2c -step s1l: SELECT * FROM foo FOR KEY SHARE; -key|value ----+----- - 1| 1 -(1 row) - -step s1svp: SAVEPOINT f; -step s1d: DELETE FROM foo; -step s1r: ROLLBACK TO f; -step s1c: COMMIT; -step s2l: SELECT * FROM foo FOR UPDATE; -key|value ----+----- - 1| 1 -(1 row) - -step s2c: COMMIT; - -starting permutation: s1l s1svp s1d s1r s2l s1c s2c -step s1l: SELECT * FROM foo FOR KEY SHARE; -key|value ----+----- - 1| 1 -(1 row) - -step s1svp: SAVEPOINT f; -step s1d: DELETE FROM foo; -step s1r: ROLLBACK TO f; -step s2l: SELECT * FROM foo FOR UPDATE; -step s1c: COMMIT; -step s2l: <... completed> -key|value ----+----- - 1| 1 -(1 row) - -step s2c: COMMIT; - -starting permutation: s1l s1svp s1d s2l s1r s1c s2c -step s1l: SELECT * FROM foo FOR KEY SHARE; -key|value ----+----- - 1| 1 -(1 row) - -step s1svp: SAVEPOINT f; -step s1d: DELETE FROM foo; -step s2l: SELECT * FROM foo FOR UPDATE; -step s1r: ROLLBACK TO f; -step s1c: COMMIT; -step s2l: <... completed> -key|value ----+----- - 1| 1 -(1 row) - -step s2c: COMMIT; - -starting permutation: s1l s1svp s2l s1d s1r s1c s2c -step s1l: SELECT * FROM foo FOR KEY SHARE; -key|value ----+----- - 1| 1 -(1 row) - -step s1svp: SAVEPOINT f; -step s2l: SELECT * FROM foo FOR UPDATE; -step s1d: DELETE FROM foo; -step s1r: ROLLBACK TO f; -step s1c: COMMIT; -step s2l: <... completed> -key|value ----+----- - 1| 1 -(1 row) - -step s2c: COMMIT; - -starting permutation: s1l s2l s1svp s1d s1r s1c s2c -step s1l: SELECT * FROM foo FOR KEY SHARE; -key|value ----+----- - 1| 1 -(1 row) - -step s2l: SELECT * FROM foo FOR UPDATE; -step s1svp: SAVEPOINT f; -step s1d: DELETE FROM foo; -step s1r: ROLLBACK TO f; -step s1c: COMMIT; -step s2l: <... completed> -key|value ----+----- - 1| 1 -(1 row) - -step s2c: COMMIT; - -starting permutation: s2l s1l s2c s1svp s1d s1r s1c -step s2l: SELECT * FROM foo FOR UPDATE; -key|value ----+----- - 1| 1 -(1 row) - -step s1l: SELECT * FROM foo FOR KEY SHARE; -step s2c: COMMIT; -step s1l: <... completed> -key|value ----+----- - 1| 1 -(1 row) - -step s1svp: SAVEPOINT f; -step s1d: DELETE FROM foo; -step s1r: ROLLBACK TO f; -step s1c: COMMIT; - -starting permutation: s2l s2c s1l s1svp s1d s1r s1c -step s2l: SELECT * FROM foo FOR UPDATE; -key|value ----+----- - 1| 1 -(1 row) - -step s2c: COMMIT; -step s1l: SELECT * FROM foo FOR KEY SHARE; -key|value ----+----- - 1| 1 -(1 row) - -step s1svp: SAVEPOINT f; -step s1d: DELETE FROM foo; -step s1r: ROLLBACK TO f; -step s1c: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/delete-abort-savept-2.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/delete-abort-savept-2.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/delete-abort-savept-2.out 2024-03-29 10:06:51.875270895 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/delete-abort-savept-2.out 2024-03-29 10:13:19.803275263 +0000 @@ -1,100 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1l s1svp s1d s1r s2l s1c s2c -step s1l: SELECT * FROM foo FOR KEY SHARE; -key|value ----+----- - 1| 1 -(1 row) - -step s1svp: SAVEPOINT f; -step s1d: SELECT * FROM foo FOR NO KEY UPDATE; -key|value ----+----- - 1| 1 -(1 row) - -step s1r: ROLLBACK TO f; -step s2l: SELECT * FROM foo FOR UPDATE; -step s1c: COMMIT; -step s2l: <... completed> -key|value ----+----- - 1| 1 -(1 row) - -step s2c: COMMIT; - -starting permutation: s1l s1svp s1d s2l s1r s1c s2c -step s1l: SELECT * FROM foo FOR KEY SHARE; -key|value ----+----- - 1| 1 -(1 row) - -step s1svp: SAVEPOINT f; -step s1d: SELECT * FROM foo FOR NO KEY UPDATE; -key|value ----+----- - 1| 1 -(1 row) - -step s2l: SELECT * FROM foo FOR UPDATE; -step s1r: ROLLBACK TO f; -step s1c: COMMIT; -step s2l: <... completed> -key|value ----+----- - 1| 1 -(1 row) - -step s2c: COMMIT; - -starting permutation: s1l s1svp s1d s1r s2l2 s1c s2c -step s1l: SELECT * FROM foo FOR KEY SHARE; -key|value ----+----- - 1| 1 -(1 row) - -step s1svp: SAVEPOINT f; -step s1d: SELECT * FROM foo FOR NO KEY UPDATE; -key|value ----+----- - 1| 1 -(1 row) - -step s1r: ROLLBACK TO f; -step s2l2: SELECT * FROM foo FOR NO KEY UPDATE; -key|value ----+----- - 1| 1 -(1 row) - -step s1c: COMMIT; -step s2c: COMMIT; - -starting permutation: s1l s1svp s1d s2l2 s1r s1c s2c -step s1l: SELECT * FROM foo FOR KEY SHARE; -key|value ----+----- - 1| 1 -(1 row) - -step s1svp: SAVEPOINT f; -step s1d: SELECT * FROM foo FOR NO KEY UPDATE; -key|value ----+----- - 1| 1 -(1 row) - -step s2l2: SELECT * FROM foo FOR NO KEY UPDATE; -step s1r: ROLLBACK TO f; -step s2l2: <... completed> -key|value ----+----- - 1| 1 -(1 row) - -step s1c: COMMIT; -step s2c: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/aborted-keyrevoke.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/aborted-keyrevoke.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/aborted-keyrevoke.out 2024-03-29 10:06:51.871270899 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/aborted-keyrevoke.out 2024-03-29 10:13:19.815275261 +0000 @@ -1,272 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1s s1u s1r s1l s1c s2l s2c -step s1s: SAVEPOINT f; -step s1u: UPDATE foo SET key = 2; -step s1r: ROLLBACK TO f; -step s1l: SELECT * FROM foo FOR KEY SHARE; -key|value ----+----- - 1| 1 -(1 row) - -step s1c: COMMIT; -step s2l: SELECT * FROM foo FOR KEY SHARE; -key|value ----+----- - 1| 1 -(1 row) - -step s2c: COMMIT; - -starting permutation: s1s s1u s1r s1l s2l s1c s2c -step s1s: SAVEPOINT f; -step s1u: UPDATE foo SET key = 2; -step s1r: ROLLBACK TO f; -step s1l: SELECT * FROM foo FOR KEY SHARE; -key|value ----+----- - 1| 1 -(1 row) - -step s2l: SELECT * FROM foo FOR KEY SHARE; -key|value ----+----- - 1| 1 -(1 row) - -step s1c: COMMIT; -step s2c: COMMIT; - -starting permutation: s1s s1u s1r s1l s2l s2c s1c -step s1s: SAVEPOINT f; -step s1u: UPDATE foo SET key = 2; -step s1r: ROLLBACK TO f; -step s1l: SELECT * FROM foo FOR KEY SHARE; -key|value ----+----- - 1| 1 -(1 row) - -step s2l: SELECT * FROM foo FOR KEY SHARE; -key|value ----+----- - 1| 1 -(1 row) - -step s2c: COMMIT; -step s1c: COMMIT; - -starting permutation: s1s s1u s1r s2l s1l s1c s2c -step s1s: SAVEPOINT f; -step s1u: UPDATE foo SET key = 2; -step s1r: ROLLBACK TO f; -step s2l: SELECT * FROM foo FOR KEY SHARE; -key|value ----+----- - 1| 1 -(1 row) - -step s1l: SELECT * FROM foo FOR KEY SHARE; -key|value ----+----- - 1| 1 -(1 row) - -step s1c: COMMIT; -step s2c: COMMIT; - -starting permutation: s1s s1u s1r s2l s1l s2c s1c -step s1s: SAVEPOINT f; -step s1u: UPDATE foo SET key = 2; -step s1r: ROLLBACK TO f; -step s2l: SELECT * FROM foo FOR KEY SHARE; -key|value ----+----- - 1| 1 -(1 row) - -step s1l: SELECT * FROM foo FOR KEY SHARE; -key|value ----+----- - 1| 1 -(1 row) - -step s2c: COMMIT; -step s1c: COMMIT; - -starting permutation: s1s s1u s1r s2l s2c s1l s1c -step s1s: SAVEPOINT f; -step s1u: UPDATE foo SET key = 2; -step s1r: ROLLBACK TO f; -step s2l: SELECT * FROM foo FOR KEY SHARE; -key|value ----+----- - 1| 1 -(1 row) - -step s2c: COMMIT; -step s1l: SELECT * FROM foo FOR KEY SHARE; -key|value ----+----- - 1| 1 -(1 row) - -step s1c: COMMIT; - -starting permutation: s1s s1u s2l s1r s1l s1c s2c -step s1s: SAVEPOINT f; -step s1u: UPDATE foo SET key = 2; -step s2l: SELECT * FROM foo FOR KEY SHARE; -step s1r: ROLLBACK TO f; -step s2l: <... completed> -key|value ----+----- - 1| 1 -(1 row) - -step s1l: SELECT * FROM foo FOR KEY SHARE; -key|value ----+----- - 1| 1 -(1 row) - -step s1c: COMMIT; -step s2c: COMMIT; - -starting permutation: s1s s1u s2l s1r s1l s2c s1c -step s1s: SAVEPOINT f; -step s1u: UPDATE foo SET key = 2; -step s2l: SELECT * FROM foo FOR KEY SHARE; -step s1r: ROLLBACK TO f; -step s2l: <... completed> -key|value ----+----- - 1| 1 -(1 row) - -step s1l: SELECT * FROM foo FOR KEY SHARE; -key|value ----+----- - 1| 1 -(1 row) - -step s2c: COMMIT; -step s1c: COMMIT; - -starting permutation: s1s s1u s2l s1r s2c s1l s1c -step s1s: SAVEPOINT f; -step s1u: UPDATE foo SET key = 2; -step s2l: SELECT * FROM foo FOR KEY SHARE; -step s1r: ROLLBACK TO f; -step s2l: <... completed> -key|value ----+----- - 1| 1 -(1 row) - -step s2c: COMMIT; -step s1l: SELECT * FROM foo FOR KEY SHARE; -key|value ----+----- - 1| 1 -(1 row) - -step s1c: COMMIT; - -starting permutation: s1s s2l s1u s2c s1r s1l s1c -step s1s: SAVEPOINT f; -step s2l: SELECT * FROM foo FOR KEY SHARE; -key|value ----+----- - 1| 1 -(1 row) - -step s1u: UPDATE foo SET key = 2; -step s2c: COMMIT; -step s1u: <... completed> -step s1r: ROLLBACK TO f; -step s1l: SELECT * FROM foo FOR KEY SHARE; -key|value ----+----- - 1| 1 -(1 row) - -step s1c: COMMIT; - -starting permutation: s1s s2l s2c s1u s1r s1l s1c -step s1s: SAVEPOINT f; -step s2l: SELECT * FROM foo FOR KEY SHARE; -key|value ----+----- - 1| 1 -(1 row) - -step s2c: COMMIT; -step s1u: UPDATE foo SET key = 2; -step s1r: ROLLBACK TO f; -step s1l: SELECT * FROM foo FOR KEY SHARE; -key|value ----+----- - 1| 1 -(1 row) - -step s1c: COMMIT; - -starting permutation: s2l s1s s1u s2c s1r s1l s1c -step s2l: SELECT * FROM foo FOR KEY SHARE; -key|value ----+----- - 1| 1 -(1 row) - -step s1s: SAVEPOINT f; -step s1u: UPDATE foo SET key = 2; -step s2c: COMMIT; -step s1u: <... completed> -step s1r: ROLLBACK TO f; -step s1l: SELECT * FROM foo FOR KEY SHARE; -key|value ----+----- - 1| 1 -(1 row) - -step s1c: COMMIT; - -starting permutation: s2l s1s s2c s1u s1r s1l s1c -step s2l: SELECT * FROM foo FOR KEY SHARE; -key|value ----+----- - 1| 1 -(1 row) - -step s1s: SAVEPOINT f; -step s2c: COMMIT; -step s1u: UPDATE foo SET key = 2; -step s1r: ROLLBACK TO f; -step s1l: SELECT * FROM foo FOR KEY SHARE; -key|value ----+----- - 1| 1 -(1 row) - -step s1c: COMMIT; - -starting permutation: s2l s2c s1s s1u s1r s1l s1c -step s2l: SELECT * FROM foo FOR KEY SHARE; -key|value ----+----- - 1| 1 -(1 row) - -step s2c: COMMIT; -step s1s: SAVEPOINT f; -step s1u: UPDATE foo SET key = 2; -step s1r: ROLLBACK TO f; -step s1l: SELECT * FROM foo FOR KEY SHARE; -key|value ----+----- - 1| 1 -(1 row) - -step s1c: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/multixact-no-deadlock.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/multixact-no-deadlock.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/multixact-no-deadlock.out 2024-03-29 10:06:51.879270891 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/multixact-no-deadlock.out 2024-03-29 10:13:19.823275259 +0000 @@ -1,32 +1,3 @@ Parsed test spec with 3 sessions - -starting permutation: s1lock s2lock s1svpt s3lock s1lock2 s2c s1c s3c -step s1lock: SELECT * FROM justthis FOR SHARE; -value ------ - 1 -(1 row) - -step s2lock: SELECT * FROM justthis FOR SHARE; -value ------ - 1 -(1 row) - -step s1svpt: SAVEPOINT foo; -step s3lock: SELECT * FROM justthis FOR UPDATE; -step s1lock2: SELECT * FROM justthis FOR SHARE; -value ------ - 1 -(1 row) - -step s2c: COMMIT; -step s1c: COMMIT; -step s3lock: <... completed> -value ------ - 1 -(1 row) - -step s3c: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/multixact-no-forget_1.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/multixact-no-forget.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/multixact-no-forget_1.out 2024-03-29 10:06:51.879270891 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/multixact-no-forget.out 2024-03-29 10:13:19.831275258 +0000 @@ -1,160 +1,3 @@ Parsed test spec with 3 sessions - -starting permutation: s1_show s1_commit s2_commit -step s1_show: SELECT current_setting('default_transaction_isolation') <> 'read committed'; -?column? --------- -t -(1 row) - -step s1_commit: COMMIT; -step s2_commit: COMMIT; - -starting permutation: s1_lock s2_update s2_abort s3_forkeyshr s1_commit -step s1_lock: SELECT * FROM dont_forget FOR KEY SHARE; -value ------ - 1 -(1 row) - -step s2_update: UPDATE dont_forget SET value = 2; -step s2_abort: ROLLBACK; -step s3_forkeyshr: SELECT * FROM dont_forget FOR KEY SHARE; -value ------ - 1 -(1 row) - -step s1_commit: COMMIT; - -starting permutation: s1_lock s2_update s2_commit s3_forkeyshr s1_commit -step s1_lock: SELECT * FROM dont_forget FOR KEY SHARE; -value ------ - 1 -(1 row) - -step s2_update: UPDATE dont_forget SET value = 2; -step s2_commit: COMMIT; -step s3_forkeyshr: SELECT * FROM dont_forget FOR KEY SHARE; -value ------ - 2 -(1 row) - -step s1_commit: COMMIT; - -starting permutation: s1_lock s2_update s1_commit s3_forkeyshr s2_commit -step s1_lock: SELECT * FROM dont_forget FOR KEY SHARE; -value ------ - 1 -(1 row) - -step s2_update: UPDATE dont_forget SET value = 2; -step s1_commit: COMMIT; -step s3_forkeyshr: SELECT * FROM dont_forget FOR KEY SHARE; -value ------ - 1 -(1 row) - -step s2_commit: COMMIT; - -starting permutation: s1_lock s2_update s2_abort s3_fornokeyupd s1_commit -step s1_lock: SELECT * FROM dont_forget FOR KEY SHARE; -value ------ - 1 -(1 row) - -step s2_update: UPDATE dont_forget SET value = 2; -step s2_abort: ROLLBACK; -step s3_fornokeyupd: SELECT * FROM dont_forget FOR NO KEY UPDATE; -value ------ - 1 -(1 row) - -step s1_commit: COMMIT; - -starting permutation: s1_lock s2_update s2_commit s3_fornokeyupd s1_commit -step s1_lock: SELECT * FROM dont_forget FOR KEY SHARE; -value ------ - 1 -(1 row) - -step s2_update: UPDATE dont_forget SET value = 2; -step s2_commit: COMMIT; -step s3_fornokeyupd: SELECT * FROM dont_forget FOR NO KEY UPDATE; -value ------ - 2 -(1 row) - -step s1_commit: COMMIT; - -starting permutation: s1_lock s2_update s1_commit s3_fornokeyupd s2_commit -step s1_lock: SELECT * FROM dont_forget FOR KEY SHARE; -value ------ - 1 -(1 row) - -step s2_update: UPDATE dont_forget SET value = 2; -step s1_commit: COMMIT; -step s3_fornokeyupd: SELECT * FROM dont_forget FOR NO KEY UPDATE; -step s2_commit: COMMIT; -step s3_fornokeyupd: <... completed> -ERROR: could not serialize access due to concurrent update - -starting permutation: s1_lock s2_update s2_abort s3_forupd s1_commit -step s1_lock: SELECT * FROM dont_forget FOR KEY SHARE; -value ------ - 1 -(1 row) - -step s2_update: UPDATE dont_forget SET value = 2; -step s2_abort: ROLLBACK; -step s3_forupd: SELECT * FROM dont_forget FOR UPDATE; -step s1_commit: COMMIT; -step s3_forupd: <... completed> -value ------ - 1 -(1 row) - - -starting permutation: s1_lock s2_update s2_commit s3_forupd s1_commit -step s1_lock: SELECT * FROM dont_forget FOR KEY SHARE; -value ------ - 1 -(1 row) - -step s2_update: UPDATE dont_forget SET value = 2; -step s2_commit: COMMIT; -step s3_forupd: SELECT * FROM dont_forget FOR UPDATE; -step s1_commit: COMMIT; -step s3_forupd: <... completed> -value ------ - 2 -(1 row) - - -starting permutation: s1_lock s2_update s1_commit s3_forupd s2_commit -step s1_lock: SELECT * FROM dont_forget FOR KEY SHARE; -value ------ - 1 -(1 row) - -step s2_update: UPDATE dont_forget SET value = 2; -step s1_commit: COMMIT; -step s3_forupd: SELECT * FROM dont_forget FOR UPDATE; -step s2_commit: COMMIT; -step s3_forupd: <... completed> -ERROR: could not serialize access due to concurrent update +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/lock-committed-update.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/lock-committed-update.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/lock-committed-update.out 2024-03-29 10:06:51.875270895 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/lock-committed-update.out 2024-03-29 10:13:19.843275256 +0000 @@ -1,931 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1b s2b1 s1l s2l s1u s1c s1ul s2c -step s1b: BEGIN; -step s2b1: BEGIN ISOLATION LEVEL READ COMMITTED; -step s1l: SELECT pg_advisory_lock(380170116); -pg_advisory_lock ----------------- - -(1 row) - -step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; -step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1; -step s1c: COMMIT; -step s1ul: SELECT pg_advisory_unlock(380170116); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: <... completed> -id|value ---+----- - 1|one -(1 row) - -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b1 s1l s1u s2l s1c s1ul s2c -step s1b: BEGIN; -step s2b1: BEGIN ISOLATION LEVEL READ COMMITTED; -step s1l: SELECT pg_advisory_lock(380170116); -pg_advisory_lock ----------------- - -(1 row) - -step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1; -step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; -step s1c: COMMIT; -step s1ul: SELECT pg_advisory_unlock(380170116); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: <... completed> -id|value ---+----- - 1|one -(1 row) - -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b1 s1l s2l s1ul s1u s1c s2c -step s1b: BEGIN; -step s2b1: BEGIN ISOLATION LEVEL READ COMMITTED; -step s1l: SELECT pg_advisory_lock(380170116); -pg_advisory_lock ----------------- - -(1 row) - -step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; -step s1ul: SELECT pg_advisory_unlock(380170116); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: <... completed> -id|value ---+----- - 1|one -(1 row) - -step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1; -step s1c: COMMIT; -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b1 s1l s1u s1ul s2l s1c s2c -step s1b: BEGIN; -step s2b1: BEGIN ISOLATION LEVEL READ COMMITTED; -step s1l: SELECT pg_advisory_lock(380170116); -pg_advisory_lock ----------------- - -(1 row) - -step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1; -step s1ul: SELECT pg_advisory_unlock(380170116); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; -id|value ---+----- - 1|one -(1 row) - -step s1c: COMMIT; -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b1 s1l s2l s1u s1c s1hint s1ul s2c -step s1b: BEGIN; -step s2b1: BEGIN ISOLATION LEVEL READ COMMITTED; -step s1l: SELECT pg_advisory_lock(380170116); -pg_advisory_lock ----------------- - -(1 row) - -step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; -step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1; -step s1c: COMMIT; -step s1hint: SELECT * FROM lcu_table; -id|value ---+----- - 1|two -(1 row) - -step s1ul: SELECT pg_advisory_unlock(380170116); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: <... completed> -id|value ---+----- - 1|one -(1 row) - -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b1 s1l s1u s2l s1c s1hint s1ul s2c -step s1b: BEGIN; -step s2b1: BEGIN ISOLATION LEVEL READ COMMITTED; -step s1l: SELECT pg_advisory_lock(380170116); -pg_advisory_lock ----------------- - -(1 row) - -step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1; -step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; -step s1c: COMMIT; -step s1hint: SELECT * FROM lcu_table; -id|value ---+----- - 1|two -(1 row) - -step s1ul: SELECT pg_advisory_unlock(380170116); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: <... completed> -id|value ---+----- - 1|one -(1 row) - -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b1 s1l s2l s1ul s1u s1c s1hint s2c -step s1b: BEGIN; -step s2b1: BEGIN ISOLATION LEVEL READ COMMITTED; -step s1l: SELECT pg_advisory_lock(380170116); -pg_advisory_lock ----------------- - -(1 row) - -step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; -step s1ul: SELECT pg_advisory_unlock(380170116); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: <... completed> -id|value ---+----- - 1|one -(1 row) - -step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1; -step s1c: COMMIT; -step s1hint: SELECT * FROM lcu_table; -id|value ---+----- - 1|two -(1 row) - -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b1 s1l s1u s1ul s2l s1c s1hint s2c -step s1b: BEGIN; -step s2b1: BEGIN ISOLATION LEVEL READ COMMITTED; -step s1l: SELECT pg_advisory_lock(380170116); -pg_advisory_lock ----------------- - -(1 row) - -step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1; -step s1ul: SELECT pg_advisory_unlock(380170116); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; -id|value ---+----- - 1|one -(1 row) - -step s1c: COMMIT; -step s1hint: SELECT * FROM lcu_table; -id|value ---+----- - 1|two -(1 row) - -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b2 s1l s2l s1u s1c s1ul s2c -step s1b: BEGIN; -step s2b2: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s1l: SELECT pg_advisory_lock(380170116); -pg_advisory_lock ----------------- - -(1 row) - -step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; -step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1; -step s1c: COMMIT; -step s1ul: SELECT pg_advisory_unlock(380170116); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: <... completed> -id|value ---+----- - 1|one -(1 row) - -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b2 s1l s1u s2l s1c s1ul s2c -step s1b: BEGIN; -step s2b2: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s1l: SELECT pg_advisory_lock(380170116); -pg_advisory_lock ----------------- - -(1 row) - -step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1; -step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; -step s1c: COMMIT; -step s1ul: SELECT pg_advisory_unlock(380170116); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: <... completed> -id|value ---+----- - 1|one -(1 row) - -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b2 s1l s2l s1ul s1u s1c s2c -step s1b: BEGIN; -step s2b2: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s1l: SELECT pg_advisory_lock(380170116); -pg_advisory_lock ----------------- - -(1 row) - -step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; -step s1ul: SELECT pg_advisory_unlock(380170116); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: <... completed> -id|value ---+----- - 1|one -(1 row) - -step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1; -step s1c: COMMIT; -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b2 s1l s1u s1ul s2l s1c s2c -step s1b: BEGIN; -step s2b2: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s1l: SELECT pg_advisory_lock(380170116); -pg_advisory_lock ----------------- - -(1 row) - -step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1; -step s1ul: SELECT pg_advisory_unlock(380170116); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; -id|value ---+----- - 1|one -(1 row) - -step s1c: COMMIT; -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b2 s1l s2l s1u s1c s1hint s1ul s2c -step s1b: BEGIN; -step s2b2: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s1l: SELECT pg_advisory_lock(380170116); -pg_advisory_lock ----------------- - -(1 row) - -step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; -step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1; -step s1c: COMMIT; -step s1hint: SELECT * FROM lcu_table; -id|value ---+----- - 1|two -(1 row) - -step s1ul: SELECT pg_advisory_unlock(380170116); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: <... completed> -id|value ---+----- - 1|one -(1 row) - -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b2 s1l s1u s2l s1c s1hint s1ul s2c -step s1b: BEGIN; -step s2b2: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s1l: SELECT pg_advisory_lock(380170116); -pg_advisory_lock ----------------- - -(1 row) - -step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1; -step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; -step s1c: COMMIT; -step s1hint: SELECT * FROM lcu_table; -id|value ---+----- - 1|two -(1 row) - -step s1ul: SELECT pg_advisory_unlock(380170116); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: <... completed> -id|value ---+----- - 1|one -(1 row) - -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b2 s1l s2l s1ul s1u s1c s1hint s2c -step s1b: BEGIN; -step s2b2: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s1l: SELECT pg_advisory_lock(380170116); -pg_advisory_lock ----------------- - -(1 row) - -step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; -step s1ul: SELECT pg_advisory_unlock(380170116); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: <... completed> -id|value ---+----- - 1|one -(1 row) - -step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1; -step s1c: COMMIT; -step s1hint: SELECT * FROM lcu_table; -id|value ---+----- - 1|two -(1 row) - -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b2 s1l s1u s1ul s2l s1c s1hint s2c -step s1b: BEGIN; -step s2b2: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s1l: SELECT pg_advisory_lock(380170116); -pg_advisory_lock ----------------- - -(1 row) - -step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1; -step s1ul: SELECT pg_advisory_unlock(380170116); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; -id|value ---+----- - 1|one -(1 row) - -step s1c: COMMIT; -step s1hint: SELECT * FROM lcu_table; -id|value ---+----- - 1|two -(1 row) - -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b3 s1l s2l s1u s1c s1ul s2c -step s1b: BEGIN; -step s2b3: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s1l: SELECT pg_advisory_lock(380170116); -pg_advisory_lock ----------------- - -(1 row) - -step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; -step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1; -step s1c: COMMIT; -step s1ul: SELECT pg_advisory_unlock(380170116); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: <... completed> -id|value ---+----- - 1|one -(1 row) - -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b3 s1l s1u s2l s1c s1ul s2c -step s1b: BEGIN; -step s2b3: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s1l: SELECT pg_advisory_lock(380170116); -pg_advisory_lock ----------------- - -(1 row) - -step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1; -step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; -step s1c: COMMIT; -step s1ul: SELECT pg_advisory_unlock(380170116); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: <... completed> -id|value ---+----- - 1|one -(1 row) - -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b3 s1l s2l s1ul s1u s1c s2c -step s1b: BEGIN; -step s2b3: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s1l: SELECT pg_advisory_lock(380170116); -pg_advisory_lock ----------------- - -(1 row) - -step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; -step s1ul: SELECT pg_advisory_unlock(380170116); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: <... completed> -id|value ---+----- - 1|one -(1 row) - -step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1; -step s1c: COMMIT; -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b3 s1l s1u s1ul s2l s1c s2c -step s1b: BEGIN; -step s2b3: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s1l: SELECT pg_advisory_lock(380170116); -pg_advisory_lock ----------------- - -(1 row) - -step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1; -step s1ul: SELECT pg_advisory_unlock(380170116); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; -id|value ---+----- - 1|one -(1 row) - -step s1c: COMMIT; -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b3 s1l s2l s1u s1c s1hint s1ul s2c -step s1b: BEGIN; -step s2b3: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s1l: SELECT pg_advisory_lock(380170116); -pg_advisory_lock ----------------- - -(1 row) - -step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; -step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1; -step s1c: COMMIT; -step s1hint: SELECT * FROM lcu_table; -id|value ---+----- - 1|two -(1 row) - -step s1ul: SELECT pg_advisory_unlock(380170116); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: <... completed> -id|value ---+----- - 1|one -(1 row) - -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b3 s1l s1u s2l s1c s1hint s1ul s2c -step s1b: BEGIN; -step s2b3: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s1l: SELECT pg_advisory_lock(380170116); -pg_advisory_lock ----------------- - -(1 row) - -step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1; -step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; -step s1c: COMMIT; -step s1hint: SELECT * FROM lcu_table; -id|value ---+----- - 1|two -(1 row) - -step s1ul: SELECT pg_advisory_unlock(380170116); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: <... completed> -id|value ---+----- - 1|one -(1 row) - -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b3 s1l s2l s1ul s1u s1c s1hint s2c -step s1b: BEGIN; -step s2b3: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s1l: SELECT pg_advisory_lock(380170116); -pg_advisory_lock ----------------- - -(1 row) - -step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; -step s1ul: SELECT pg_advisory_unlock(380170116); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: <... completed> -id|value ---+----- - 1|one -(1 row) - -step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1; -step s1c: COMMIT; -step s1hint: SELECT * FROM lcu_table; -id|value ---+----- - 1|two -(1 row) - -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b3 s1l s1u s1ul s2l s1c s1hint s2c -step s1b: BEGIN; -step s2b3: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s1l: SELECT pg_advisory_lock(380170116); -pg_advisory_lock ----------------- - -(1 row) - -step s1u: UPDATE lcu_table SET value = 'two' WHERE id = 1; -step s1ul: SELECT pg_advisory_unlock(380170116); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: SELECT * FROM lcu_table WHERE pg_advisory_lock(380170116) IS NOT NULL FOR KEY SHARE; -id|value ---+----- - 1|one -(1 row) - -step s1c: COMMIT; -step s1hint: SELECT * FROM lcu_table; -id|value ---+----- - 1|two -(1 row) - -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/lock-committed-keyupdate.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/lock-committed-keyupdate.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/lock-committed-keyupdate.out 2024-03-29 10:06:51.875270895 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/lock-committed-keyupdate.out 2024-03-29 10:13:19.851275254 +0000 @@ -1,670 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1b s2b1 s1l s2l s1u s1c s1ul s2c -step s1b: BEGIN; -step s2b1: BEGIN ISOLATION LEVEL READ COMMITTED; -step s1l: SELECT pg_advisory_lock(578902068); -pg_advisory_lock ----------------- - -(1 row) - -step s2l: SELECT * FROM lcku_table WHERE pg_advisory_lock(578902068) IS NOT NULL FOR KEY SHARE; -step s1u: UPDATE lcku_table SET id = 2 WHERE id = 3; -step s1c: COMMIT; -step s1ul: SELECT pg_advisory_unlock(578902068); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: <... completed> -id|value ---+----- - 1|one - 2|two -(2 rows) - -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b1 s1l s1u s2l s1c s1ul s2c -step s1b: BEGIN; -step s2b1: BEGIN ISOLATION LEVEL READ COMMITTED; -step s1l: SELECT pg_advisory_lock(578902068); -pg_advisory_lock ----------------- - -(1 row) - -step s1u: UPDATE lcku_table SET id = 2 WHERE id = 3; -step s2l: SELECT * FROM lcku_table WHERE pg_advisory_lock(578902068) IS NOT NULL FOR KEY SHARE; -step s1c: COMMIT; -step s1ul: SELECT pg_advisory_unlock(578902068); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: <... completed> -id|value ---+----- - 1|one - 2|two -(2 rows) - -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b1 s1l s1u s1ul s2l s1c s2c -step s1b: BEGIN; -step s2b1: BEGIN ISOLATION LEVEL READ COMMITTED; -step s1l: SELECT pg_advisory_lock(578902068); -pg_advisory_lock ----------------- - -(1 row) - -step s1u: UPDATE lcku_table SET id = 2 WHERE id = 3; -step s1ul: SELECT pg_advisory_unlock(578902068); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: SELECT * FROM lcku_table WHERE pg_advisory_lock(578902068) IS NOT NULL FOR KEY SHARE; -step s1c: COMMIT; -step s2l: <... completed> -id|value ---+----- - 1|one - 2|two -(2 rows) - -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b1 s1l s2l s1u s1c s1hint s1ul s2c -step s1b: BEGIN; -step s2b1: BEGIN ISOLATION LEVEL READ COMMITTED; -step s1l: SELECT pg_advisory_lock(578902068); -pg_advisory_lock ----------------- - -(1 row) - -step s2l: SELECT * FROM lcku_table WHERE pg_advisory_lock(578902068) IS NOT NULL FOR KEY SHARE; -step s1u: UPDATE lcku_table SET id = 2 WHERE id = 3; -step s1c: COMMIT; -step s1hint: SELECT * FROM lcku_table; -id|value ---+----- - 1|one - 2|two -(2 rows) - -step s1ul: SELECT pg_advisory_unlock(578902068); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: <... completed> -id|value ---+----- - 1|one - 2|two -(2 rows) - -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b1 s1l s1u s2l s1c s1hint s1ul s2c -step s1b: BEGIN; -step s2b1: BEGIN ISOLATION LEVEL READ COMMITTED; -step s1l: SELECT pg_advisory_lock(578902068); -pg_advisory_lock ----------------- - -(1 row) - -step s1u: UPDATE lcku_table SET id = 2 WHERE id = 3; -step s2l: SELECT * FROM lcku_table WHERE pg_advisory_lock(578902068) IS NOT NULL FOR KEY SHARE; -step s1c: COMMIT; -step s1hint: SELECT * FROM lcku_table; -id|value ---+----- - 1|one - 2|two -(2 rows) - -step s1ul: SELECT pg_advisory_unlock(578902068); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: <... completed> -id|value ---+----- - 1|one - 2|two -(2 rows) - -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b1 s1l s1u s1ul s2l s1c s1hint s2c -step s1b: BEGIN; -step s2b1: BEGIN ISOLATION LEVEL READ COMMITTED; -step s1l: SELECT pg_advisory_lock(578902068); -pg_advisory_lock ----------------- - -(1 row) - -step s1u: UPDATE lcku_table SET id = 2 WHERE id = 3; -step s1ul: SELECT pg_advisory_unlock(578902068); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: SELECT * FROM lcku_table WHERE pg_advisory_lock(578902068) IS NOT NULL FOR KEY SHARE; -step s1c: COMMIT; -step s2l: <... completed> -id|value ---+----- - 1|one - 2|two -(2 rows) - -step s1hint: SELECT * FROM lcku_table; -id|value ---+----- - 1|one - 2|two -(2 rows) - -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b2 s1l s2l s1u s1c s1ul s2c -step s1b: BEGIN; -step s2b2: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s1l: SELECT pg_advisory_lock(578902068); -pg_advisory_lock ----------------- - -(1 row) - -step s2l: SELECT * FROM lcku_table WHERE pg_advisory_lock(578902068) IS NOT NULL FOR KEY SHARE; -step s1u: UPDATE lcku_table SET id = 2 WHERE id = 3; -step s1c: COMMIT; -step s1ul: SELECT pg_advisory_unlock(578902068); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: <... completed> -ERROR: could not serialize access due to concurrent update -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b2 s1l s1u s2l s1c s1ul s2c -step s1b: BEGIN; -step s2b2: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s1l: SELECT pg_advisory_lock(578902068); -pg_advisory_lock ----------------- - -(1 row) - -step s1u: UPDATE lcku_table SET id = 2 WHERE id = 3; -step s2l: SELECT * FROM lcku_table WHERE pg_advisory_lock(578902068) IS NOT NULL FOR KEY SHARE; -step s1c: COMMIT; -step s1ul: SELECT pg_advisory_unlock(578902068); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: <... completed> -ERROR: could not serialize access due to concurrent update -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b2 s1l s1u s1ul s2l s1c s2c -step s1b: BEGIN; -step s2b2: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s1l: SELECT pg_advisory_lock(578902068); -pg_advisory_lock ----------------- - -(1 row) - -step s1u: UPDATE lcku_table SET id = 2 WHERE id = 3; -step s1ul: SELECT pg_advisory_unlock(578902068); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: SELECT * FROM lcku_table WHERE pg_advisory_lock(578902068) IS NOT NULL FOR KEY SHARE; -step s1c: COMMIT; -step s2l: <... completed> -ERROR: could not serialize access due to concurrent update -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b2 s1l s2l s1u s1c s1hint s1ul s2c -step s1b: BEGIN; -step s2b2: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s1l: SELECT pg_advisory_lock(578902068); -pg_advisory_lock ----------------- - -(1 row) - -step s2l: SELECT * FROM lcku_table WHERE pg_advisory_lock(578902068) IS NOT NULL FOR KEY SHARE; -step s1u: UPDATE lcku_table SET id = 2 WHERE id = 3; -step s1c: COMMIT; -step s1hint: SELECT * FROM lcku_table; -id|value ---+----- - 1|one - 2|two -(2 rows) - -step s1ul: SELECT pg_advisory_unlock(578902068); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: <... completed> -ERROR: could not serialize access due to concurrent update -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b2 s1l s1u s2l s1c s1hint s1ul s2c -step s1b: BEGIN; -step s2b2: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s1l: SELECT pg_advisory_lock(578902068); -pg_advisory_lock ----------------- - -(1 row) - -step s1u: UPDATE lcku_table SET id = 2 WHERE id = 3; -step s2l: SELECT * FROM lcku_table WHERE pg_advisory_lock(578902068) IS NOT NULL FOR KEY SHARE; -step s1c: COMMIT; -step s1hint: SELECT * FROM lcku_table; -id|value ---+----- - 1|one - 2|two -(2 rows) - -step s1ul: SELECT pg_advisory_unlock(578902068); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: <... completed> -ERROR: could not serialize access due to concurrent update -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b2 s1l s1u s1ul s2l s1c s1hint s2c -step s1b: BEGIN; -step s2b2: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s1l: SELECT pg_advisory_lock(578902068); -pg_advisory_lock ----------------- - -(1 row) - -step s1u: UPDATE lcku_table SET id = 2 WHERE id = 3; -step s1ul: SELECT pg_advisory_unlock(578902068); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: SELECT * FROM lcku_table WHERE pg_advisory_lock(578902068) IS NOT NULL FOR KEY SHARE; -step s1c: COMMIT; -step s2l: <... completed> -ERROR: could not serialize access due to concurrent update -step s1hint: SELECT * FROM lcku_table; -id|value ---+----- - 1|one - 2|two -(2 rows) - -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b3 s1l s2l s1u s1c s1ul s2c -step s1b: BEGIN; -step s2b3: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s1l: SELECT pg_advisory_lock(578902068); -pg_advisory_lock ----------------- - -(1 row) - -step s2l: SELECT * FROM lcku_table WHERE pg_advisory_lock(578902068) IS NOT NULL FOR KEY SHARE; -step s1u: UPDATE lcku_table SET id = 2 WHERE id = 3; -step s1c: COMMIT; -step s1ul: SELECT pg_advisory_unlock(578902068); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: <... completed> -ERROR: could not serialize access due to concurrent update -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b3 s1l s1u s2l s1c s1ul s2c -step s1b: BEGIN; -step s2b3: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s1l: SELECT pg_advisory_lock(578902068); -pg_advisory_lock ----------------- - -(1 row) - -step s1u: UPDATE lcku_table SET id = 2 WHERE id = 3; -step s2l: SELECT * FROM lcku_table WHERE pg_advisory_lock(578902068) IS NOT NULL FOR KEY SHARE; -step s1c: COMMIT; -step s1ul: SELECT pg_advisory_unlock(578902068); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: <... completed> -ERROR: could not serialize access due to concurrent update -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b3 s1l s1u s1ul s2l s1c s2c -step s1b: BEGIN; -step s2b3: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s1l: SELECT pg_advisory_lock(578902068); -pg_advisory_lock ----------------- - -(1 row) - -step s1u: UPDATE lcku_table SET id = 2 WHERE id = 3; -step s1ul: SELECT pg_advisory_unlock(578902068); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: SELECT * FROM lcku_table WHERE pg_advisory_lock(578902068) IS NOT NULL FOR KEY SHARE; -step s1c: COMMIT; -step s2l: <... completed> -ERROR: could not serialize access due to concurrent update -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b3 s1l s2l s1u s1c s1hint s1ul s2c -step s1b: BEGIN; -step s2b3: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s1l: SELECT pg_advisory_lock(578902068); -pg_advisory_lock ----------------- - -(1 row) - -step s2l: SELECT * FROM lcku_table WHERE pg_advisory_lock(578902068) IS NOT NULL FOR KEY SHARE; -step s1u: UPDATE lcku_table SET id = 2 WHERE id = 3; -step s1c: COMMIT; -step s1hint: SELECT * FROM lcku_table; -id|value ---+----- - 1|one - 2|two -(2 rows) - -step s1ul: SELECT pg_advisory_unlock(578902068); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: <... completed> -ERROR: could not serialize access due to concurrent update -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b3 s1l s1u s2l s1c s1hint s1ul s2c -step s1b: BEGIN; -step s2b3: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s1l: SELECT pg_advisory_lock(578902068); -pg_advisory_lock ----------------- - -(1 row) - -step s1u: UPDATE lcku_table SET id = 2 WHERE id = 3; -step s2l: SELECT * FROM lcku_table WHERE pg_advisory_lock(578902068) IS NOT NULL FOR KEY SHARE; -step s1c: COMMIT; -step s1hint: SELECT * FROM lcku_table; -id|value ---+----- - 1|one - 2|two -(2 rows) - -step s1ul: SELECT pg_advisory_unlock(578902068); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: <... completed> -ERROR: could not serialize access due to concurrent update -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - - -starting permutation: s1b s2b3 s1l s1u s1ul s2l s1c s1hint s2c -step s1b: BEGIN; -step s2b3: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s1l: SELECT pg_advisory_lock(578902068); -pg_advisory_lock ----------------- - -(1 row) - -step s1u: UPDATE lcku_table SET id = 2 WHERE id = 3; -step s1ul: SELECT pg_advisory_unlock(578902068); -pg_advisory_unlock ------------------- -t -(1 row) - -step s2l: SELECT * FROM lcku_table WHERE pg_advisory_lock(578902068) IS NOT NULL FOR KEY SHARE; -step s1c: COMMIT; -step s2l: <... completed> -ERROR: could not serialize access due to concurrent update -step s1hint: SELECT * FROM lcku_table; -id|value ---+----- - 1|one - 2|two -(2 rows) - -step s2c: COMMIT; -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/update-locked-tuple.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/update-locked-tuple.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/update-locked-tuple.out 2024-03-29 10:06:51.887270884 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/update-locked-tuple.out 2024-03-29 10:13:19.863275252 +0000 @@ -1,55 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1b s2b s2u s2c s1u1 s1u2 s1c -step s1b: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s2b: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s2u: UPDATE users SET sometime = '1830-10-04' WHERE id = 1; -step s2c: COMMIT; -step s1u1: UPDATE orders SET name = 'order of olivier (2)', user_id = 1 WHERE id = 1; -step s1u2: UPDATE orders SET name = 'order of olivier (3)', user_id = 1 WHERE id = 1; -step s1c: COMMIT; - -starting permutation: s1b s2b s2u s1u1 s2c s1u2 s1c -step s1b: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s2b: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s2u: UPDATE users SET sometime = '1830-10-04' WHERE id = 1; -step s1u1: UPDATE orders SET name = 'order of olivier (2)', user_id = 1 WHERE id = 1; -step s2c: COMMIT; -step s1u2: UPDATE orders SET name = 'order of olivier (3)', user_id = 1 WHERE id = 1; -step s1c: COMMIT; - -starting permutation: s1b s2b s1u1 s2u s2c s1u2 s1c -step s1b: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s2b: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s1u1: UPDATE orders SET name = 'order of olivier (2)', user_id = 1 WHERE id = 1; -step s2u: UPDATE users SET sometime = '1830-10-04' WHERE id = 1; -step s2c: COMMIT; -step s1u2: UPDATE orders SET name = 'order of olivier (3)', user_id = 1 WHERE id = 1; -step s1c: COMMIT; - -starting permutation: s1b s1u1 s2b s2u s2c s1u2 s1c -step s1b: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s1u1: UPDATE orders SET name = 'order of olivier (2)', user_id = 1 WHERE id = 1; -step s2b: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s2u: UPDATE users SET sometime = '1830-10-04' WHERE id = 1; -step s2c: COMMIT; -step s1u2: UPDATE orders SET name = 'order of olivier (3)', user_id = 1 WHERE id = 1; -step s1c: COMMIT; - -starting permutation: s1b s1u1 s2b s1u2 s2u s2c s1c -step s1b: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s1u1: UPDATE orders SET name = 'order of olivier (2)', user_id = 1 WHERE id = 1; -step s2b: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s1u2: UPDATE orders SET name = 'order of olivier (3)', user_id = 1 WHERE id = 1; -step s2u: UPDATE users SET sometime = '1830-10-04' WHERE id = 1; -step s2c: COMMIT; -step s1c: COMMIT; - -starting permutation: s1b s1u1 s1u2 s2b s2u s2c s1c -step s1b: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s1u1: UPDATE orders SET name = 'order of olivier (2)', user_id = 1 WHERE id = 1; -step s1u2: UPDATE orders SET name = 'order of olivier (3)', user_id = 1 WHERE id = 1; -step s2b: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s2u: UPDATE users SET sometime = '1830-10-04' WHERE id = 1; -step s2c: COMMIT; -step s1c: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/reindex-concurrently.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/reindex-concurrently.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/reindex-concurrently.out 2024-03-29 10:06:51.887270884 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/reindex-concurrently.out 2024-03-29 10:13:19.871275250 +0000 @@ -1,90 +1,3 @@ Parsed test spec with 3 sessions - -starting permutation: reindex sel1 upd2 ins2 del2 end1 end2 -step reindex: REINDEX TABLE CONCURRENTLY reind_con_tab; -step sel1: SELECT data FROM reind_con_tab WHERE id = 3; -data ----- -aaaa -(1 row) - -step upd2: UPDATE reind_con_tab SET data = 'bbbb' WHERE id = 3; -step ins2: INSERT INTO reind_con_tab(data) VALUES ('cccc'); -step del2: DELETE FROM reind_con_tab WHERE data = 'cccc'; -step end1: COMMIT; -step end2: COMMIT; - -starting permutation: sel1 reindex upd2 ins2 del2 end1 end2 -step sel1: SELECT data FROM reind_con_tab WHERE id = 3; -data ----- -aaaa -(1 row) - -step reindex: REINDEX TABLE CONCURRENTLY reind_con_tab; -step upd2: UPDATE reind_con_tab SET data = 'bbbb' WHERE id = 3; -step ins2: INSERT INTO reind_con_tab(data) VALUES ('cccc'); -step del2: DELETE FROM reind_con_tab WHERE data = 'cccc'; -step end1: COMMIT; -step end2: COMMIT; -step reindex: <... completed> - -starting permutation: sel1 upd2 reindex ins2 del2 end1 end2 -step sel1: SELECT data FROM reind_con_tab WHERE id = 3; -data ----- -aaaa -(1 row) - -step upd2: UPDATE reind_con_tab SET data = 'bbbb' WHERE id = 3; -step reindex: REINDEX TABLE CONCURRENTLY reind_con_tab; -step ins2: INSERT INTO reind_con_tab(data) VALUES ('cccc'); -step del2: DELETE FROM reind_con_tab WHERE data = 'cccc'; -step end1: COMMIT; -step end2: COMMIT; -step reindex: <... completed> - -starting permutation: sel1 upd2 ins2 reindex del2 end1 end2 -step sel1: SELECT data FROM reind_con_tab WHERE id = 3; -data ----- -aaaa -(1 row) - -step upd2: UPDATE reind_con_tab SET data = 'bbbb' WHERE id = 3; -step ins2: INSERT INTO reind_con_tab(data) VALUES ('cccc'); -step reindex: REINDEX TABLE CONCURRENTLY reind_con_tab; -step del2: DELETE FROM reind_con_tab WHERE data = 'cccc'; -step end1: COMMIT; -step end2: COMMIT; -step reindex: <... completed> - -starting permutation: sel1 upd2 ins2 del2 reindex end1 end2 -step sel1: SELECT data FROM reind_con_tab WHERE id = 3; -data ----- -aaaa -(1 row) - -step upd2: UPDATE reind_con_tab SET data = 'bbbb' WHERE id = 3; -step ins2: INSERT INTO reind_con_tab(data) VALUES ('cccc'); -step del2: DELETE FROM reind_con_tab WHERE data = 'cccc'; -step reindex: REINDEX TABLE CONCURRENTLY reind_con_tab; -step end1: COMMIT; -step end2: COMMIT; -step reindex: <... completed> - -starting permutation: sel1 upd2 ins2 del2 end1 reindex end2 -step sel1: SELECT data FROM reind_con_tab WHERE id = 3; -data ----- -aaaa -(1 row) - -step upd2: UPDATE reind_con_tab SET data = 'bbbb' WHERE id = 3; -step ins2: INSERT INTO reind_con_tab(data) VALUES ('cccc'); -step del2: DELETE FROM reind_con_tab WHERE data = 'cccc'; -step end1: COMMIT; -step reindex: REINDEX TABLE CONCURRENTLY reind_con_tab; -step end2: COMMIT; -step reindex: <... completed> +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/reindex-concurrently-toast.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/reindex-concurrently-toast.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/reindex-concurrently-toast.out 2024-03-29 10:06:51.887270884 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/reindex-concurrently-toast.out 2024-03-29 10:13:19.887275247 +0000 @@ -1,775 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: lrex1 ins1 retab2 end1 sel2 -step lrex1: lock TABLE reind_con_wide in ROW EXCLUSIVE MODE; -step ins1: INSERT INTO reind_con_wide SELECT 3, repeat('3', 11) || string_agg(g.i::text || random()::text, '') FROM generate_series(1, 500) g(i); -step retab2: REINDEX TABLE CONCURRENTLY pg_toast.reind_con_toast; -step end1: COMMIT; -step retab2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 - 2|2222222222 - 3|3333333333 -(3 rows) - - -starting permutation: lrex1 ins1 reind2 end1 sel2 -step lrex1: lock TABLE reind_con_wide in ROW EXCLUSIVE MODE; -step ins1: INSERT INTO reind_con_wide SELECT 3, repeat('3', 11) || string_agg(g.i::text || random()::text, '') FROM generate_series(1, 500) g(i); -step reind2: REINDEX INDEX CONCURRENTLY pg_toast.reind_con_toast_idx; -step end1: COMMIT; -step reind2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 - 2|2222222222 - 3|3333333333 -(3 rows) - - -starting permutation: lrex1 upd1 retab2 end1 sel2 -step lrex1: lock TABLE reind_con_wide in ROW EXCLUSIVE MODE; -step upd1: UPDATE reind_con_wide SET data = (SELECT repeat('4', 11) || string_agg(g.i::text || random()::text, '') FROM generate_series(1, 500) g(i)) WHERE id = 1; -step retab2: REINDEX TABLE CONCURRENTLY pg_toast.reind_con_toast; -step end1: COMMIT; -step retab2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|4444444444 - 2|2222222222 -(2 rows) - - -starting permutation: lrex1 upd1 reind2 end1 sel2 -step lrex1: lock TABLE reind_con_wide in ROW EXCLUSIVE MODE; -step upd1: UPDATE reind_con_wide SET data = (SELECT repeat('4', 11) || string_agg(g.i::text || random()::text, '') FROM generate_series(1, 500) g(i)) WHERE id = 1; -step reind2: REINDEX INDEX CONCURRENTLY pg_toast.reind_con_toast_idx; -step end1: COMMIT; -step reind2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|4444444444 - 2|2222222222 -(2 rows) - - -starting permutation: lrex1 del1 retab2 end1 sel2 -step lrex1: lock TABLE reind_con_wide in ROW EXCLUSIVE MODE; -step del1: DELETE FROM reind_con_wide WHERE id = 2; -step retab2: REINDEX TABLE CONCURRENTLY pg_toast.reind_con_toast; -step end1: COMMIT; -step retab2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 -(1 row) - - -starting permutation: lrex1 del1 reind2 end1 sel2 -step lrex1: lock TABLE reind_con_wide in ROW EXCLUSIVE MODE; -step del1: DELETE FROM reind_con_wide WHERE id = 2; -step reind2: REINDEX INDEX CONCURRENTLY pg_toast.reind_con_toast_idx; -step end1: COMMIT; -step reind2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 -(1 row) - - -starting permutation: lrex1 dro1 retab2 end1 sel2 -step lrex1: lock TABLE reind_con_wide in ROW EXCLUSIVE MODE; -step dro1: DROP TABLE reind_con_wide; -step retab2: REINDEX TABLE CONCURRENTLY pg_toast.reind_con_toast; -step end1: COMMIT; -step retab2: <... completed> -ERROR: relation "pg_toast.reind_con_toast" does not exist -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -ERROR: relation "reind_con_wide" does not exist - -starting permutation: lrex1 dro1 reind2 end1 sel2 -step lrex1: lock TABLE reind_con_wide in ROW EXCLUSIVE MODE; -step dro1: DROP TABLE reind_con_wide; -step reind2: REINDEX INDEX CONCURRENTLY pg_toast.reind_con_toast_idx; -step end1: COMMIT; -step reind2: <... completed> -ERROR: relation "pg_toast.reind_con_toast_idx" does not exist -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -ERROR: relation "reind_con_wide" does not exist - -starting permutation: lrex1 retab2 dro1 end1 sel2 -step lrex1: lock TABLE reind_con_wide in ROW EXCLUSIVE MODE; -step retab2: REINDEX TABLE CONCURRENTLY pg_toast.reind_con_toast; -step dro1: DROP TABLE reind_con_wide; -step end1: COMMIT; -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -ERROR: relation "reind_con_wide" does not exist - -starting permutation: lrex1 reind2 dro1 end1 sel2 -step lrex1: lock TABLE reind_con_wide in ROW EXCLUSIVE MODE; -step reind2: REINDEX INDEX CONCURRENTLY pg_toast.reind_con_toast_idx; -step dro1: DROP TABLE reind_con_wide; -step end1: COMMIT; -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -ERROR: relation "reind_con_wide" does not exist - -starting permutation: lsha1 ins1 retab2 end1 sel2 -step lsha1: lock TABLE reind_con_wide in SHARE MODE; -step ins1: INSERT INTO reind_con_wide SELECT 3, repeat('3', 11) || string_agg(g.i::text || random()::text, '') FROM generate_series(1, 500) g(i); -step retab2: REINDEX TABLE CONCURRENTLY pg_toast.reind_con_toast; -step end1: COMMIT; -step retab2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 - 2|2222222222 - 3|3333333333 -(3 rows) - - -starting permutation: lsha1 ins1 reind2 end1 sel2 -step lsha1: lock TABLE reind_con_wide in SHARE MODE; -step ins1: INSERT INTO reind_con_wide SELECT 3, repeat('3', 11) || string_agg(g.i::text || random()::text, '') FROM generate_series(1, 500) g(i); -step reind2: REINDEX INDEX CONCURRENTLY pg_toast.reind_con_toast_idx; -step end1: COMMIT; -step reind2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 - 2|2222222222 - 3|3333333333 -(3 rows) - - -starting permutation: lsha1 upd1 retab2 end1 sel2 -step lsha1: lock TABLE reind_con_wide in SHARE MODE; -step upd1: UPDATE reind_con_wide SET data = (SELECT repeat('4', 11) || string_agg(g.i::text || random()::text, '') FROM generate_series(1, 500) g(i)) WHERE id = 1; -step retab2: REINDEX TABLE CONCURRENTLY pg_toast.reind_con_toast; -step end1: COMMIT; -step retab2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|4444444444 - 2|2222222222 -(2 rows) - - -starting permutation: lsha1 upd1 reind2 end1 sel2 -step lsha1: lock TABLE reind_con_wide in SHARE MODE; -step upd1: UPDATE reind_con_wide SET data = (SELECT repeat('4', 11) || string_agg(g.i::text || random()::text, '') FROM generate_series(1, 500) g(i)) WHERE id = 1; -step reind2: REINDEX INDEX CONCURRENTLY pg_toast.reind_con_toast_idx; -step end1: COMMIT; -step reind2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|4444444444 - 2|2222222222 -(2 rows) - - -starting permutation: lsha1 del1 retab2 end1 sel2 -step lsha1: lock TABLE reind_con_wide in SHARE MODE; -step del1: DELETE FROM reind_con_wide WHERE id = 2; -step retab2: REINDEX TABLE CONCURRENTLY pg_toast.reind_con_toast; -step end1: COMMIT; -step retab2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 -(1 row) - - -starting permutation: lsha1 del1 reind2 end1 sel2 -step lsha1: lock TABLE reind_con_wide in SHARE MODE; -step del1: DELETE FROM reind_con_wide WHERE id = 2; -step reind2: REINDEX INDEX CONCURRENTLY pg_toast.reind_con_toast_idx; -step end1: COMMIT; -step reind2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 -(1 row) - - -starting permutation: lsha1 dro1 retab2 end1 sel2 -step lsha1: lock TABLE reind_con_wide in SHARE MODE; -step dro1: DROP TABLE reind_con_wide; -step retab2: REINDEX TABLE CONCURRENTLY pg_toast.reind_con_toast; -step end1: COMMIT; -step retab2: <... completed> -ERROR: relation "pg_toast.reind_con_toast" does not exist -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -ERROR: relation "reind_con_wide" does not exist - -starting permutation: lsha1 dro1 reind2 end1 sel2 -step lsha1: lock TABLE reind_con_wide in SHARE MODE; -step dro1: DROP TABLE reind_con_wide; -step reind2: REINDEX INDEX CONCURRENTLY pg_toast.reind_con_toast_idx; -step end1: COMMIT; -step reind2: <... completed> -ERROR: relation "pg_toast.reind_con_toast_idx" does not exist -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -ERROR: relation "reind_con_wide" does not exist - -starting permutation: lsha1 retab2 dro1 end1 sel2 -step lsha1: lock TABLE reind_con_wide in SHARE MODE; -step retab2: REINDEX TABLE CONCURRENTLY pg_toast.reind_con_toast; -step dro1: DROP TABLE reind_con_wide; -step end1: COMMIT; -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -ERROR: relation "reind_con_wide" does not exist - -starting permutation: lsha1 reind2 dro1 end1 sel2 -step lsha1: lock TABLE reind_con_wide in SHARE MODE; -step reind2: REINDEX INDEX CONCURRENTLY pg_toast.reind_con_toast_idx; -step dro1: DROP TABLE reind_con_wide; -step end1: COMMIT; -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -ERROR: relation "reind_con_wide" does not exist - -starting permutation: lexc1 ins1 retab2 end1 sel2 -step lexc1: lock TABLE reind_con_wide in EXCLUSIVE MODE; -step ins1: INSERT INTO reind_con_wide SELECT 3, repeat('3', 11) || string_agg(g.i::text || random()::text, '') FROM generate_series(1, 500) g(i); -step retab2: REINDEX TABLE CONCURRENTLY pg_toast.reind_con_toast; -step end1: COMMIT; -step retab2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 - 2|2222222222 - 3|3333333333 -(3 rows) - - -starting permutation: lexc1 ins1 reind2 end1 sel2 -step lexc1: lock TABLE reind_con_wide in EXCLUSIVE MODE; -step ins1: INSERT INTO reind_con_wide SELECT 3, repeat('3', 11) || string_agg(g.i::text || random()::text, '') FROM generate_series(1, 500) g(i); -step reind2: REINDEX INDEX CONCURRENTLY pg_toast.reind_con_toast_idx; -step end1: COMMIT; -step reind2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 - 2|2222222222 - 3|3333333333 -(3 rows) - - -starting permutation: lexc1 upd1 retab2 end1 sel2 -step lexc1: lock TABLE reind_con_wide in EXCLUSIVE MODE; -step upd1: UPDATE reind_con_wide SET data = (SELECT repeat('4', 11) || string_agg(g.i::text || random()::text, '') FROM generate_series(1, 500) g(i)) WHERE id = 1; -step retab2: REINDEX TABLE CONCURRENTLY pg_toast.reind_con_toast; -step end1: COMMIT; -step retab2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|4444444444 - 2|2222222222 -(2 rows) - - -starting permutation: lexc1 upd1 reind2 end1 sel2 -step lexc1: lock TABLE reind_con_wide in EXCLUSIVE MODE; -step upd1: UPDATE reind_con_wide SET data = (SELECT repeat('4', 11) || string_agg(g.i::text || random()::text, '') FROM generate_series(1, 500) g(i)) WHERE id = 1; -step reind2: REINDEX INDEX CONCURRENTLY pg_toast.reind_con_toast_idx; -step end1: COMMIT; -step reind2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|4444444444 - 2|2222222222 -(2 rows) - - -starting permutation: lexc1 del1 retab2 end1 sel2 -step lexc1: lock TABLE reind_con_wide in EXCLUSIVE MODE; -step del1: DELETE FROM reind_con_wide WHERE id = 2; -step retab2: REINDEX TABLE CONCURRENTLY pg_toast.reind_con_toast; -step end1: COMMIT; -step retab2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 -(1 row) - - -starting permutation: lexc1 del1 reind2 end1 sel2 -step lexc1: lock TABLE reind_con_wide in EXCLUSIVE MODE; -step del1: DELETE FROM reind_con_wide WHERE id = 2; -step reind2: REINDEX INDEX CONCURRENTLY pg_toast.reind_con_toast_idx; -step end1: COMMIT; -step reind2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 -(1 row) - - -starting permutation: lexc1 dro1 retab2 end1 sel2 -step lexc1: lock TABLE reind_con_wide in EXCLUSIVE MODE; -step dro1: DROP TABLE reind_con_wide; -step retab2: REINDEX TABLE CONCURRENTLY pg_toast.reind_con_toast; -step end1: COMMIT; -step retab2: <... completed> -ERROR: relation "pg_toast.reind_con_toast" does not exist -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -ERROR: relation "reind_con_wide" does not exist - -starting permutation: lexc1 dro1 reind2 end1 sel2 -step lexc1: lock TABLE reind_con_wide in EXCLUSIVE MODE; -step dro1: DROP TABLE reind_con_wide; -step reind2: REINDEX INDEX CONCURRENTLY pg_toast.reind_con_toast_idx; -step end1: COMMIT; -step reind2: <... completed> -ERROR: relation "pg_toast.reind_con_toast_idx" does not exist -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -ERROR: relation "reind_con_wide" does not exist - -starting permutation: lexc1 retab2 dro1 end1 sel2 -step lexc1: lock TABLE reind_con_wide in EXCLUSIVE MODE; -step retab2: REINDEX TABLE CONCURRENTLY pg_toast.reind_con_toast; -step dro1: DROP TABLE reind_con_wide; -step end1: COMMIT; -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -ERROR: relation "reind_con_wide" does not exist - -starting permutation: lexc1 reind2 dro1 end1 sel2 -step lexc1: lock TABLE reind_con_wide in EXCLUSIVE MODE; -step reind2: REINDEX INDEX CONCURRENTLY pg_toast.reind_con_toast_idx; -step dro1: DROP TABLE reind_con_wide; -step end1: COMMIT; -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -ERROR: relation "reind_con_wide" does not exist - -starting permutation: lrex1 ins1 retab2 rol1 sel2 -step lrex1: lock TABLE reind_con_wide in ROW EXCLUSIVE MODE; -step ins1: INSERT INTO reind_con_wide SELECT 3, repeat('3', 11) || string_agg(g.i::text || random()::text, '') FROM generate_series(1, 500) g(i); -step retab2: REINDEX TABLE CONCURRENTLY pg_toast.reind_con_toast; -step rol1: ROLLBACK; -step retab2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 - 2|2222222222 -(2 rows) - - -starting permutation: lrex1 ins1 reind2 rol1 sel2 -step lrex1: lock TABLE reind_con_wide in ROW EXCLUSIVE MODE; -step ins1: INSERT INTO reind_con_wide SELECT 3, repeat('3', 11) || string_agg(g.i::text || random()::text, '') FROM generate_series(1, 500) g(i); -step reind2: REINDEX INDEX CONCURRENTLY pg_toast.reind_con_toast_idx; -step rol1: ROLLBACK; -step reind2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 - 2|2222222222 -(2 rows) - - -starting permutation: lrex1 upd1 retab2 rol1 sel2 -step lrex1: lock TABLE reind_con_wide in ROW EXCLUSIVE MODE; -step upd1: UPDATE reind_con_wide SET data = (SELECT repeat('4', 11) || string_agg(g.i::text || random()::text, '') FROM generate_series(1, 500) g(i)) WHERE id = 1; -step retab2: REINDEX TABLE CONCURRENTLY pg_toast.reind_con_toast; -step rol1: ROLLBACK; -step retab2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 - 2|2222222222 -(2 rows) - - -starting permutation: lrex1 upd1 reind2 rol1 sel2 -step lrex1: lock TABLE reind_con_wide in ROW EXCLUSIVE MODE; -step upd1: UPDATE reind_con_wide SET data = (SELECT repeat('4', 11) || string_agg(g.i::text || random()::text, '') FROM generate_series(1, 500) g(i)) WHERE id = 1; -step reind2: REINDEX INDEX CONCURRENTLY pg_toast.reind_con_toast_idx; -step rol1: ROLLBACK; -step reind2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 - 2|2222222222 -(2 rows) - - -starting permutation: lrex1 del1 retab2 rol1 sel2 -step lrex1: lock TABLE reind_con_wide in ROW EXCLUSIVE MODE; -step del1: DELETE FROM reind_con_wide WHERE id = 2; -step retab2: REINDEX TABLE CONCURRENTLY pg_toast.reind_con_toast; -step rol1: ROLLBACK; -step retab2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 - 2|2222222222 -(2 rows) - - -starting permutation: lrex1 del1 reind2 rol1 sel2 -step lrex1: lock TABLE reind_con_wide in ROW EXCLUSIVE MODE; -step del1: DELETE FROM reind_con_wide WHERE id = 2; -step reind2: REINDEX INDEX CONCURRENTLY pg_toast.reind_con_toast_idx; -step rol1: ROLLBACK; -step reind2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 - 2|2222222222 -(2 rows) - - -starting permutation: lrex1 dro1 retab2 rol1 sel2 -step lrex1: lock TABLE reind_con_wide in ROW EXCLUSIVE MODE; -step dro1: DROP TABLE reind_con_wide; -step retab2: REINDEX TABLE CONCURRENTLY pg_toast.reind_con_toast; -step rol1: ROLLBACK; -step retab2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 - 2|2222222222 -(2 rows) - - -starting permutation: lrex1 dro1 reind2 rol1 sel2 -step lrex1: lock TABLE reind_con_wide in ROW EXCLUSIVE MODE; -step dro1: DROP TABLE reind_con_wide; -step reind2: REINDEX INDEX CONCURRENTLY pg_toast.reind_con_toast_idx; -step rol1: ROLLBACK; -step reind2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 - 2|2222222222 -(2 rows) - - -starting permutation: lrex1 retab2 dro1 rol1 sel2 -step lrex1: lock TABLE reind_con_wide in ROW EXCLUSIVE MODE; -step retab2: REINDEX TABLE CONCURRENTLY pg_toast.reind_con_toast; -step dro1: DROP TABLE reind_con_wide; -step rol1: ROLLBACK; -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 - 2|2222222222 -(2 rows) - - -starting permutation: lrex1 reind2 dro1 rol1 sel2 -step lrex1: lock TABLE reind_con_wide in ROW EXCLUSIVE MODE; -step reind2: REINDEX INDEX CONCURRENTLY pg_toast.reind_con_toast_idx; -step dro1: DROP TABLE reind_con_wide; -step rol1: ROLLBACK; -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 - 2|2222222222 -(2 rows) - - -starting permutation: lsha1 ins1 retab2 rol1 sel2 -step lsha1: lock TABLE reind_con_wide in SHARE MODE; -step ins1: INSERT INTO reind_con_wide SELECT 3, repeat('3', 11) || string_agg(g.i::text || random()::text, '') FROM generate_series(1, 500) g(i); -step retab2: REINDEX TABLE CONCURRENTLY pg_toast.reind_con_toast; -step rol1: ROLLBACK; -step retab2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 - 2|2222222222 -(2 rows) - - -starting permutation: lsha1 ins1 reind2 rol1 sel2 -step lsha1: lock TABLE reind_con_wide in SHARE MODE; -step ins1: INSERT INTO reind_con_wide SELECT 3, repeat('3', 11) || string_agg(g.i::text || random()::text, '') FROM generate_series(1, 500) g(i); -step reind2: REINDEX INDEX CONCURRENTLY pg_toast.reind_con_toast_idx; -step rol1: ROLLBACK; -step reind2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 - 2|2222222222 -(2 rows) - - -starting permutation: lsha1 upd1 retab2 rol1 sel2 -step lsha1: lock TABLE reind_con_wide in SHARE MODE; -step upd1: UPDATE reind_con_wide SET data = (SELECT repeat('4', 11) || string_agg(g.i::text || random()::text, '') FROM generate_series(1, 500) g(i)) WHERE id = 1; -step retab2: REINDEX TABLE CONCURRENTLY pg_toast.reind_con_toast; -step rol1: ROLLBACK; -step retab2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 - 2|2222222222 -(2 rows) - - -starting permutation: lsha1 upd1 reind2 rol1 sel2 -step lsha1: lock TABLE reind_con_wide in SHARE MODE; -step upd1: UPDATE reind_con_wide SET data = (SELECT repeat('4', 11) || string_agg(g.i::text || random()::text, '') FROM generate_series(1, 500) g(i)) WHERE id = 1; -step reind2: REINDEX INDEX CONCURRENTLY pg_toast.reind_con_toast_idx; -step rol1: ROLLBACK; -step reind2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 - 2|2222222222 -(2 rows) - - -starting permutation: lsha1 del1 retab2 rol1 sel2 -step lsha1: lock TABLE reind_con_wide in SHARE MODE; -step del1: DELETE FROM reind_con_wide WHERE id = 2; -step retab2: REINDEX TABLE CONCURRENTLY pg_toast.reind_con_toast; -step rol1: ROLLBACK; -step retab2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 - 2|2222222222 -(2 rows) - - -starting permutation: lsha1 del1 reind2 rol1 sel2 -step lsha1: lock TABLE reind_con_wide in SHARE MODE; -step del1: DELETE FROM reind_con_wide WHERE id = 2; -step reind2: REINDEX INDEX CONCURRENTLY pg_toast.reind_con_toast_idx; -step rol1: ROLLBACK; -step reind2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 - 2|2222222222 -(2 rows) - - -starting permutation: lsha1 dro1 retab2 rol1 sel2 -step lsha1: lock TABLE reind_con_wide in SHARE MODE; -step dro1: DROP TABLE reind_con_wide; -step retab2: REINDEX TABLE CONCURRENTLY pg_toast.reind_con_toast; -step rol1: ROLLBACK; -step retab2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 - 2|2222222222 -(2 rows) - - -starting permutation: lsha1 dro1 reind2 rol1 sel2 -step lsha1: lock TABLE reind_con_wide in SHARE MODE; -step dro1: DROP TABLE reind_con_wide; -step reind2: REINDEX INDEX CONCURRENTLY pg_toast.reind_con_toast_idx; -step rol1: ROLLBACK; -step reind2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 - 2|2222222222 -(2 rows) - - -starting permutation: lsha1 retab2 dro1 rol1 sel2 -step lsha1: lock TABLE reind_con_wide in SHARE MODE; -step retab2: REINDEX TABLE CONCURRENTLY pg_toast.reind_con_toast; -step dro1: DROP TABLE reind_con_wide; -step rol1: ROLLBACK; -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 - 2|2222222222 -(2 rows) - - -starting permutation: lsha1 reind2 dro1 rol1 sel2 -step lsha1: lock TABLE reind_con_wide in SHARE MODE; -step reind2: REINDEX INDEX CONCURRENTLY pg_toast.reind_con_toast_idx; -step dro1: DROP TABLE reind_con_wide; -step rol1: ROLLBACK; -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 - 2|2222222222 -(2 rows) - - -starting permutation: lexc1 ins1 retab2 rol1 sel2 -step lexc1: lock TABLE reind_con_wide in EXCLUSIVE MODE; -step ins1: INSERT INTO reind_con_wide SELECT 3, repeat('3', 11) || string_agg(g.i::text || random()::text, '') FROM generate_series(1, 500) g(i); -step retab2: REINDEX TABLE CONCURRENTLY pg_toast.reind_con_toast; -step rol1: ROLLBACK; -step retab2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 - 2|2222222222 -(2 rows) - - -starting permutation: lexc1 ins1 reind2 rol1 sel2 -step lexc1: lock TABLE reind_con_wide in EXCLUSIVE MODE; -step ins1: INSERT INTO reind_con_wide SELECT 3, repeat('3', 11) || string_agg(g.i::text || random()::text, '') FROM generate_series(1, 500) g(i); -step reind2: REINDEX INDEX CONCURRENTLY pg_toast.reind_con_toast_idx; -step rol1: ROLLBACK; -step reind2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 - 2|2222222222 -(2 rows) - - -starting permutation: lexc1 upd1 retab2 rol1 sel2 -step lexc1: lock TABLE reind_con_wide in EXCLUSIVE MODE; -step upd1: UPDATE reind_con_wide SET data = (SELECT repeat('4', 11) || string_agg(g.i::text || random()::text, '') FROM generate_series(1, 500) g(i)) WHERE id = 1; -step retab2: REINDEX TABLE CONCURRENTLY pg_toast.reind_con_toast; -step rol1: ROLLBACK; -step retab2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 - 2|2222222222 -(2 rows) - - -starting permutation: lexc1 upd1 reind2 rol1 sel2 -step lexc1: lock TABLE reind_con_wide in EXCLUSIVE MODE; -step upd1: UPDATE reind_con_wide SET data = (SELECT repeat('4', 11) || string_agg(g.i::text || random()::text, '') FROM generate_series(1, 500) g(i)) WHERE id = 1; -step reind2: REINDEX INDEX CONCURRENTLY pg_toast.reind_con_toast_idx; -step rol1: ROLLBACK; -step reind2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 - 2|2222222222 -(2 rows) - - -starting permutation: lexc1 del1 retab2 rol1 sel2 -step lexc1: lock TABLE reind_con_wide in EXCLUSIVE MODE; -step del1: DELETE FROM reind_con_wide WHERE id = 2; -step retab2: REINDEX TABLE CONCURRENTLY pg_toast.reind_con_toast; -step rol1: ROLLBACK; -step retab2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 - 2|2222222222 -(2 rows) - - -starting permutation: lexc1 del1 reind2 rol1 sel2 -step lexc1: lock TABLE reind_con_wide in EXCLUSIVE MODE; -step del1: DELETE FROM reind_con_wide WHERE id = 2; -step reind2: REINDEX INDEX CONCURRENTLY pg_toast.reind_con_toast_idx; -step rol1: ROLLBACK; -step reind2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 - 2|2222222222 -(2 rows) - - -starting permutation: lexc1 dro1 retab2 rol1 sel2 -step lexc1: lock TABLE reind_con_wide in EXCLUSIVE MODE; -step dro1: DROP TABLE reind_con_wide; -step retab2: REINDEX TABLE CONCURRENTLY pg_toast.reind_con_toast; -step rol1: ROLLBACK; -step retab2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 - 2|2222222222 -(2 rows) - - -starting permutation: lexc1 dro1 reind2 rol1 sel2 -step lexc1: lock TABLE reind_con_wide in EXCLUSIVE MODE; -step dro1: DROP TABLE reind_con_wide; -step reind2: REINDEX INDEX CONCURRENTLY pg_toast.reind_con_toast_idx; -step rol1: ROLLBACK; -step reind2: <... completed> -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 - 2|2222222222 -(2 rows) - - -starting permutation: lexc1 retab2 dro1 rol1 sel2 -step lexc1: lock TABLE reind_con_wide in EXCLUSIVE MODE; -step retab2: REINDEX TABLE CONCURRENTLY pg_toast.reind_con_toast; -step dro1: DROP TABLE reind_con_wide; -step rol1: ROLLBACK; -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 - 2|2222222222 -(2 rows) - - -starting permutation: lexc1 reind2 dro1 rol1 sel2 -step lexc1: lock TABLE reind_con_wide in EXCLUSIVE MODE; -step reind2: REINDEX INDEX CONCURRENTLY pg_toast.reind_con_toast_idx; -step dro1: DROP TABLE reind_con_wide; -step rol1: ROLLBACK; -step sel2: SELECT id, substr(data, 1, 10) FROM reind_con_wide ORDER BY id; -id| substr ---+---------- - 1|1111111111 - 2|2222222222 -(2 rows) - +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/reindex-schema.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/reindex-schema.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/reindex-schema.out 2024-03-29 10:06:51.887270884 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/reindex-schema.out 2024-03-29 10:13:19.943275236 +0000 @@ -1,17 +1,3 @@ Parsed test spec with 3 sessions - -starting permutation: begin1 lock1 reindex2 drop3 end1 -step begin1: BEGIN; -step lock1: LOCK reindex_schema.tab_locked IN SHARE UPDATE EXCLUSIVE MODE; -step reindex2: REINDEX SCHEMA reindex_schema; -step drop3: DROP TABLE reindex_schema.tab_dropped; -step end1: COMMIT; -step reindex2: <... completed> - -starting permutation: begin1 lock1 reindex_conc2 drop3 end1 -step begin1: BEGIN; -step lock1: LOCK reindex_schema.tab_locked IN SHARE UPDATE EXCLUSIVE MODE; -step reindex_conc2: REINDEX SCHEMA CONCURRENTLY reindex_schema; -step drop3: DROP TABLE reindex_schema.tab_dropped; -step end1: COMMIT; -step reindex_conc2: <... completed> +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/propagate-lock-delete.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/propagate-lock-delete.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/propagate-lock-delete.out 2024-03-29 10:06:51.883270887 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/propagate-lock-delete.out 2024-03-29 10:13:19.951275235 +0000 @@ -1,105 +1,3 @@ Parsed test spec with 3 sessions - -starting permutation: s1b s1l s2b s2l s3b s3u s3d s1c s2c s3c -step s1b: BEGIN; -step s1l: INSERT INTO child VALUES (1); -step s2b: BEGIN; -step s2l: INSERT INTO child VALUES (1); -step s3b: BEGIN; -step s3u: UPDATE parent SET c=lower(c); -step s3d: DELETE FROM parent; -step s1c: COMMIT; -step s2c: COMMIT; -step s3d: <... completed> -ERROR: update or delete on table "parent" violates foreign key constraint "child_i_fkey" on table "child" -step s3c: COMMIT; - -starting permutation: s1b s1l s2b s2l s3b s3u s3svu s3d s1c s2c s3c -step s1b: BEGIN; -step s1l: INSERT INTO child VALUES (1); -step s2b: BEGIN; -step s2l: INSERT INTO child VALUES (1); -step s3b: BEGIN; -step s3u: UPDATE parent SET c=lower(c); -step s3svu: SAVEPOINT f; UPDATE parent SET c = 'bbb'; ROLLBACK TO f; -step s3d: DELETE FROM parent; -step s1c: COMMIT; -step s2c: COMMIT; -step s3d: <... completed> -ERROR: update or delete on table "parent" violates foreign key constraint "child_i_fkey" on table "child" -step s3c: COMMIT; - -starting permutation: s1b s1l s2b s2l s3b s3u2 s3d s1c s2c s3c -step s1b: BEGIN; -step s1l: INSERT INTO child VALUES (1); -step s2b: BEGIN; -step s2l: INSERT INTO child VALUES (1); -step s3b: BEGIN; -step s3u2: UPDATE parent SET i = i; -step s3d: DELETE FROM parent; -step s1c: COMMIT; -step s2c: COMMIT; -step s3d: <... completed> -ERROR: update or delete on table "parent" violates foreign key constraint "child_i_fkey" on table "child" -step s3c: COMMIT; - -starting permutation: s1b s1l s2b s2l s3b s3u2 s3svu s3d s1c s2c s3c -step s1b: BEGIN; -step s1l: INSERT INTO child VALUES (1); -step s2b: BEGIN; -step s2l: INSERT INTO child VALUES (1); -step s3b: BEGIN; -step s3u2: UPDATE parent SET i = i; -step s3svu: SAVEPOINT f; UPDATE parent SET c = 'bbb'; ROLLBACK TO f; -step s3d: DELETE FROM parent; -step s1c: COMMIT; -step s2c: COMMIT; -step s3d: <... completed> -ERROR: update or delete on table "parent" violates foreign key constraint "child_i_fkey" on table "child" -step s3c: COMMIT; - -starting permutation: s1b s1l s3b s3u s3d s1c s3c -step s1b: BEGIN; -step s1l: INSERT INTO child VALUES (1); -step s3b: BEGIN; -step s3u: UPDATE parent SET c=lower(c); -step s3d: DELETE FROM parent; -step s1c: COMMIT; -step s3d: <... completed> -ERROR: update or delete on table "parent" violates foreign key constraint "child_i_fkey" on table "child" -step s3c: COMMIT; - -starting permutation: s1b s1l s3b s3u s3svu s3d s1c s3c -step s1b: BEGIN; -step s1l: INSERT INTO child VALUES (1); -step s3b: BEGIN; -step s3u: UPDATE parent SET c=lower(c); -step s3svu: SAVEPOINT f; UPDATE parent SET c = 'bbb'; ROLLBACK TO f; -step s3d: DELETE FROM parent; -step s1c: COMMIT; -step s3d: <... completed> -ERROR: update or delete on table "parent" violates foreign key constraint "child_i_fkey" on table "child" -step s3c: COMMIT; - -starting permutation: s1b s1l s3b s3u2 s3d s1c s3c -step s1b: BEGIN; -step s1l: INSERT INTO child VALUES (1); -step s3b: BEGIN; -step s3u2: UPDATE parent SET i = i; -step s3d: DELETE FROM parent; -step s1c: COMMIT; -step s3d: <... completed> -ERROR: update or delete on table "parent" violates foreign key constraint "child_i_fkey" on table "child" -step s3c: COMMIT; - -starting permutation: s1b s1l s3b s3u2 s3svu s3d s1c s3c -step s1b: BEGIN; -step s1l: INSERT INTO child VALUES (1); -step s3b: BEGIN; -step s3u2: UPDATE parent SET i = i; -step s3svu: SAVEPOINT f; UPDATE parent SET c = 'bbb'; ROLLBACK TO f; -step s3d: DELETE FROM parent; -step s1c: COMMIT; -step s3d: <... completed> -ERROR: update or delete on table "parent" violates foreign key constraint "child_i_fkey" on table "child" -step s3c: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/tuplelock-conflict.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/tuplelock-conflict.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/tuplelock-conflict.out 2024-03-29 10:06:51.887270884 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/tuplelock-conflict.out 2024-03-29 10:13:19.959275233 +0000 @@ -1,629 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1_begin s1_lcksvpt s1_tuplock1 s2_tuplock1 s1_commit -step s1_begin: BEGIN; -step s1_lcksvpt: SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT foo; -a -- -1 -(1 row) - -step s1_tuplock1: SELECT * FROM multixact_conflict FOR KEY SHARE; -a -- -1 -(1 row) - -step s2_tuplock1: SELECT * FROM multixact_conflict FOR KEY SHARE; -a -- -1 -(1 row) - -step s1_commit: COMMIT; - -starting permutation: s1_begin s1_lcksvpt s1_tuplock1 s2_tuplock2 s1_commit -step s1_begin: BEGIN; -step s1_lcksvpt: SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT foo; -a -- -1 -(1 row) - -step s1_tuplock1: SELECT * FROM multixact_conflict FOR KEY SHARE; -a -- -1 -(1 row) - -step s2_tuplock2: SELECT * FROM multixact_conflict FOR SHARE; -a -- -1 -(1 row) - -step s1_commit: COMMIT; - -starting permutation: s1_begin s1_lcksvpt s1_tuplock1 s2_tuplock3 s1_commit -step s1_begin: BEGIN; -step s1_lcksvpt: SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT foo; -a -- -1 -(1 row) - -step s1_tuplock1: SELECT * FROM multixact_conflict FOR KEY SHARE; -a -- -1 -(1 row) - -step s2_tuplock3: SELECT * FROM multixact_conflict FOR NO KEY UPDATE; -a -- -1 -(1 row) - -step s1_commit: COMMIT; - -starting permutation: s1_begin s1_lcksvpt s1_tuplock1 s2_tuplock4 s1_commit -step s1_begin: BEGIN; -step s1_lcksvpt: SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT foo; -a -- -1 -(1 row) - -step s1_tuplock1: SELECT * FROM multixact_conflict FOR KEY SHARE; -a -- -1 -(1 row) - -step s2_tuplock4: SELECT * FROM multixact_conflict FOR UPDATE; -step s1_commit: COMMIT; -step s2_tuplock4: <... completed> -a -- -1 -(1 row) - - -starting permutation: s1_begin s1_lcksvpt s1_tuplock2 s2_tuplock1 s1_commit -step s1_begin: BEGIN; -step s1_lcksvpt: SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT foo; -a -- -1 -(1 row) - -step s1_tuplock2: SELECT * FROM multixact_conflict FOR SHARE; -a -- -1 -(1 row) - -step s2_tuplock1: SELECT * FROM multixact_conflict FOR KEY SHARE; -a -- -1 -(1 row) - -step s1_commit: COMMIT; - -starting permutation: s1_begin s1_lcksvpt s1_tuplock2 s2_tuplock2 s1_commit -step s1_begin: BEGIN; -step s1_lcksvpt: SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT foo; -a -- -1 -(1 row) - -step s1_tuplock2: SELECT * FROM multixact_conflict FOR SHARE; -a -- -1 -(1 row) - -step s2_tuplock2: SELECT * FROM multixact_conflict FOR SHARE; -a -- -1 -(1 row) - -step s1_commit: COMMIT; - -starting permutation: s1_begin s1_lcksvpt s1_tuplock2 s2_tuplock3 s1_commit -step s1_begin: BEGIN; -step s1_lcksvpt: SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT foo; -a -- -1 -(1 row) - -step s1_tuplock2: SELECT * FROM multixact_conflict FOR SHARE; -a -- -1 -(1 row) - -step s2_tuplock3: SELECT * FROM multixact_conflict FOR NO KEY UPDATE; -step s1_commit: COMMIT; -step s2_tuplock3: <... completed> -a -- -1 -(1 row) - - -starting permutation: s1_begin s1_lcksvpt s1_tuplock2 s2_tuplock4 s1_commit -step s1_begin: BEGIN; -step s1_lcksvpt: SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT foo; -a -- -1 -(1 row) - -step s1_tuplock2: SELECT * FROM multixact_conflict FOR SHARE; -a -- -1 -(1 row) - -step s2_tuplock4: SELECT * FROM multixact_conflict FOR UPDATE; -step s1_commit: COMMIT; -step s2_tuplock4: <... completed> -a -- -1 -(1 row) - - -starting permutation: s1_begin s1_lcksvpt s1_tuplock3 s2_tuplock1 s1_commit -step s1_begin: BEGIN; -step s1_lcksvpt: SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT foo; -a -- -1 -(1 row) - -step s1_tuplock3: SELECT * FROM multixact_conflict FOR NO KEY UPDATE; -a -- -1 -(1 row) - -step s2_tuplock1: SELECT * FROM multixact_conflict FOR KEY SHARE; -a -- -1 -(1 row) - -step s1_commit: COMMIT; - -starting permutation: s1_begin s1_lcksvpt s1_tuplock3 s2_tuplock2 s1_commit -step s1_begin: BEGIN; -step s1_lcksvpt: SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT foo; -a -- -1 -(1 row) - -step s1_tuplock3: SELECT * FROM multixact_conflict FOR NO KEY UPDATE; -a -- -1 -(1 row) - -step s2_tuplock2: SELECT * FROM multixact_conflict FOR SHARE; -step s1_commit: COMMIT; -step s2_tuplock2: <... completed> -a -- -1 -(1 row) - - -starting permutation: s1_begin s1_lcksvpt s1_tuplock3 s2_tuplock3 s1_commit -step s1_begin: BEGIN; -step s1_lcksvpt: SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT foo; -a -- -1 -(1 row) - -step s1_tuplock3: SELECT * FROM multixact_conflict FOR NO KEY UPDATE; -a -- -1 -(1 row) - -step s2_tuplock3: SELECT * FROM multixact_conflict FOR NO KEY UPDATE; -step s1_commit: COMMIT; -step s2_tuplock3: <... completed> -a -- -1 -(1 row) - - -starting permutation: s1_begin s1_lcksvpt s1_tuplock3 s2_tuplock4 s1_commit -step s1_begin: BEGIN; -step s1_lcksvpt: SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT foo; -a -- -1 -(1 row) - -step s1_tuplock3: SELECT * FROM multixact_conflict FOR NO KEY UPDATE; -a -- -1 -(1 row) - -step s2_tuplock4: SELECT * FROM multixact_conflict FOR UPDATE; -step s1_commit: COMMIT; -step s2_tuplock4: <... completed> -a -- -1 -(1 row) - - -starting permutation: s1_begin s1_lcksvpt s1_tuplock4 s2_tuplock1 s1_commit -step s1_begin: BEGIN; -step s1_lcksvpt: SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT foo; -a -- -1 -(1 row) - -step s1_tuplock4: SELECT * FROM multixact_conflict FOR UPDATE; -a -- -1 -(1 row) - -step s2_tuplock1: SELECT * FROM multixact_conflict FOR KEY SHARE; -step s1_commit: COMMIT; -step s2_tuplock1: <... completed> -a -- -1 -(1 row) - - -starting permutation: s1_begin s1_lcksvpt s1_tuplock4 s2_tuplock2 s1_commit -step s1_begin: BEGIN; -step s1_lcksvpt: SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT foo; -a -- -1 -(1 row) - -step s1_tuplock4: SELECT * FROM multixact_conflict FOR UPDATE; -a -- -1 -(1 row) - -step s2_tuplock2: SELECT * FROM multixact_conflict FOR SHARE; -step s1_commit: COMMIT; -step s2_tuplock2: <... completed> -a -- -1 -(1 row) - - -starting permutation: s1_begin s1_lcksvpt s1_tuplock4 s2_tuplock3 s1_commit -step s1_begin: BEGIN; -step s1_lcksvpt: SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT foo; -a -- -1 -(1 row) - -step s1_tuplock4: SELECT * FROM multixact_conflict FOR UPDATE; -a -- -1 -(1 row) - -step s2_tuplock3: SELECT * FROM multixact_conflict FOR NO KEY UPDATE; -step s1_commit: COMMIT; -step s2_tuplock3: <... completed> -a -- -1 -(1 row) - - -starting permutation: s1_begin s1_lcksvpt s1_tuplock4 s2_tuplock4 s1_commit -step s1_begin: BEGIN; -step s1_lcksvpt: SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT foo; -a -- -1 -(1 row) - -step s1_tuplock4: SELECT * FROM multixact_conflict FOR UPDATE; -a -- -1 -(1 row) - -step s2_tuplock4: SELECT * FROM multixact_conflict FOR UPDATE; -step s1_commit: COMMIT; -step s2_tuplock4: <... completed> -a -- -1 -(1 row) - - -starting permutation: s1_begin s1_tuplock1 s2_tuplock1 s1_commit -step s1_begin: BEGIN; -step s1_tuplock1: SELECT * FROM multixact_conflict FOR KEY SHARE; -a -- -1 -(1 row) - -step s2_tuplock1: SELECT * FROM multixact_conflict FOR KEY SHARE; -a -- -1 -(1 row) - -step s1_commit: COMMIT; - -starting permutation: s1_begin s1_tuplock1 s2_tuplock2 s1_commit -step s1_begin: BEGIN; -step s1_tuplock1: SELECT * FROM multixact_conflict FOR KEY SHARE; -a -- -1 -(1 row) - -step s2_tuplock2: SELECT * FROM multixact_conflict FOR SHARE; -a -- -1 -(1 row) - -step s1_commit: COMMIT; - -starting permutation: s1_begin s1_tuplock1 s2_tuplock3 s1_commit -step s1_begin: BEGIN; -step s1_tuplock1: SELECT * FROM multixact_conflict FOR KEY SHARE; -a -- -1 -(1 row) - -step s2_tuplock3: SELECT * FROM multixact_conflict FOR NO KEY UPDATE; -a -- -1 -(1 row) - -step s1_commit: COMMIT; - -starting permutation: s1_begin s1_tuplock1 s2_tuplock4 s1_commit -step s1_begin: BEGIN; -step s1_tuplock1: SELECT * FROM multixact_conflict FOR KEY SHARE; -a -- -1 -(1 row) - -step s2_tuplock4: SELECT * FROM multixact_conflict FOR UPDATE; -step s1_commit: COMMIT; -step s2_tuplock4: <... completed> -a -- -1 -(1 row) - - -starting permutation: s1_begin s1_tuplock2 s2_tuplock1 s1_commit -step s1_begin: BEGIN; -step s1_tuplock2: SELECT * FROM multixact_conflict FOR SHARE; -a -- -1 -(1 row) - -step s2_tuplock1: SELECT * FROM multixact_conflict FOR KEY SHARE; -a -- -1 -(1 row) - -step s1_commit: COMMIT; - -starting permutation: s1_begin s1_tuplock2 s2_tuplock2 s1_commit -step s1_begin: BEGIN; -step s1_tuplock2: SELECT * FROM multixact_conflict FOR SHARE; -a -- -1 -(1 row) - -step s2_tuplock2: SELECT * FROM multixact_conflict FOR SHARE; -a -- -1 -(1 row) - -step s1_commit: COMMIT; - -starting permutation: s1_begin s1_tuplock2 s2_tuplock3 s1_commit -step s1_begin: BEGIN; -step s1_tuplock2: SELECT * FROM multixact_conflict FOR SHARE; -a -- -1 -(1 row) - -step s2_tuplock3: SELECT * FROM multixact_conflict FOR NO KEY UPDATE; -step s1_commit: COMMIT; -step s2_tuplock3: <... completed> -a -- -1 -(1 row) - - -starting permutation: s1_begin s1_tuplock2 s2_tuplock4 s1_commit -step s1_begin: BEGIN; -step s1_tuplock2: SELECT * FROM multixact_conflict FOR SHARE; -a -- -1 -(1 row) - -step s2_tuplock4: SELECT * FROM multixact_conflict FOR UPDATE; -step s1_commit: COMMIT; -step s2_tuplock4: <... completed> -a -- -1 -(1 row) - - -starting permutation: s1_begin s1_tuplock3 s2_tuplock1 s1_commit -step s1_begin: BEGIN; -step s1_tuplock3: SELECT * FROM multixact_conflict FOR NO KEY UPDATE; -a -- -1 -(1 row) - -step s2_tuplock1: SELECT * FROM multixact_conflict FOR KEY SHARE; -a -- -1 -(1 row) - -step s1_commit: COMMIT; - -starting permutation: s1_begin s1_tuplock3 s2_tuplock2 s1_commit -step s1_begin: BEGIN; -step s1_tuplock3: SELECT * FROM multixact_conflict FOR NO KEY UPDATE; -a -- -1 -(1 row) - -step s2_tuplock2: SELECT * FROM multixact_conflict FOR SHARE; -step s1_commit: COMMIT; -step s2_tuplock2: <... completed> -a -- -1 -(1 row) - - -starting permutation: s1_begin s1_tuplock3 s2_tuplock3 s1_commit -step s1_begin: BEGIN; -step s1_tuplock3: SELECT * FROM multixact_conflict FOR NO KEY UPDATE; -a -- -1 -(1 row) - -step s2_tuplock3: SELECT * FROM multixact_conflict FOR NO KEY UPDATE; -step s1_commit: COMMIT; -step s2_tuplock3: <... completed> -a -- -1 -(1 row) - - -starting permutation: s1_begin s1_tuplock3 s2_tuplock4 s1_commit -step s1_begin: BEGIN; -step s1_tuplock3: SELECT * FROM multixact_conflict FOR NO KEY UPDATE; -a -- -1 -(1 row) - -step s2_tuplock4: SELECT * FROM multixact_conflict FOR UPDATE; -step s1_commit: COMMIT; -step s2_tuplock4: <... completed> -a -- -1 -(1 row) - - -starting permutation: s1_begin s1_tuplock4 s2_tuplock1 s1_commit -step s1_begin: BEGIN; -step s1_tuplock4: SELECT * FROM multixact_conflict FOR UPDATE; -a -- -1 -(1 row) - -step s2_tuplock1: SELECT * FROM multixact_conflict FOR KEY SHARE; -step s1_commit: COMMIT; -step s2_tuplock1: <... completed> -a -- -1 -(1 row) - - -starting permutation: s1_begin s1_tuplock4 s2_tuplock2 s1_commit -step s1_begin: BEGIN; -step s1_tuplock4: SELECT * FROM multixact_conflict FOR UPDATE; -a -- -1 -(1 row) - -step s2_tuplock2: SELECT * FROM multixact_conflict FOR SHARE; -step s1_commit: COMMIT; -step s2_tuplock2: <... completed> -a -- -1 -(1 row) - - -starting permutation: s1_begin s1_tuplock4 s2_tuplock3 s1_commit -step s1_begin: BEGIN; -step s1_tuplock4: SELECT * FROM multixact_conflict FOR UPDATE; -a -- -1 -(1 row) - -step s2_tuplock3: SELECT * FROM multixact_conflict FOR NO KEY UPDATE; -step s1_commit: COMMIT; -step s2_tuplock3: <... completed> -a -- -1 -(1 row) - - -starting permutation: s1_begin s1_tuplock4 s2_tuplock4 s1_commit -step s1_begin: BEGIN; -step s1_tuplock4: SELECT * FROM multixact_conflict FOR UPDATE; -a -- -1 -(1 row) - -step s2_tuplock4: SELECT * FROM multixact_conflict FOR UPDATE; -step s1_commit: COMMIT; -step s2_tuplock4: <... completed> -a -- -1 -(1 row) - +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/tuplelock-update.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/tuplelock-update.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/tuplelock-update.out 2024-03-29 10:06:51.887270884 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/tuplelock-update.out 2024-03-29 10:13:19.967275232 +0000 @@ -1,49 +1,3 @@ Parsed test spec with 4 sessions - -starting permutation: s1_advlock s2_update s3_update s4_update s1_chain s1_begin s1_grablock s1_advunlock1 s1_advunlock2 s1_advunlock3 s1_commit -step s1_advlock: - SELECT pg_advisory_lock(142857), - pg_advisory_lock(285714), - pg_advisory_lock(571428); - -pg_advisory_lock|pg_advisory_lock|pg_advisory_lock -----------------+----------------+---------------- - | | -(1 row) - -step s2_update: UPDATE pktab SET data = DEFAULT WHERE pg_advisory_lock_shared(142857) IS NOT NULL; -step s3_update: UPDATE pktab SET data = DEFAULT WHERE pg_advisory_lock_shared(285714) IS NOT NULL; -step s4_update: UPDATE pktab SET data = DEFAULT WHERE pg_advisory_lock_shared(571428) IS NOT NULL; -step s1_chain: UPDATE pktab SET data = DEFAULT; -step s1_begin: BEGIN; -step s1_grablock: SELECT * FROM pktab FOR KEY SHARE; -id|data ---+---- - 1| 2 -(1 row) - -step s1_advunlock1: SELECT pg_advisory_unlock(142857); -step s2_update: <... completed> -step s1_advunlock1: <... completed> -pg_advisory_unlock ------------------- -t -(1 row) - -step s1_advunlock2: SELECT pg_advisory_unlock(285714); -step s3_update: <... completed> -step s1_advunlock2: <... completed> -pg_advisory_unlock ------------------- -t -(1 row) - -step s1_advunlock3: SELECT pg_advisory_unlock(571428); -step s4_update: <... completed> -step s1_advunlock3: <... completed> -pg_advisory_unlock ------------------- -t -(1 row) - -step s1_commit: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/tuplelock-upgrade-no-deadlock.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/tuplelock-upgrade-no-deadlock.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/tuplelock-upgrade-no-deadlock.out 2024-03-29 10:06:51.887270884 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/tuplelock-upgrade-no-deadlock.out 2024-03-29 10:13:19.975275230 +0000 @@ -1,253 +1,3 @@ Parsed test spec with 4 sessions - -starting permutation: s1_share s2_for_update s3_share s3_for_update s1_rollback s3_rollback s2_rollback -step s1_share: select id from tlu_job where id = 1 for share; -id --- - 1 -(1 row) - -step s2_for_update: select id from tlu_job where id = 1 for update; -step s3_share: select id from tlu_job where id = 1 for share; -id --- - 1 -(1 row) - -step s3_for_update: select id from tlu_job where id = 1 for update; -step s1_rollback: rollback; -step s3_for_update: <... completed> -id --- - 1 -(1 row) - -step s3_rollback: rollback; -step s2_for_update: <... completed> -id --- - 1 -(1 row) - -step s2_rollback: rollback; - -starting permutation: s1_keyshare s2_for_update s3_keyshare s1_update s3_update s1_rollback s3_rollback s2_rollback -step s1_keyshare: select id from tlu_job where id = 1 for key share; -id --- - 1 -(1 row) - -step s2_for_update: select id from tlu_job where id = 1 for update; -step s3_keyshare: select id from tlu_job where id = 1 for key share; -id --- - 1 -(1 row) - -step s1_update: update tlu_job set name = 'b' where id = 1; -step s3_update: update tlu_job set name = 'c' where id = 1; -step s1_rollback: rollback; -step s3_update: <... completed> -step s3_rollback: rollback; -step s2_for_update: <... completed> -id --- - 1 -(1 row) - -step s2_rollback: rollback; - -starting permutation: s1_keyshare s2_for_update s3_keyshare s1_update s3_update s1_commit s3_rollback s2_rollback -step s1_keyshare: select id from tlu_job where id = 1 for key share; -id --- - 1 -(1 row) - -step s2_for_update: select id from tlu_job where id = 1 for update; -step s3_keyshare: select id from tlu_job where id = 1 for key share; -id --- - 1 -(1 row) - -step s1_update: update tlu_job set name = 'b' where id = 1; -step s3_update: update tlu_job set name = 'c' where id = 1; -step s1_commit: commit; -step s3_update: <... completed> -step s3_rollback: rollback; -step s2_for_update: <... completed> -id --- - 1 -(1 row) - -step s2_rollback: rollback; - -starting permutation: s1_keyshare s2_for_update s3_keyshare s3_delete s1_rollback s3_rollback s2_rollback -step s1_keyshare: select id from tlu_job where id = 1 for key share; -id --- - 1 -(1 row) - -step s2_for_update: select id from tlu_job where id = 1 for update; -step s3_keyshare: select id from tlu_job where id = 1 for key share; -id --- - 1 -(1 row) - -step s3_delete: delete from tlu_job where id = 1; -step s1_rollback: rollback; -step s3_delete: <... completed> -step s3_rollback: rollback; -step s2_for_update: <... completed> -id --- - 1 -(1 row) - -step s2_rollback: rollback; - -starting permutation: s1_keyshare s2_for_update s3_keyshare s3_delete s1_rollback s3_commit s2_rollback -step s1_keyshare: select id from tlu_job where id = 1 for key share; -id --- - 1 -(1 row) - -step s2_for_update: select id from tlu_job where id = 1 for update; -step s3_keyshare: select id from tlu_job where id = 1 for key share; -id --- - 1 -(1 row) - -step s3_delete: delete from tlu_job where id = 1; -step s1_rollback: rollback; -step s3_delete: <... completed> -step s3_commit: commit; -step s2_for_update: <... completed> -id --- -(0 rows) - -step s2_rollback: rollback; - -starting permutation: s1_share s2_for_update s3_for_update s1_rollback s2_rollback s3_rollback -step s1_share: select id from tlu_job where id = 1 for share; -id --- - 1 -(1 row) - -step s2_for_update: select id from tlu_job where id = 1 for update; -step s3_for_update: select id from tlu_job where id = 1 for update; -step s1_rollback: rollback; -step s2_for_update: <... completed> -id --- - 1 -(1 row) - -step s2_rollback: rollback; -step s3_for_update: <... completed> -id --- - 1 -(1 row) - -step s3_rollback: rollback; - -starting permutation: s1_share s2_update s3_update s1_rollback s2_rollback s3_rollback -step s1_share: select id from tlu_job where id = 1 for share; -id --- - 1 -(1 row) - -step s2_update: update tlu_job set name = 'b' where id = 1; -step s3_update: update tlu_job set name = 'c' where id = 1; -step s1_rollback: rollback; -step s2_update: <... completed> -step s2_rollback: rollback; -step s3_update: <... completed> -step s3_rollback: rollback; - -starting permutation: s1_share s2_delete s3_delete s1_rollback s2_rollback s3_rollback -step s1_share: select id from tlu_job where id = 1 for share; -id --- - 1 -(1 row) - -step s2_delete: delete from tlu_job where id = 1; -step s3_delete: delete from tlu_job where id = 1; -step s1_rollback: rollback; -step s2_delete: <... completed> -step s2_rollback: rollback; -step s3_delete: <... completed> -step s3_rollback: rollback; - -starting permutation: s1_keyshare s3_for_update s2_for_keyshare s1_savept_e s1_share s1_savept_f s1_fornokeyupd s2_fornokeyupd s0_begin s0_keyshare s1_rollback_f s0_keyshare s1_rollback_e s1_rollback s2_rollback s0_rollback s3_rollback -step s1_keyshare: select id from tlu_job where id = 1 for key share; -id --- - 1 -(1 row) - -step s3_for_update: select id from tlu_job where id = 1 for update; -step s2_for_keyshare: select id from tlu_job where id = 1 for key share; -id --- - 1 -(1 row) - -step s1_savept_e: savepoint s1_e; -step s1_share: select id from tlu_job where id = 1 for share; -id --- - 1 -(1 row) - -step s1_savept_f: savepoint s1_f; -step s1_fornokeyupd: select id from tlu_job where id = 1 for no key update; -id --- - 1 -(1 row) - -step s2_fornokeyupd: select id from tlu_job where id = 1 for no key update; -step s0_begin: begin; -step s0_keyshare: select id from tlu_job where id = 1 for key share; -id --- - 1 -(1 row) - -step s1_rollback_f: rollback to s1_f; -step s0_keyshare: select id from tlu_job where id = 1 for key share; -id --- - 1 -(1 row) - -step s1_rollback_e: rollback to s1_e; -step s2_fornokeyupd: <... completed> -id --- - 1 -(1 row) - -step s1_rollback: rollback; -step s2_rollback: rollback; -step s0_rollback: rollback; -step s3_for_update: <... completed> -id --- - 1 -(1 row) - -step s3_rollback: rollback; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/tuplelock-partition.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/tuplelock-partition.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/tuplelock-partition.out 2024-03-29 10:06:51.887270884 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/tuplelock-partition.out 2024-03-29 10:13:19.987275228 +0000 @@ -1,24 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1b s1update_nokey s2locktuple s1c -step s1b: BEGIN; -step s1update_nokey: INSERT INTO parttab (key, col1, col2) VALUES (1, 'a', 'b') ON CONFLICT (key) DO UPDATE SET col1 = 'x', col2 = 'y'; -step s2locktuple: SELECT * FROM parttab FOR KEY SHARE; -col1|key|col2 -----+---+---- -a | 1|b -(1 row) - -step s1c: COMMIT; - -starting permutation: s1b s1update_key s2locktuple s1c -step s1b: BEGIN; -step s1update_key: INSERT INTO parttab (key, col1, col2) VALUES (1, 'a', 'b') ON CONFLICT (key) DO UPDATE SET key=1; -step s2locktuple: SELECT * FROM parttab FOR KEY SHARE; -step s1c: COMMIT; -step s2locktuple: <... completed> -col1|key|col2 -----+---+---- -a | 1|b -(1 row) - +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/freeze-the-dead.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/freeze-the-dead.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/freeze-the-dead.out 2024-03-29 10:06:51.875270895 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/freeze-the-dead.out 2024-03-29 10:13:19.999275226 +0000 @@ -1,44 +1,3 @@ Parsed test spec with 3 sessions - -starting permutation: s1_begin s2_begin s3_begin s1_update s2_key_share s3_key_share s1_update s1_commit s2_commit s2_vacuum s1_selectone s3_commit s2_vacuum s1_selectall -step s1_begin: BEGIN; -step s2_begin: BEGIN; -step s3_begin: BEGIN; -step s1_update: UPDATE tab_freeze SET x = x + 1 WHERE id = 3; -step s2_key_share: SELECT id FROM tab_freeze WHERE id = 3 FOR KEY SHARE; -id --- - 3 -(1 row) - -step s3_key_share: SELECT id FROM tab_freeze WHERE id = 3 FOR KEY SHARE; -id --- - 3 -(1 row) - -step s1_update: UPDATE tab_freeze SET x = x + 1 WHERE id = 3; -step s1_commit: COMMIT; -step s2_commit: COMMIT; -step s2_vacuum: VACUUM FREEZE tab_freeze; -step s1_selectone: - BEGIN; - SET LOCAL enable_seqscan = false; - SET LOCAL enable_bitmapscan = false; - SELECT * FROM tab_freeze WHERE id = 3; - COMMIT; - -id|name|x ---+----+- - 3| 333|2 -(1 row) - -step s3_commit: COMMIT; -step s2_vacuum: VACUUM FREEZE tab_freeze; -step s1_selectall: SELECT * FROM tab_freeze ORDER BY name, id; -id|name|x ---+----+- - 1| 111|0 - 3| 333|2 -(2 rows) - +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/nowait.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/nowait.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/nowait.out 2024-03-29 10:06:51.879270891 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/nowait.out 2024-03-29 10:13:20.019275222 +0000 @@ -1,81 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1a s1b s2a s2b -step s1a: SELECT * FROM foo FOR UPDATE NOWAIT; -id|data ---+---- - 1|x -(1 row) - -step s1b: COMMIT; -step s2a: SELECT * FROM foo FOR UPDATE NOWAIT; -id|data ---+---- - 1|x -(1 row) - -step s2b: COMMIT; - -starting permutation: s1a s2a s1b s2b -step s1a: SELECT * FROM foo FOR UPDATE NOWAIT; -id|data ---+---- - 1|x -(1 row) - -step s2a: SELECT * FROM foo FOR UPDATE NOWAIT; -ERROR: could not obtain lock on row in relation "foo" -step s1b: COMMIT; -step s2b: COMMIT; - -starting permutation: s1a s2a s2b s1b -step s1a: SELECT * FROM foo FOR UPDATE NOWAIT; -id|data ---+---- - 1|x -(1 row) - -step s2a: SELECT * FROM foo FOR UPDATE NOWAIT; -ERROR: could not obtain lock on row in relation "foo" -step s2b: COMMIT; -step s1b: COMMIT; - -starting permutation: s2a s1a s1b s2b -step s2a: SELECT * FROM foo FOR UPDATE NOWAIT; -id|data ---+---- - 1|x -(1 row) - -step s1a: SELECT * FROM foo FOR UPDATE NOWAIT; -ERROR: could not obtain lock on row in relation "foo" -step s1b: COMMIT; -step s2b: COMMIT; - -starting permutation: s2a s1a s2b s1b -step s2a: SELECT * FROM foo FOR UPDATE NOWAIT; -id|data ---+---- - 1|x -(1 row) - -step s1a: SELECT * FROM foo FOR UPDATE NOWAIT; -ERROR: could not obtain lock on row in relation "foo" -step s2b: COMMIT; -step s1b: COMMIT; - -starting permutation: s2a s2b s1a s1b -step s2a: SELECT * FROM foo FOR UPDATE NOWAIT; -id|data ---+---- - 1|x -(1 row) - -step s2b: COMMIT; -step s1a: SELECT * FROM foo FOR UPDATE NOWAIT; -id|data ---+---- - 1|x -(1 row) - -step s1b: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/nowait-2.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/nowait-2.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/nowait-2.out 2024-03-29 10:06:51.879270891 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/nowait-2.out 2024-03-29 10:13:20.047275216 +0000 @@ -1,55 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1a s2a s2b s1b s2c -step s1a: SELECT * FROM foo FOR SHARE NOWAIT; -id|data ---+---- - 1|x -(1 row) - -step s2a: SELECT * FROM foo FOR SHARE NOWAIT; -id|data ---+---- - 1|x -(1 row) - -step s2b: SELECT * FROM foo FOR UPDATE NOWAIT; -ERROR: could not obtain lock on row in relation "foo" -step s1b: COMMIT; -step s2c: COMMIT; - -starting permutation: s2a s1a s2b s1b s2c -step s2a: SELECT * FROM foo FOR SHARE NOWAIT; -id|data ---+---- - 1|x -(1 row) - -step s1a: SELECT * FROM foo FOR SHARE NOWAIT; -id|data ---+---- - 1|x -(1 row) - -step s2b: SELECT * FROM foo FOR UPDATE NOWAIT; -ERROR: could not obtain lock on row in relation "foo" -step s1b: COMMIT; -step s2c: COMMIT; - -starting permutation: s2a s2b s1a s1b s2c -step s2a: SELECT * FROM foo FOR SHARE NOWAIT; -id|data ---+---- - 1|x -(1 row) - -step s2b: SELECT * FROM foo FOR UPDATE NOWAIT; -id|data ---+---- - 1|x -(1 row) - -step s1a: SELECT * FROM foo FOR SHARE NOWAIT; -ERROR: could not obtain lock on row in relation "foo" -step s1b: COMMIT; -step s2c: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/nowait-3.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/nowait-3.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/nowait-3.out 2024-03-29 10:06:51.879270891 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/nowait-3.out 2024-03-29 10:13:20.055275215 +0000 @@ -1,21 +1,3 @@ Parsed test spec with 3 sessions - -starting permutation: s1a s2a s3a s1b s2b s3b -step s1a: SELECT * FROM foo FOR UPDATE; -id|data ---+---- - 1|x -(1 row) - -step s2a: SELECT * FROM foo FOR UPDATE; -step s3a: SELECT * FROM foo FOR UPDATE NOWAIT; -ERROR: could not obtain lock on row in relation "foo" -step s1b: COMMIT; -step s2a: <... completed> -id|data ---+---- - 1|x -(1 row) - -step s2b: COMMIT; -step s3b: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/nowait-4.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/nowait-4.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/nowait-4.out 2024-03-29 10:06:51.879270891 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/nowait-4.out 2024-03-29 10:13:20.063275213 +0000 @@ -1,23 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s2a s1a s2b s2c s2d s2e s1b s2f -step s2a: SELECT pg_advisory_lock(0); -pg_advisory_lock ----------------- - -(1 row) - -step s1a: SELECT * FROM foo WHERE pg_advisory_lock(0) IS NOT NULL FOR UPDATE NOWAIT; -step s2b: UPDATE foo SET data = data; -step s2c: BEGIN; -step s2d: UPDATE foo SET data = data; -step s2e: SELECT pg_advisory_unlock(0); -pg_advisory_unlock ------------------- -t -(1 row) - -step s1a: <... completed> -ERROR: could not obtain lock on row in relation "foo" -step s1b: COMMIT; -step s2f: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/nowait-5.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/nowait-5.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/nowait-5.out 2024-03-29 10:06:51.879270891 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/nowait-5.out 2024-03-29 10:13:20.071275212 +0000 @@ -1,43 +1,3 @@ Parsed test spec with 3 sessions - -starting permutation: sl1_prep upd_getlock sl1_exec upd_doupdate lk1_doforshare upd_releaselock -step sl1_prep: - PREPARE sl1_run AS SELECT id FROM test_nowait WHERE pg_advisory_lock(0) is not null FOR UPDATE NOWAIT; - -step upd_getlock: - SELECT pg_advisory_lock(0); - -pg_advisory_lock ----------------- - -(1 row) - -step sl1_exec: - BEGIN ISOLATION LEVEL READ COMMITTED; - EXECUTE sl1_run; - SELECT xmin, xmax, ctid, * FROM test_nowait; - -step upd_doupdate: - BEGIN ISOLATION LEVEL READ COMMITTED; - UPDATE test_nowait SET value = value WHERE id % 2 = 0; - COMMIT; - -step lk1_doforshare: - BEGIN ISOLATION LEVEL READ COMMITTED; - SELECT id FROM test_nowait WHERE id % 2 = 0 FOR SHARE; - -id --- - 2 -(1 row) - -step upd_releaselock: - SELECT pg_advisory_unlock(0); - -pg_advisory_unlock ------------------- -t -(1 row) - -step sl1_exec: <... completed> -ERROR: could not obtain lock on row in relation "test_nowait" +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/skip-locked.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/skip-locked.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/skip-locked.out 2024-03-29 10:06:51.887270884 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/skip-locked.out 2024-03-29 10:13:20.087275208 +0000 @@ -1,561 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1a s1b s1c s2a s2b s2c -step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s1c: COMMIT; -step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s2c: COMMIT; - -starting permutation: s1a s1b s2a s1c s2b s2c -step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 2|bar |NEW -(1 row) - -step s1c: COMMIT; -step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s2c: COMMIT; - -starting permutation: s1a s1b s2a s2b s1c s2c -step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 2|bar |NEW -(1 row) - -step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 2|bar |NEW -(1 row) - -step s1c: COMMIT; -step s2c: COMMIT; - -starting permutation: s1a s1b s2a s2b s2c s1c -step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 2|bar |NEW -(1 row) - -step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 2|bar |NEW -(1 row) - -step s2c: COMMIT; -step s1c: COMMIT; - -starting permutation: s1a s2a s1b s1c s2b s2c -step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 2|bar |NEW -(1 row) - -step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s1c: COMMIT; -step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s2c: COMMIT; - -starting permutation: s1a s2a s1b s2b s1c s2c -step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 2|bar |NEW -(1 row) - -step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 2|bar |NEW -(1 row) - -step s1c: COMMIT; -step s2c: COMMIT; - -starting permutation: s1a s2a s1b s2b s2c s1c -step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 2|bar |NEW -(1 row) - -step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 2|bar |NEW -(1 row) - -step s2c: COMMIT; -step s1c: COMMIT; - -starting permutation: s1a s2a s2b s1b s1c s2c -step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 2|bar |NEW -(1 row) - -step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 2|bar |NEW -(1 row) - -step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s1c: COMMIT; -step s2c: COMMIT; - -starting permutation: s1a s2a s2b s1b s2c s1c -step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 2|bar |NEW -(1 row) - -step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 2|bar |NEW -(1 row) - -step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s2c: COMMIT; -step s1c: COMMIT; - -starting permutation: s1a s2a s2b s2c s1b s1c -step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 2|bar |NEW -(1 row) - -step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 2|bar |NEW -(1 row) - -step s2c: COMMIT; -step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s1c: COMMIT; - -starting permutation: s2a s1a s1b s1c s2b s2c -step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 2|bar |NEW -(1 row) - -step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 2|bar |NEW -(1 row) - -step s1c: COMMIT; -step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s2c: COMMIT; - -starting permutation: s2a s1a s1b s2b s1c s2c -step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 2|bar |NEW -(1 row) - -step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 2|bar |NEW -(1 row) - -step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s1c: COMMIT; -step s2c: COMMIT; - -starting permutation: s2a s1a s1b s2b s2c s1c -step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 2|bar |NEW -(1 row) - -step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 2|bar |NEW -(1 row) - -step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s2c: COMMIT; -step s1c: COMMIT; - -starting permutation: s2a s1a s2b s1b s1c s2c -step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 2|bar |NEW -(1 row) - -step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 2|bar |NEW -(1 row) - -step s1c: COMMIT; -step s2c: COMMIT; - -starting permutation: s2a s1a s2b s1b s2c s1c -step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 2|bar |NEW -(1 row) - -step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 2|bar |NEW -(1 row) - -step s2c: COMMIT; -step s1c: COMMIT; - -starting permutation: s2a s1a s2b s2c s1b s1c -step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 2|bar |NEW -(1 row) - -step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s2c: COMMIT; -step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s1c: COMMIT; - -starting permutation: s2a s2b s1a s1b s1c s2c -step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 2|bar |NEW -(1 row) - -step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 2|bar |NEW -(1 row) - -step s1c: COMMIT; -step s2c: COMMIT; - -starting permutation: s2a s2b s1a s1b s2c s1c -step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 2|bar |NEW -(1 row) - -step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 2|bar |NEW -(1 row) - -step s2c: COMMIT; -step s1c: COMMIT; - -starting permutation: s2a s2b s1a s2c s1b s1c -step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 2|bar |NEW -(1 row) - -step s2c: COMMIT; -step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s1c: COMMIT; - -starting permutation: s2a s2b s2c s1a s1b s1c -step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s2c: COMMIT; -step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s1b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s1c: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/skip-locked-2.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/skip-locked-2.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/skip-locked-2.out 2024-03-29 10:06:51.887270884 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/skip-locked-2.out 2024-03-29 10:13:20.099275206 +0000 @@ -1,67 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1a s2a s2b s1b s2c -step s1a: SELECT * FROM queue ORDER BY id FOR SHARE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s2a: SELECT * FROM queue ORDER BY id FOR SHARE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 2|bar |NEW -(1 row) - -step s1b: COMMIT; -step s2c: COMMIT; - -starting permutation: s2a s1a s2b s1b s2c -step s2a: SELECT * FROM queue ORDER BY id FOR SHARE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s1a: SELECT * FROM queue ORDER BY id FOR SHARE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 2|bar |NEW -(1 row) - -step s1b: COMMIT; -step s2c: COMMIT; - -starting permutation: s2a s2b s1a s1b s2c -step s2a: SELECT * FROM queue ORDER BY id FOR SHARE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s2b: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s1a: SELECT * FROM queue ORDER BY id FOR SHARE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 2|bar |NEW -(1 row) - -step s1b: COMMIT; -step s2c: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/skip-locked-3.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/skip-locked-3.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/skip-locked-3.out 2024-03-29 10:06:51.887270884 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/skip-locked-3.out 2024-03-29 10:13:20.107275205 +0000 @@ -1,25 +1,3 @@ Parsed test spec with 3 sessions - -starting permutation: s1a s2a s3a s1b s2b s3b -step s1a: SELECT * FROM queue ORDER BY id FOR UPDATE LIMIT 1; -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s2a: SELECT * FROM queue ORDER BY id FOR UPDATE LIMIT 1; -step s3a: SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; -id|data|status ---+----+------ - 2|bar |NEW -(1 row) - -step s1b: COMMIT; -step s2a: <... completed> -id|data|status ---+----+------ - 1|foo |NEW -(1 row) - -step s2b: COMMIT; -step s3b: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/skip-locked-4_1.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/skip-locked-4.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/skip-locked-4_1.out 2024-03-29 10:06:51.887270884 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/skip-locked-4.out 2024-03-29 10:13:20.115275203 +0000 @@ -1,23 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s2a s1a s2b s2c s2d s2e s1b s2f -step s2a: SELECT pg_advisory_lock(0); -pg_advisory_lock ----------------- - -(1 row) - -step s1a: SELECT * FROM foo WHERE pg_advisory_lock(0) IS NOT NULL ORDER BY id LIMIT 1 FOR UPDATE SKIP LOCKED; -step s2b: UPDATE foo SET data = data WHERE id = 1; -step s2c: BEGIN; -step s2d: UPDATE foo SET data = data WHERE id = 1; -step s2e: SELECT pg_advisory_unlock(0); -pg_advisory_unlock ------------------- -t -(1 row) - -step s1a: <... completed> -ERROR: could not serialize access due to concurrent update -step s1b: COMMIT; -step s2f: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/drop-index-concurrently-1_2.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/drop-index-concurrently-1.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/drop-index-concurrently-1_2.out 2024-03-29 10:06:51.875270895 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/drop-index-concurrently-1.out 2024-03-29 10:13:20.127275201 +0000 @@ -1,55 +1,3 @@ Parsed test spec with 3 sessions - -starting permutation: chkiso prepi preps begin disableseq explaini enableseq explains select2 drop insert2 end2 selecti selects end -step chkiso: SELECT (setting in ('read committed','read uncommitted')) AS is_read_committed FROM pg_settings WHERE name = 'default_transaction_isolation'; -is_read_committed ------------------ -f -(1 row) - -step prepi: PREPARE getrow_idxscan AS SELECT * FROM test_dc WHERE data = 34 ORDER BY id,data; -step preps: PREPARE getrow_seqscan AS SELECT * FROM test_dc WHERE data = 34 ORDER BY id,data; -step begin: BEGIN; -step disableseq: SET enable_seqscan = false; -step explaini: EXPLAIN (COSTS OFF) EXECUTE getrow_idxscan; -QUERY PLAN ----------------------------------------------- -Sort - Sort Key: id - -> Index Scan using test_dc_data on test_dc - Index Cond: (data = 34) -(4 rows) - -step enableseq: SET enable_seqscan = true; -step explains: EXPLAIN (COSTS OFF) EXECUTE getrow_seqscan; -QUERY PLAN ---------------------------- -Sort - Sort Key: id - -> Seq Scan on test_dc - Filter: (data = 34) -(4 rows) - -step select2: SELECT * FROM test_dc WHERE data = 34 ORDER BY id,data; -id|data ---+---- -34| 34 -(1 row) - -step drop: DROP INDEX CONCURRENTLY test_dc_data; -step insert2: INSERT INTO test_dc(data) SELECT * FROM generate_series(1, 100); -step end2: COMMIT; -step selecti: EXECUTE getrow_idxscan; -id|data ---+---- -34| 34 -(1 row) - -step selects: EXECUTE getrow_seqscan; -id|data ---+---- -34| 34 -(1 row) - -step end: COMMIT; -step drop: <... completed> +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/multiple-cic.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/multiple-cic.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/multiple-cic.out 2024-03-29 10:06:51.879270891 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/multiple-cic.out 2024-03-29 10:13:20.139275199 +0000 @@ -1,24 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s2l s1i s2i -step s2l: SELECT pg_advisory_lock(281457); -pg_advisory_lock ----------------- - -(1 row) - -step s1i: - CREATE INDEX CONCURRENTLY mcic_one_pkey ON mcic_one (id) - WHERE lck_shr(281457); - -step s2i: - CREATE INDEX CONCURRENTLY mcic_two_pkey ON mcic_two (id) - WHERE unlck(); - -step s1i: <... completed> -step s2i: <... completed> -unlck ------ -t -(1 row) - +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/alter-table-1.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/alter-table-1.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/alter-table-1.out 2024-03-29 10:06:51.871270899 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/alter-table-1.out 2024-03-29 10:13:20.147275197 +0000 @@ -1,3326 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1 at1 sc1 s2 at2 sc2 rx1 wx rx3 c2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; - -starting permutation: s1 at1 sc1 s2 at2 rx1 sc2 wx rx3 c2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step sc2: COMMIT; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; - -starting permutation: s1 at1 sc1 s2 at2 rx1 wx sc2 rx3 c2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step sc2: COMMIT; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; - -starting permutation: s1 at1 sc1 s2 at2 rx1 wx rx3 sc2 c2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step sc2: COMMIT; -step c2: COMMIT; - -starting permutation: s1 at1 sc1 s2 at2 rx1 wx rx3 c2 sc2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step sc2: COMMIT; - -starting permutation: s1 at1 sc1 s2 rx1 at2 sc2 wx rx3 c2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; - -starting permutation: s1 at1 sc1 s2 rx1 at2 wx sc2 rx3 c2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step wx: INSERT INTO b VALUES (0); -step sc2: COMMIT; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; - -starting permutation: s1 at1 sc1 s2 rx1 at2 wx rx3 sc2 c2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step sc2: COMMIT; -step c2: COMMIT; - -starting permutation: s1 at1 sc1 s2 rx1 at2 wx rx3 c2 sc2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step sc2: COMMIT; - -starting permutation: s1 at1 sc1 s2 rx1 wx at2 sc2 rx3 c2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; - -starting permutation: s1 at1 sc1 s2 rx1 wx at2 rx3 sc2 c2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step sc2: COMMIT; -step c2: COMMIT; - -starting permutation: s1 at1 sc1 s2 rx1 wx at2 rx3 c2 sc2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step sc2: COMMIT; - -starting permutation: s1 at1 sc1 s2 rx1 wx rx3 at2 sc2 c2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; -step c2: COMMIT; - -starting permutation: s1 at1 sc1 s2 rx1 wx rx3 at2 c2 sc2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step c2: COMMIT; -step sc2: COMMIT; - -starting permutation: s1 at1 sc1 s2 rx1 wx rx3 c2 at2 sc2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; - -starting permutation: s1 at1 sc1 rx1 s2 at2 sc2 wx rx3 c2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; - -starting permutation: s1 at1 sc1 rx1 s2 at2 wx sc2 rx3 c2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step wx: INSERT INTO b VALUES (0); -step sc2: COMMIT; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; - -starting permutation: s1 at1 sc1 rx1 s2 at2 wx rx3 sc2 c2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step sc2: COMMIT; -step c2: COMMIT; - -starting permutation: s1 at1 sc1 rx1 s2 at2 wx rx3 c2 sc2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step sc2: COMMIT; - -starting permutation: s1 at1 sc1 rx1 s2 wx at2 sc2 rx3 c2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s2: BEGIN; -step wx: INSERT INTO b VALUES (0); -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; - -starting permutation: s1 at1 sc1 rx1 s2 wx at2 rx3 sc2 c2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s2: BEGIN; -step wx: INSERT INTO b VALUES (0); -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step sc2: COMMIT; -step c2: COMMIT; - -starting permutation: s1 at1 sc1 rx1 s2 wx at2 rx3 c2 sc2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s2: BEGIN; -step wx: INSERT INTO b VALUES (0); -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step sc2: COMMIT; - -starting permutation: s1 at1 sc1 rx1 s2 wx rx3 at2 sc2 c2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s2: BEGIN; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; -step c2: COMMIT; - -starting permutation: s1 at1 sc1 rx1 s2 wx rx3 at2 c2 sc2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s2: BEGIN; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step c2: COMMIT; -step sc2: COMMIT; - -starting permutation: s1 at1 sc1 rx1 s2 wx rx3 c2 at2 sc2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s2: BEGIN; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; - -starting permutation: s1 at1 sc1 rx1 wx s2 at2 sc2 rx3 c2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; - -starting permutation: s1 at1 sc1 rx1 wx s2 at2 rx3 sc2 c2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step sc2: COMMIT; -step c2: COMMIT; - -starting permutation: s1 at1 sc1 rx1 wx s2 at2 rx3 c2 sc2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step sc2: COMMIT; - -starting permutation: s1 at1 sc1 rx1 wx s2 rx3 at2 sc2 c2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step s2: BEGIN; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; -step c2: COMMIT; - -starting permutation: s1 at1 sc1 rx1 wx s2 rx3 at2 c2 sc2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step s2: BEGIN; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step c2: COMMIT; -step sc2: COMMIT; - -starting permutation: s1 at1 sc1 rx1 wx s2 rx3 c2 at2 sc2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step s2: BEGIN; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; - -starting permutation: s1 at1 sc1 rx1 wx rx3 s2 at2 sc2 c2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; -step c2: COMMIT; - -starting permutation: s1 at1 sc1 rx1 wx rx3 s2 at2 c2 sc2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step c2: COMMIT; -step sc2: COMMIT; - -starting permutation: s1 at1 sc1 rx1 wx rx3 s2 c2 at2 sc2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step s2: BEGIN; -step c2: COMMIT; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; - -starting permutation: s1 at1 sc1 rx1 wx rx3 c2 s2 at2 sc2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; - -starting permutation: s1 at1 rx1 sc1 s2 at2 sc2 wx rx3 c2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step sc1: COMMIT; -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; - -starting permutation: s1 at1 rx1 sc1 s2 at2 wx sc2 rx3 c2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step sc1: COMMIT; -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step wx: INSERT INTO b VALUES (0); -step sc2: COMMIT; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; - -starting permutation: s1 at1 rx1 sc1 s2 at2 wx rx3 sc2 c2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step sc1: COMMIT; -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step sc2: COMMIT; -step c2: COMMIT; - -starting permutation: s1 at1 rx1 sc1 s2 at2 wx rx3 c2 sc2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step sc1: COMMIT; -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step sc2: COMMIT; - -starting permutation: s1 at1 rx1 sc1 s2 wx at2 sc2 rx3 c2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step sc1: COMMIT; -step s2: BEGIN; -step wx: INSERT INTO b VALUES (0); -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; - -starting permutation: s1 at1 rx1 sc1 s2 wx at2 rx3 sc2 c2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step sc1: COMMIT; -step s2: BEGIN; -step wx: INSERT INTO b VALUES (0); -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step sc2: COMMIT; -step c2: COMMIT; - -starting permutation: s1 at1 rx1 sc1 s2 wx at2 rx3 c2 sc2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step sc1: COMMIT; -step s2: BEGIN; -step wx: INSERT INTO b VALUES (0); -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step sc2: COMMIT; - -starting permutation: s1 at1 rx1 sc1 s2 wx rx3 at2 sc2 c2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step sc1: COMMIT; -step s2: BEGIN; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; -step c2: COMMIT; - -starting permutation: s1 at1 rx1 sc1 s2 wx rx3 at2 c2 sc2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step sc1: COMMIT; -step s2: BEGIN; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step c2: COMMIT; -step sc2: COMMIT; - -starting permutation: s1 at1 rx1 sc1 s2 wx rx3 c2 at2 sc2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step sc1: COMMIT; -step s2: BEGIN; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; - -starting permutation: s1 at1 rx1 sc1 wx s2 at2 sc2 rx3 c2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step sc1: COMMIT; -step wx: INSERT INTO b VALUES (0); -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; - -starting permutation: s1 at1 rx1 sc1 wx s2 at2 rx3 sc2 c2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step sc1: COMMIT; -step wx: INSERT INTO b VALUES (0); -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step sc2: COMMIT; -step c2: COMMIT; - -starting permutation: s1 at1 rx1 sc1 wx s2 at2 rx3 c2 sc2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step sc1: COMMIT; -step wx: INSERT INTO b VALUES (0); -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step sc2: COMMIT; - -starting permutation: s1 at1 rx1 sc1 wx s2 rx3 at2 sc2 c2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step sc1: COMMIT; -step wx: INSERT INTO b VALUES (0); -step s2: BEGIN; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; -step c2: COMMIT; - -starting permutation: s1 at1 rx1 sc1 wx s2 rx3 at2 c2 sc2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step sc1: COMMIT; -step wx: INSERT INTO b VALUES (0); -step s2: BEGIN; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step c2: COMMIT; -step sc2: COMMIT; - -starting permutation: s1 at1 rx1 sc1 wx s2 rx3 c2 at2 sc2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step sc1: COMMIT; -step wx: INSERT INTO b VALUES (0); -step s2: BEGIN; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; - -starting permutation: s1 at1 rx1 sc1 wx rx3 s2 at2 sc2 c2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step sc1: COMMIT; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; -step c2: COMMIT; - -starting permutation: s1 at1 rx1 sc1 wx rx3 s2 at2 c2 sc2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step sc1: COMMIT; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step c2: COMMIT; -step sc2: COMMIT; - -starting permutation: s1 at1 rx1 sc1 wx rx3 s2 c2 at2 sc2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step sc1: COMMIT; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step s2: BEGIN; -step c2: COMMIT; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; - -starting permutation: s1 at1 rx1 sc1 wx rx3 c2 s2 at2 sc2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step sc1: COMMIT; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; - -starting permutation: s1 at1 rx1 wx sc1 s2 at2 sc2 rx3 c2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step sc1: COMMIT; -step wx: <... completed> -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; - -starting permutation: s1 at1 rx1 wx sc1 s2 at2 rx3 sc2 c2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step sc1: COMMIT; -step wx: <... completed> -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step sc2: COMMIT; -step c2: COMMIT; - -starting permutation: s1 at1 rx1 wx sc1 s2 at2 rx3 c2 sc2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step sc1: COMMIT; -step wx: <... completed> -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step sc2: COMMIT; - -starting permutation: s1 at1 rx1 wx sc1 s2 rx3 at2 sc2 c2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step sc1: COMMIT; -step wx: <... completed> -step s2: BEGIN; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; -step c2: COMMIT; - -starting permutation: s1 at1 rx1 wx sc1 s2 rx3 at2 c2 sc2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step sc1: COMMIT; -step wx: <... completed> -step s2: BEGIN; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step c2: COMMIT; -step sc2: COMMIT; - -starting permutation: s1 at1 rx1 wx sc1 s2 rx3 c2 at2 sc2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step sc1: COMMIT; -step wx: <... completed> -step s2: BEGIN; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; - -starting permutation: s1 at1 rx1 wx sc1 rx3 s2 at2 sc2 c2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step sc1: COMMIT; -step wx: <... completed> -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; -step c2: COMMIT; - -starting permutation: s1 at1 rx1 wx sc1 rx3 s2 at2 c2 sc2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step sc1: COMMIT; -step wx: <... completed> -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step c2: COMMIT; -step sc2: COMMIT; - -starting permutation: s1 at1 rx1 wx sc1 rx3 s2 c2 at2 sc2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step sc1: COMMIT; -step wx: <... completed> -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step s2: BEGIN; -step c2: COMMIT; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; - -starting permutation: s1 at1 rx1 wx sc1 rx3 c2 s2 at2 sc2 -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step sc1: COMMIT; -step wx: <... completed> -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; - -starting permutation: s1 rx1 at1 sc1 s2 at2 sc2 wx rx3 c2 -step s1: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; - -starting permutation: s1 rx1 at1 sc1 s2 at2 wx sc2 rx3 c2 -step s1: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step wx: INSERT INTO b VALUES (0); -step sc2: COMMIT; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; - -starting permutation: s1 rx1 at1 sc1 s2 at2 wx rx3 sc2 c2 -step s1: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step sc2: COMMIT; -step c2: COMMIT; - -starting permutation: s1 rx1 at1 sc1 s2 at2 wx rx3 c2 sc2 -step s1: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step sc2: COMMIT; - -starting permutation: s1 rx1 at1 sc1 s2 wx at2 sc2 rx3 c2 -step s1: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step wx: INSERT INTO b VALUES (0); -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; - -starting permutation: s1 rx1 at1 sc1 s2 wx at2 rx3 sc2 c2 -step s1: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step wx: INSERT INTO b VALUES (0); -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step sc2: COMMIT; -step c2: COMMIT; - -starting permutation: s1 rx1 at1 sc1 s2 wx at2 rx3 c2 sc2 -step s1: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step wx: INSERT INTO b VALUES (0); -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step sc2: COMMIT; - -starting permutation: s1 rx1 at1 sc1 s2 wx rx3 at2 sc2 c2 -step s1: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; -step c2: COMMIT; - -starting permutation: s1 rx1 at1 sc1 s2 wx rx3 at2 c2 sc2 -step s1: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step c2: COMMIT; -step sc2: COMMIT; - -starting permutation: s1 rx1 at1 sc1 s2 wx rx3 c2 at2 sc2 -step s1: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; - -starting permutation: s1 rx1 at1 sc1 wx s2 at2 sc2 rx3 c2 -step s1: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step wx: INSERT INTO b VALUES (0); -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; - -starting permutation: s1 rx1 at1 sc1 wx s2 at2 rx3 sc2 c2 -step s1: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step wx: INSERT INTO b VALUES (0); -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step sc2: COMMIT; -step c2: COMMIT; - -starting permutation: s1 rx1 at1 sc1 wx s2 at2 rx3 c2 sc2 -step s1: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step wx: INSERT INTO b VALUES (0); -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step sc2: COMMIT; - -starting permutation: s1 rx1 at1 sc1 wx s2 rx3 at2 sc2 c2 -step s1: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step wx: INSERT INTO b VALUES (0); -step s2: BEGIN; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; -step c2: COMMIT; - -starting permutation: s1 rx1 at1 sc1 wx s2 rx3 at2 c2 sc2 -step s1: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step wx: INSERT INTO b VALUES (0); -step s2: BEGIN; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step c2: COMMIT; -step sc2: COMMIT; - -starting permutation: s1 rx1 at1 sc1 wx s2 rx3 c2 at2 sc2 -step s1: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step wx: INSERT INTO b VALUES (0); -step s2: BEGIN; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; - -starting permutation: s1 rx1 at1 sc1 wx rx3 s2 at2 sc2 c2 -step s1: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; -step c2: COMMIT; - -starting permutation: s1 rx1 at1 sc1 wx rx3 s2 at2 c2 sc2 -step s1: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step c2: COMMIT; -step sc2: COMMIT; - -starting permutation: s1 rx1 at1 sc1 wx rx3 s2 c2 at2 sc2 -step s1: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step s2: BEGIN; -step c2: COMMIT; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; - -starting permutation: s1 rx1 at1 sc1 wx rx3 c2 s2 at2 sc2 -step s1: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; - -starting permutation: s1 rx1 at1 wx sc1 s2 at2 sc2 rx3 c2 -step s1: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step wx: INSERT INTO b VALUES (0); -step sc1: COMMIT; -step wx: <... completed> -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; - -starting permutation: s1 rx1 at1 wx sc1 s2 at2 rx3 sc2 c2 -step s1: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step wx: INSERT INTO b VALUES (0); -step sc1: COMMIT; -step wx: <... completed> -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step sc2: COMMIT; -step c2: COMMIT; - -starting permutation: s1 rx1 at1 wx sc1 s2 at2 rx3 c2 sc2 -step s1: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step wx: INSERT INTO b VALUES (0); -step sc1: COMMIT; -step wx: <... completed> -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step sc2: COMMIT; - -starting permutation: s1 rx1 at1 wx sc1 s2 rx3 at2 sc2 c2 -step s1: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step wx: INSERT INTO b VALUES (0); -step sc1: COMMIT; -step wx: <... completed> -step s2: BEGIN; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; -step c2: COMMIT; - -starting permutation: s1 rx1 at1 wx sc1 s2 rx3 at2 c2 sc2 -step s1: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step wx: INSERT INTO b VALUES (0); -step sc1: COMMIT; -step wx: <... completed> -step s2: BEGIN; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step c2: COMMIT; -step sc2: COMMIT; - -starting permutation: s1 rx1 at1 wx sc1 s2 rx3 c2 at2 sc2 -step s1: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step wx: INSERT INTO b VALUES (0); -step sc1: COMMIT; -step wx: <... completed> -step s2: BEGIN; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; - -starting permutation: s1 rx1 at1 wx sc1 rx3 s2 at2 sc2 c2 -step s1: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step wx: INSERT INTO b VALUES (0); -step sc1: COMMIT; -step wx: <... completed> -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; -step c2: COMMIT; - -starting permutation: s1 rx1 at1 wx sc1 rx3 s2 at2 c2 sc2 -step s1: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step wx: INSERT INTO b VALUES (0); -step sc1: COMMIT; -step wx: <... completed> -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step c2: COMMIT; -step sc2: COMMIT; - -starting permutation: s1 rx1 at1 wx sc1 rx3 s2 c2 at2 sc2 -step s1: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step wx: INSERT INTO b VALUES (0); -step sc1: COMMIT; -step wx: <... completed> -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step s2: BEGIN; -step c2: COMMIT; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; - -starting permutation: s1 rx1 at1 wx sc1 rx3 c2 s2 at2 sc2 -step s1: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step wx: INSERT INTO b VALUES (0); -step sc1: COMMIT; -step wx: <... completed> -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; - -starting permutation: s1 rx1 wx at1 rx3 c2 sc1 s2 at2 sc2 -step s1: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step at1: <... completed> -step sc1: COMMIT; -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; - -starting permutation: s1 rx1 wx rx3 at1 c2 sc1 s2 at2 sc2 -step s1: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step c2: COMMIT; -step at1: <... completed> -step sc1: COMMIT; -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; - -starting permutation: s1 rx1 wx rx3 c2 at1 sc1 s2 at2 sc2 -step s1: BEGIN; -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; - -starting permutation: rx1 s1 at1 sc1 s2 at2 sc2 wx rx3 c2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; - -starting permutation: rx1 s1 at1 sc1 s2 at2 wx sc2 rx3 c2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step wx: INSERT INTO b VALUES (0); -step sc2: COMMIT; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; - -starting permutation: rx1 s1 at1 sc1 s2 at2 wx rx3 sc2 c2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step sc2: COMMIT; -step c2: COMMIT; - -starting permutation: rx1 s1 at1 sc1 s2 at2 wx rx3 c2 sc2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step sc2: COMMIT; - -starting permutation: rx1 s1 at1 sc1 s2 wx at2 sc2 rx3 c2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step wx: INSERT INTO b VALUES (0); -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; - -starting permutation: rx1 s1 at1 sc1 s2 wx at2 rx3 sc2 c2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step wx: INSERT INTO b VALUES (0); -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step sc2: COMMIT; -step c2: COMMIT; - -starting permutation: rx1 s1 at1 sc1 s2 wx at2 rx3 c2 sc2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step wx: INSERT INTO b VALUES (0); -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step sc2: COMMIT; - -starting permutation: rx1 s1 at1 sc1 s2 wx rx3 at2 sc2 c2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; -step c2: COMMIT; - -starting permutation: rx1 s1 at1 sc1 s2 wx rx3 at2 c2 sc2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step c2: COMMIT; -step sc2: COMMIT; - -starting permutation: rx1 s1 at1 sc1 s2 wx rx3 c2 at2 sc2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; - -starting permutation: rx1 s1 at1 sc1 wx s2 at2 sc2 rx3 c2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step wx: INSERT INTO b VALUES (0); -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; - -starting permutation: rx1 s1 at1 sc1 wx s2 at2 rx3 sc2 c2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step wx: INSERT INTO b VALUES (0); -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step sc2: COMMIT; -step c2: COMMIT; - -starting permutation: rx1 s1 at1 sc1 wx s2 at2 rx3 c2 sc2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step wx: INSERT INTO b VALUES (0); -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step sc2: COMMIT; - -starting permutation: rx1 s1 at1 sc1 wx s2 rx3 at2 sc2 c2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step wx: INSERT INTO b VALUES (0); -step s2: BEGIN; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; -step c2: COMMIT; - -starting permutation: rx1 s1 at1 sc1 wx s2 rx3 at2 c2 sc2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step wx: INSERT INTO b VALUES (0); -step s2: BEGIN; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step c2: COMMIT; -step sc2: COMMIT; - -starting permutation: rx1 s1 at1 sc1 wx s2 rx3 c2 at2 sc2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step wx: INSERT INTO b VALUES (0); -step s2: BEGIN; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; - -starting permutation: rx1 s1 at1 sc1 wx rx3 s2 at2 sc2 c2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; -step c2: COMMIT; - -starting permutation: rx1 s1 at1 sc1 wx rx3 s2 at2 c2 sc2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step c2: COMMIT; -step sc2: COMMIT; - -starting permutation: rx1 s1 at1 sc1 wx rx3 s2 c2 at2 sc2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step s2: BEGIN; -step c2: COMMIT; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; - -starting permutation: rx1 s1 at1 sc1 wx rx3 c2 s2 at2 sc2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; - -starting permutation: rx1 s1 at1 wx sc1 s2 at2 sc2 rx3 c2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step wx: INSERT INTO b VALUES (0); -step sc1: COMMIT; -step wx: <... completed> -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; - -starting permutation: rx1 s1 at1 wx sc1 s2 at2 rx3 sc2 c2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step wx: INSERT INTO b VALUES (0); -step sc1: COMMIT; -step wx: <... completed> -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step sc2: COMMIT; -step c2: COMMIT; - -starting permutation: rx1 s1 at1 wx sc1 s2 at2 rx3 c2 sc2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step wx: INSERT INTO b VALUES (0); -step sc1: COMMIT; -step wx: <... completed> -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step sc2: COMMIT; - -starting permutation: rx1 s1 at1 wx sc1 s2 rx3 at2 sc2 c2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step wx: INSERT INTO b VALUES (0); -step sc1: COMMIT; -step wx: <... completed> -step s2: BEGIN; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; -step c2: COMMIT; - -starting permutation: rx1 s1 at1 wx sc1 s2 rx3 at2 c2 sc2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step wx: INSERT INTO b VALUES (0); -step sc1: COMMIT; -step wx: <... completed> -step s2: BEGIN; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step c2: COMMIT; -step sc2: COMMIT; - -starting permutation: rx1 s1 at1 wx sc1 s2 rx3 c2 at2 sc2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step wx: INSERT INTO b VALUES (0); -step sc1: COMMIT; -step wx: <... completed> -step s2: BEGIN; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; - -starting permutation: rx1 s1 at1 wx sc1 rx3 s2 at2 sc2 c2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step wx: INSERT INTO b VALUES (0); -step sc1: COMMIT; -step wx: <... completed> -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; -step c2: COMMIT; - -starting permutation: rx1 s1 at1 wx sc1 rx3 s2 at2 c2 sc2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step wx: INSERT INTO b VALUES (0); -step sc1: COMMIT; -step wx: <... completed> -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step c2: COMMIT; -step sc2: COMMIT; - -starting permutation: rx1 s1 at1 wx sc1 rx3 s2 c2 at2 sc2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step wx: INSERT INTO b VALUES (0); -step sc1: COMMIT; -step wx: <... completed> -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step s2: BEGIN; -step c2: COMMIT; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; - -starting permutation: rx1 s1 at1 wx sc1 rx3 c2 s2 at2 sc2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step wx: INSERT INTO b VALUES (0); -step sc1: COMMIT; -step wx: <... completed> -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; - -starting permutation: rx1 s1 wx at1 rx3 c2 sc1 s2 at2 sc2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s1: BEGIN; -step wx: INSERT INTO b VALUES (0); -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step at1: <... completed> -step sc1: COMMIT; -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; - -starting permutation: rx1 s1 wx rx3 at1 c2 sc1 s2 at2 sc2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s1: BEGIN; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step c2: COMMIT; -step at1: <... completed> -step sc1: COMMIT; -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; - -starting permutation: rx1 s1 wx rx3 c2 at1 sc1 s2 at2 sc2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step s1: BEGIN; -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; - -starting permutation: rx1 wx s1 at1 rx3 c2 sc1 s2 at2 sc2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step at1: <... completed> -step sc1: COMMIT; -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; - -starting permutation: rx1 wx s1 rx3 at1 c2 sc1 s2 at2 sc2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step s1: BEGIN; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step c2: COMMIT; -step at1: <... completed> -step sc1: COMMIT; -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; - -starting permutation: rx1 wx s1 rx3 c2 at1 sc1 s2 at2 sc2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step s1: BEGIN; -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; - -starting permutation: rx1 wx rx3 s1 at1 c2 sc1 s2 at2 sc2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step c2: COMMIT; -step at1: <... completed> -step sc1: COMMIT; -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; - -starting permutation: rx1 wx rx3 s1 c2 at1 sc1 s2 at2 sc2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step s1: BEGIN; -step c2: COMMIT; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; - -starting permutation: rx1 wx rx3 c2 s1 at1 sc1 s2 at2 sc2 -step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1; -a_id ----- - 1 -(1 row) - -step wx: INSERT INTO b VALUES (0); -step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3; -a_id ----- - 3 - 3 - 3 -(3 rows) - -step c2: COMMIT; -step s1: BEGIN; -step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step sc1: COMMIT; -step s2: BEGIN; -step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk; -step sc2: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/alter-table-2.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/alter-table-2.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/alter-table-2.out 2024-03-29 10:06:51.871270899 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/alter-table-2.out 2024-03-29 10:13:20.155275196 +0000 @@ -1,1030 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1a s1b s1c s2a s2b s2c s2d s2e s2f -step s1a: BEGIN; -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s1c: COMMIT; -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s2d: INSERT INTO b VALUES (0); -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; - -starting permutation: s1a s1b s2a s1c s2b s2c s2d s2e s2f -step s1a: BEGIN; -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s2a: BEGIN; -step s1c: COMMIT; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s2d: INSERT INTO b VALUES (0); -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; - -starting permutation: s1a s1b s2a s2b s1c s2c s2d s2e s2f -step s1a: BEGIN; -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1c: COMMIT; -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s2d: INSERT INTO b VALUES (0); -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; - -starting permutation: s1a s1b s2a s2b s2c s1c s2d s2e s2f -step s1a: BEGIN; -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s1c: COMMIT; -step s2d: INSERT INTO b VALUES (0); -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; - -starting permutation: s1a s1b s2a s2b s2c s2d s1c s2e s2f -step s1a: BEGIN; -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s2d: INSERT INTO b VALUES (0); -step s1c: COMMIT; -step s2d: <... completed> -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; - -starting permutation: s1a s2a s1b s1c s2b s2c s2d s2e s2f -step s1a: BEGIN; -step s2a: BEGIN; -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s1c: COMMIT; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s2d: INSERT INTO b VALUES (0); -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; - -starting permutation: s1a s2a s1b s2b s1c s2c s2d s2e s2f -step s1a: BEGIN; -step s2a: BEGIN; -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1c: COMMIT; -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s2d: INSERT INTO b VALUES (0); -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; - -starting permutation: s1a s2a s1b s2b s2c s1c s2d s2e s2f -step s1a: BEGIN; -step s2a: BEGIN; -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s1c: COMMIT; -step s2d: INSERT INTO b VALUES (0); -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; - -starting permutation: s1a s2a s1b s2b s2c s2d s1c s2e s2f -step s1a: BEGIN; -step s2a: BEGIN; -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s2d: INSERT INTO b VALUES (0); -step s1c: COMMIT; -step s2d: <... completed> -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; - -starting permutation: s1a s2a s2b s1b s1c s2c s2d s2e s2f -step s1a: BEGIN; -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s1c: COMMIT; -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s2d: INSERT INTO b VALUES (0); -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; - -starting permutation: s1a s2a s2b s1b s2c s1c s2d s2e s2f -step s1a: BEGIN; -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s1c: COMMIT; -step s2d: INSERT INTO b VALUES (0); -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; - -starting permutation: s1a s2a s2b s1b s2c s2d s1c s2e s2f -step s1a: BEGIN; -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s2d: INSERT INTO b VALUES (0); -step s1c: COMMIT; -step s2d: <... completed> -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; - -starting permutation: s1a s2a s2b s2c s1b s1c s2d s2e s2f -step s1a: BEGIN; -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s1c: COMMIT; -step s2d: INSERT INTO b VALUES (0); -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; - -starting permutation: s1a s2a s2b s2c s1b s2d s1c s2e s2f -step s1a: BEGIN; -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s2d: INSERT INTO b VALUES (0); -step s1c: COMMIT; -step s2d: <... completed> -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; - -starting permutation: s1a s2a s2b s2c s2d s1b s2e s2f s1c -step s1a: BEGIN; -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s2d: INSERT INTO b VALUES (0); -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; -step s1b: <... completed> -step s1c: COMMIT; - -starting permutation: s1a s2a s2b s2c s2d s2e s1b s2f s1c -step s1a: BEGIN; -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s2d: INSERT INTO b VALUES (0); -step s2e: INSERT INTO a VALUES (4); -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s2f: COMMIT; -step s1b: <... completed> -step s1c: COMMIT; - -starting permutation: s1a s2a s2b s2c s2d s2e s2f s1b s1c -step s1a: BEGIN; -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s2d: INSERT INTO b VALUES (0); -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s1c: COMMIT; - -starting permutation: s2a s1a s1b s1c s2b s2c s2d s2e s2f -step s2a: BEGIN; -step s1a: BEGIN; -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s1c: COMMIT; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s2d: INSERT INTO b VALUES (0); -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; - -starting permutation: s2a s1a s1b s2b s1c s2c s2d s2e s2f -step s2a: BEGIN; -step s1a: BEGIN; -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1c: COMMIT; -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s2d: INSERT INTO b VALUES (0); -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; - -starting permutation: s2a s1a s1b s2b s2c s1c s2d s2e s2f -step s2a: BEGIN; -step s1a: BEGIN; -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s1c: COMMIT; -step s2d: INSERT INTO b VALUES (0); -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; - -starting permutation: s2a s1a s1b s2b s2c s2d s1c s2e s2f -step s2a: BEGIN; -step s1a: BEGIN; -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s2d: INSERT INTO b VALUES (0); -step s1c: COMMIT; -step s2d: <... completed> -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; - -starting permutation: s2a s1a s2b s1b s1c s2c s2d s2e s2f -step s2a: BEGIN; -step s1a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s1c: COMMIT; -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s2d: INSERT INTO b VALUES (0); -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; - -starting permutation: s2a s1a s2b s1b s2c s1c s2d s2e s2f -step s2a: BEGIN; -step s1a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s1c: COMMIT; -step s2d: INSERT INTO b VALUES (0); -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; - -starting permutation: s2a s1a s2b s1b s2c s2d s1c s2e s2f -step s2a: BEGIN; -step s1a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s2d: INSERT INTO b VALUES (0); -step s1c: COMMIT; -step s2d: <... completed> -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; - -starting permutation: s2a s1a s2b s2c s1b s1c s2d s2e s2f -step s2a: BEGIN; -step s1a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s1c: COMMIT; -step s2d: INSERT INTO b VALUES (0); -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; - -starting permutation: s2a s1a s2b s2c s1b s2d s1c s2e s2f -step s2a: BEGIN; -step s1a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s2d: INSERT INTO b VALUES (0); -step s1c: COMMIT; -step s2d: <... completed> -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; - -starting permutation: s2a s1a s2b s2c s2d s1b s2e s2f s1c -step s2a: BEGIN; -step s1a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s2d: INSERT INTO b VALUES (0); -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; -step s1b: <... completed> -step s1c: COMMIT; - -starting permutation: s2a s1a s2b s2c s2d s2e s1b s2f s1c -step s2a: BEGIN; -step s1a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s2d: INSERT INTO b VALUES (0); -step s2e: INSERT INTO a VALUES (4); -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s2f: COMMIT; -step s1b: <... completed> -step s1c: COMMIT; - -starting permutation: s2a s1a s2b s2c s2d s2e s2f s1b s1c -step s2a: BEGIN; -step s1a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s2d: INSERT INTO b VALUES (0); -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s1c: COMMIT; - -starting permutation: s2a s2b s1a s1b s1c s2c s2d s2e s2f -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1a: BEGIN; -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s1c: COMMIT; -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s2d: INSERT INTO b VALUES (0); -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; - -starting permutation: s2a s2b s1a s1b s2c s1c s2d s2e s2f -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1a: BEGIN; -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s1c: COMMIT; -step s2d: INSERT INTO b VALUES (0); -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; - -starting permutation: s2a s2b s1a s1b s2c s2d s1c s2e s2f -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1a: BEGIN; -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s2d: INSERT INTO b VALUES (0); -step s1c: COMMIT; -step s2d: <... completed> -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; - -starting permutation: s2a s2b s1a s2c s1b s1c s2d s2e s2f -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1a: BEGIN; -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s1c: COMMIT; -step s2d: INSERT INTO b VALUES (0); -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; - -starting permutation: s2a s2b s1a s2c s1b s2d s1c s2e s2f -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1a: BEGIN; -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s2d: INSERT INTO b VALUES (0); -step s1c: COMMIT; -step s2d: <... completed> -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; - -starting permutation: s2a s2b s1a s2c s2d s1b s2e s2f s1c -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1a: BEGIN; -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s2d: INSERT INTO b VALUES (0); -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; -step s1b: <... completed> -step s1c: COMMIT; - -starting permutation: s2a s2b s1a s2c s2d s2e s1b s2f s1c -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1a: BEGIN; -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s2d: INSERT INTO b VALUES (0); -step s2e: INSERT INTO a VALUES (4); -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s2f: COMMIT; -step s1b: <... completed> -step s1c: COMMIT; - -starting permutation: s2a s2b s1a s2c s2d s2e s2f s1b s1c -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1a: BEGIN; -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s2d: INSERT INTO b VALUES (0); -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s1c: COMMIT; - -starting permutation: s2a s2b s2c s1a s1b s1c s2d s2e s2f -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s1a: BEGIN; -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s1c: COMMIT; -step s2d: INSERT INTO b VALUES (0); -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; - -starting permutation: s2a s2b s2c s1a s1b s2d s1c s2e s2f -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s1a: BEGIN; -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s2d: INSERT INTO b VALUES (0); -step s1c: COMMIT; -step s2d: <... completed> -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; - -starting permutation: s2a s2b s2c s1a s2d s1b s2e s2f s1c -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s1a: BEGIN; -step s2d: INSERT INTO b VALUES (0); -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; -step s1b: <... completed> -step s1c: COMMIT; - -starting permutation: s2a s2b s2c s1a s2d s2e s1b s2f s1c -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s1a: BEGIN; -step s2d: INSERT INTO b VALUES (0); -step s2e: INSERT INTO a VALUES (4); -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s2f: COMMIT; -step s1b: <... completed> -step s1c: COMMIT; - -starting permutation: s2a s2b s2c s1a s2d s2e s2f s1b s1c -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s1a: BEGIN; -step s2d: INSERT INTO b VALUES (0); -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s1c: COMMIT; - -starting permutation: s2a s2b s2c s2d s1a s1b s2e s2f s1c -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s2d: INSERT INTO b VALUES (0); -step s1a: BEGIN; -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; -step s1b: <... completed> -step s1c: COMMIT; - -starting permutation: s2a s2b s2c s2d s1a s2e s1b s2f s1c -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s2d: INSERT INTO b VALUES (0); -step s1a: BEGIN; -step s2e: INSERT INTO a VALUES (4); -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s2f: COMMIT; -step s1b: <... completed> -step s1c: COMMIT; - -starting permutation: s2a s2b s2c s2d s1a s2e s2f s1b s1c -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s2d: INSERT INTO b VALUES (0); -step s1a: BEGIN; -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s1c: COMMIT; - -starting permutation: s2a s2b s2c s2d s2e s1a s1b s2f s1c -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s2d: INSERT INTO b VALUES (0); -step s2e: INSERT INTO a VALUES (4); -step s1a: BEGIN; -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s2f: COMMIT; -step s1b: <... completed> -step s1c: COMMIT; - -starting permutation: s2a s2b s2c s2d s2e s1a s2f s1b s1c -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s2d: INSERT INTO b VALUES (0); -step s2e: INSERT INTO a VALUES (4); -step s1a: BEGIN; -step s2f: COMMIT; -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s1c: COMMIT; - -starting permutation: s2a s2b s2c s2d s2e s2f s1a s1b s1c -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE; -a_id ----- - 3 -(1 row) - -step s2d: INSERT INTO b VALUES (0); -step s2e: INSERT INTO a VALUES (4); -step s2f: COMMIT; -step s1a: BEGIN; -step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; -step s1c: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/alter-table-3.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/alter-table-3.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/alter-table-3.out 2024-03-29 10:06:51.871270899 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/alter-table-3.out 2024-03-29 10:13:20.175275192 +0000 @@ -1,785 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1a s1b s1c s1d s2a s2b s2c s2d -step s1a: BEGIN; -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s1d: COMMIT; -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: INSERT INTO a VALUES (0); -ERROR: duplicate key value violates unique constraint "a_pkey" -step s2d: COMMIT; - -starting permutation: s1a s1b s1c s2a s1d s2b s2c s2d -step s1a: BEGIN; -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s2a: BEGIN; -step s1d: COMMIT; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: INSERT INTO a VALUES (0); -ERROR: duplicate key value violates unique constraint "a_pkey" -step s2d: COMMIT; - -starting permutation: s1a s1b s1c s2a s2b s1d s2c s2d -step s1a: BEGIN; -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1d: COMMIT; -step s2c: INSERT INTO a VALUES (0); -ERROR: duplicate key value violates unique constraint "a_pkey" -step s2d: COMMIT; - -starting permutation: s1a s1b s1c s2a s2b s2c s1d s2d -step s1a: BEGIN; -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: INSERT INTO a VALUES (0); -step s1d: COMMIT; -step s2c: <... completed> -ERROR: duplicate key value violates unique constraint "a_pkey" -step s2d: COMMIT; - -starting permutation: s1a s1b s2a s1c s1d s2b s2c s2d -step s1a: BEGIN; -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s2a: BEGIN; -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s1d: COMMIT; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: INSERT INTO a VALUES (0); -ERROR: duplicate key value violates unique constraint "a_pkey" -step s2d: COMMIT; - -starting permutation: s1a s1b s2a s1c s2b s1d s2c s2d -step s1a: BEGIN; -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s2a: BEGIN; -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1d: COMMIT; -step s2c: INSERT INTO a VALUES (0); -ERROR: duplicate key value violates unique constraint "a_pkey" -step s2d: COMMIT; - -starting permutation: s1a s1b s2a s1c s2b s2c s1d s2d -step s1a: BEGIN; -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s2a: BEGIN; -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: INSERT INTO a VALUES (0); -step s1d: COMMIT; -step s2c: <... completed> -ERROR: duplicate key value violates unique constraint "a_pkey" -step s2d: COMMIT; - -starting permutation: s1a s1b s2a s2b s1c s1d s2c s2d -step s1a: BEGIN; -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s1d: COMMIT; -step s2c: INSERT INTO a VALUES (0); -ERROR: duplicate key value violates unique constraint "a_pkey" -step s2d: COMMIT; - -starting permutation: s1a s1b s2a s2b s1c s2c s1d s2d -step s1a: BEGIN; -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s2c: INSERT INTO a VALUES (0); -step s1d: COMMIT; -step s2c: <... completed> -ERROR: duplicate key value violates unique constraint "a_pkey" -step s2d: COMMIT; - -starting permutation: s1a s1b s2a s2b s2c s1c s1d s2d -step s1a: BEGIN; -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: INSERT INTO a VALUES (0); -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s1d: COMMIT; -step s2c: <... completed> -ERROR: duplicate key value violates unique constraint "a_pkey" -step s2d: COMMIT; - -starting permutation: s1a s2a s1b s1c s1d s2b s2c s2d -step s1a: BEGIN; -step s2a: BEGIN; -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s1d: COMMIT; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: INSERT INTO a VALUES (0); -ERROR: duplicate key value violates unique constraint "a_pkey" -step s2d: COMMIT; - -starting permutation: s1a s2a s1b s1c s2b s1d s2c s2d -step s1a: BEGIN; -step s2a: BEGIN; -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1d: COMMIT; -step s2c: INSERT INTO a VALUES (0); -ERROR: duplicate key value violates unique constraint "a_pkey" -step s2d: COMMIT; - -starting permutation: s1a s2a s1b s1c s2b s2c s1d s2d -step s1a: BEGIN; -step s2a: BEGIN; -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: INSERT INTO a VALUES (0); -step s1d: COMMIT; -step s2c: <... completed> -ERROR: duplicate key value violates unique constraint "a_pkey" -step s2d: COMMIT; - -starting permutation: s1a s2a s1b s2b s1c s1d s2c s2d -step s1a: BEGIN; -step s2a: BEGIN; -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s1d: COMMIT; -step s2c: INSERT INTO a VALUES (0); -ERROR: duplicate key value violates unique constraint "a_pkey" -step s2d: COMMIT; - -starting permutation: s1a s2a s1b s2b s1c s2c s1d s2d -step s1a: BEGIN; -step s2a: BEGIN; -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s2c: INSERT INTO a VALUES (0); -step s1d: COMMIT; -step s2c: <... completed> -ERROR: duplicate key value violates unique constraint "a_pkey" -step s2d: COMMIT; - -starting permutation: s1a s2a s1b s2b s2c s1c s1d s2d -step s1a: BEGIN; -step s2a: BEGIN; -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: INSERT INTO a VALUES (0); -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s1d: COMMIT; -step s2c: <... completed> -ERROR: duplicate key value violates unique constraint "a_pkey" -step s2d: COMMIT; - -starting permutation: s1a s2a s2b s1b s1c s1d s2c s2d -step s1a: BEGIN; -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s1d: COMMIT; -step s2c: INSERT INTO a VALUES (0); -ERROR: duplicate key value violates unique constraint "a_pkey" -step s2d: COMMIT; - -starting permutation: s1a s2a s2b s1b s1c s2c s1d s2d -step s1a: BEGIN; -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s2c: INSERT INTO a VALUES (0); -step s1d: COMMIT; -step s2c: <... completed> -ERROR: duplicate key value violates unique constraint "a_pkey" -step s2d: COMMIT; - -starting permutation: s1a s2a s2b s1b s2c s1c s1d s2d -step s1a: BEGIN; -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s2c: INSERT INTO a VALUES (0); -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s1d: COMMIT; -step s2c: <... completed> -ERROR: duplicate key value violates unique constraint "a_pkey" -step s2d: COMMIT; - -starting permutation: s1a s2a s2b s2c s1b s1c s1d s2d -step s1a: BEGIN; -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: INSERT INTO a VALUES (0); -ERROR: duplicate key value violates unique constraint "a_pkey" -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s1d: COMMIT; -step s2d: COMMIT; - -starting permutation: s1a s2a s2b s2c s1b s1c s2d s1d -step s1a: BEGIN; -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: INSERT INTO a VALUES (0); -ERROR: duplicate key value violates unique constraint "a_pkey" -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s2d: COMMIT; -step s1d: COMMIT; - -starting permutation: s1a s2a s2b s2c s1b s2d s1c s1d -step s1a: BEGIN; -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: INSERT INTO a VALUES (0); -ERROR: duplicate key value violates unique constraint "a_pkey" -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s2d: COMMIT; -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s1d: COMMIT; - -starting permutation: s1a s2a s2b s2c s2d s1b s1c s1d -step s1a: BEGIN; -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: INSERT INTO a VALUES (0); -ERROR: duplicate key value violates unique constraint "a_pkey" -step s2d: COMMIT; -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s1d: COMMIT; - -starting permutation: s2a s1a s1b s1c s1d s2b s2c s2d -step s2a: BEGIN; -step s1a: BEGIN; -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s1d: COMMIT; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: INSERT INTO a VALUES (0); -ERROR: duplicate key value violates unique constraint "a_pkey" -step s2d: COMMIT; - -starting permutation: s2a s1a s1b s1c s2b s1d s2c s2d -step s2a: BEGIN; -step s1a: BEGIN; -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1d: COMMIT; -step s2c: INSERT INTO a VALUES (0); -ERROR: duplicate key value violates unique constraint "a_pkey" -step s2d: COMMIT; - -starting permutation: s2a s1a s1b s1c s2b s2c s1d s2d -step s2a: BEGIN; -step s1a: BEGIN; -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: INSERT INTO a VALUES (0); -step s1d: COMMIT; -step s2c: <... completed> -ERROR: duplicate key value violates unique constraint "a_pkey" -step s2d: COMMIT; - -starting permutation: s2a s1a s1b s2b s1c s1d s2c s2d -step s2a: BEGIN; -step s1a: BEGIN; -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s1d: COMMIT; -step s2c: INSERT INTO a VALUES (0); -ERROR: duplicate key value violates unique constraint "a_pkey" -step s2d: COMMIT; - -starting permutation: s2a s1a s1b s2b s1c s2c s1d s2d -step s2a: BEGIN; -step s1a: BEGIN; -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s2c: INSERT INTO a VALUES (0); -step s1d: COMMIT; -step s2c: <... completed> -ERROR: duplicate key value violates unique constraint "a_pkey" -step s2d: COMMIT; - -starting permutation: s2a s1a s1b s2b s2c s1c s1d s2d -step s2a: BEGIN; -step s1a: BEGIN; -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: INSERT INTO a VALUES (0); -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s1d: COMMIT; -step s2c: <... completed> -ERROR: duplicate key value violates unique constraint "a_pkey" -step s2d: COMMIT; - -starting permutation: s2a s1a s2b s1b s1c s1d s2c s2d -step s2a: BEGIN; -step s1a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s1d: COMMIT; -step s2c: INSERT INTO a VALUES (0); -ERROR: duplicate key value violates unique constraint "a_pkey" -step s2d: COMMIT; - -starting permutation: s2a s1a s2b s1b s1c s2c s1d s2d -step s2a: BEGIN; -step s1a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s2c: INSERT INTO a VALUES (0); -step s1d: COMMIT; -step s2c: <... completed> -ERROR: duplicate key value violates unique constraint "a_pkey" -step s2d: COMMIT; - -starting permutation: s2a s1a s2b s1b s2c s1c s1d s2d -step s2a: BEGIN; -step s1a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s2c: INSERT INTO a VALUES (0); -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s1d: COMMIT; -step s2c: <... completed> -ERROR: duplicate key value violates unique constraint "a_pkey" -step s2d: COMMIT; - -starting permutation: s2a s1a s2b s2c s1b s1c s1d s2d -step s2a: BEGIN; -step s1a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: INSERT INTO a VALUES (0); -ERROR: duplicate key value violates unique constraint "a_pkey" -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s1d: COMMIT; -step s2d: COMMIT; - -starting permutation: s2a s1a s2b s2c s1b s1c s2d s1d -step s2a: BEGIN; -step s1a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: INSERT INTO a VALUES (0); -ERROR: duplicate key value violates unique constraint "a_pkey" -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s2d: COMMIT; -step s1d: COMMIT; - -starting permutation: s2a s1a s2b s2c s1b s2d s1c s1d -step s2a: BEGIN; -step s1a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: INSERT INTO a VALUES (0); -ERROR: duplicate key value violates unique constraint "a_pkey" -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s2d: COMMIT; -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s1d: COMMIT; - -starting permutation: s2a s1a s2b s2c s2d s1b s1c s1d -step s2a: BEGIN; -step s1a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: INSERT INTO a VALUES (0); -ERROR: duplicate key value violates unique constraint "a_pkey" -step s2d: COMMIT; -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s1d: COMMIT; - -starting permutation: s2a s2b s1a s1b s1c s1d s2c s2d -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1a: BEGIN; -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s1d: COMMIT; -step s2c: INSERT INTO a VALUES (0); -ERROR: duplicate key value violates unique constraint "a_pkey" -step s2d: COMMIT; - -starting permutation: s2a s2b s1a s1b s1c s2c s1d s2d -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1a: BEGIN; -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s2c: INSERT INTO a VALUES (0); -step s1d: COMMIT; -step s2c: <... completed> -ERROR: duplicate key value violates unique constraint "a_pkey" -step s2d: COMMIT; - -starting permutation: s2a s2b s1a s1b s2c s1c s1d s2d -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1a: BEGIN; -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s2c: INSERT INTO a VALUES (0); -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s1d: COMMIT; -step s2c: <... completed> -ERROR: duplicate key value violates unique constraint "a_pkey" -step s2d: COMMIT; - -starting permutation: s2a s2b s1a s2c s1b s1c s1d s2d -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1a: BEGIN; -step s2c: INSERT INTO a VALUES (0); -ERROR: duplicate key value violates unique constraint "a_pkey" -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s1d: COMMIT; -step s2d: COMMIT; - -starting permutation: s2a s2b s1a s2c s1b s1c s2d s1d -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1a: BEGIN; -step s2c: INSERT INTO a VALUES (0); -ERROR: duplicate key value violates unique constraint "a_pkey" -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s2d: COMMIT; -step s1d: COMMIT; - -starting permutation: s2a s2b s1a s2c s1b s2d s1c s1d -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1a: BEGIN; -step s2c: INSERT INTO a VALUES (0); -ERROR: duplicate key value violates unique constraint "a_pkey" -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s2d: COMMIT; -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s1d: COMMIT; - -starting permutation: s2a s2b s1a s2c s2d s1b s1c s1d -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1a: BEGIN; -step s2c: INSERT INTO a VALUES (0); -ERROR: duplicate key value violates unique constraint "a_pkey" -step s2d: COMMIT; -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s1d: COMMIT; - -starting permutation: s2a s2b s2c s1a s1b s1c s1d s2d -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: INSERT INTO a VALUES (0); -ERROR: duplicate key value violates unique constraint "a_pkey" -step s1a: BEGIN; -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s1d: COMMIT; -step s2d: COMMIT; - -starting permutation: s2a s2b s2c s1a s1b s1c s2d s1d -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: INSERT INTO a VALUES (0); -ERROR: duplicate key value violates unique constraint "a_pkey" -step s1a: BEGIN; -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s2d: COMMIT; -step s1d: COMMIT; - -starting permutation: s2a s2b s2c s1a s1b s2d s1c s1d -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: INSERT INTO a VALUES (0); -ERROR: duplicate key value violates unique constraint "a_pkey" -step s1a: BEGIN; -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s2d: COMMIT; -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s1d: COMMIT; - -starting permutation: s2a s2b s2c s1a s2d s1b s1c s1d -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: INSERT INTO a VALUES (0); -ERROR: duplicate key value violates unique constraint "a_pkey" -step s1a: BEGIN; -step s2d: COMMIT; -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s1d: COMMIT; - -starting permutation: s2a s2b s2c s2d s1a s1b s1c s1d -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: INSERT INTO a VALUES (0); -ERROR: duplicate key value violates unique constraint "a_pkey" -step s2d: COMMIT; -step s1a: BEGIN; -step s1b: ALTER TABLE a DISABLE TRIGGER t; -step s1c: ALTER TABLE a ENABLE TRIGGER t; -step s1d: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/alter-table-4.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/alter-table-4.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/alter-table-4.out 2024-03-29 10:06:51.871270899 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/alter-table-4.out 2024-03-29 10:13:20.183275190 +0000 @@ -1,71 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1b s1delc1 s2sel s1c s2sel -step s1b: BEGIN; -step s1delc1: ALTER TABLE c1 NO INHERIT p; -step s2sel: SELECT SUM(a) FROM p; -step s1c: COMMIT; -step s2sel: <... completed> -sum ---- - 11 -(1 row) - -step s2sel: SELECT SUM(a) FROM p; -sum ---- - 1 -(1 row) - - -starting permutation: s1b s1delc1 s1addc2 s2sel s1c s2sel -step s1b: BEGIN; -step s1delc1: ALTER TABLE c1 NO INHERIT p; -step s1addc2: ALTER TABLE c2 INHERIT p; -step s2sel: SELECT SUM(a) FROM p; -step s1c: COMMIT; -step s2sel: <... completed> -sum ---- - 11 -(1 row) - -step s2sel: SELECT SUM(a) FROM p; -sum ---- -101 -(1 row) - - -starting permutation: s1b s1dropc1 s2sel s1c s2sel -step s1b: BEGIN; -step s1dropc1: DROP TABLE c1; -step s2sel: SELECT SUM(a) FROM p; -step s1c: COMMIT; -step s2sel: <... completed> -sum ---- - 1 -(1 row) - -step s2sel: SELECT SUM(a) FROM p; -sum ---- - 1 -(1 row) - - -starting permutation: s1b s1delc1 s1modc1a s2sel s1c s2sel -step s1b: BEGIN; -step s1delc1: ALTER TABLE c1 NO INHERIT p; -step s1modc1a: ALTER TABLE c1 ALTER COLUMN a TYPE float; -step s2sel: SELECT SUM(a) FROM p; -step s1c: COMMIT; -step s2sel: <... completed> -ERROR: attribute "a" of relation "c1" does not match parent's type -step s2sel: SELECT SUM(a) FROM p; -sum ---- - 1 -(1 row) - +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/create-trigger.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/create-trigger.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/create-trigger.out 2024-03-29 10:06:51.871270899 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/create-trigger.out 2024-03-29 10:13:20.191275189 +0000 @@ -1,361 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1a s1b s1c s2a s2b s2c s2d -step s1a: BEGIN; -step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f(); -step s1c: COMMIT; -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: UPDATE a SET i = 4 WHERE i = 3; -step s2d: COMMIT; - -starting permutation: s1a s1b s2a s1c s2b s2c s2d -step s1a: BEGIN; -step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f(); -step s2a: BEGIN; -step s1c: COMMIT; -step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: UPDATE a SET i = 4 WHERE i = 3; -step s2d: COMMIT; - -starting permutation: s1a s1b s2a s2b s1c s2c s2d -step s1a: BEGIN; -step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f(); -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1c: COMMIT; -step s2c: UPDATE a SET i = 4 WHERE i = 3; -step s2d: COMMIT; - -starting permutation: s1a s1b s2a s2b s2c s1c s2d -step s1a: BEGIN; -step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f(); -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: UPDATE a SET i = 4 WHERE i = 3; -step s1c: COMMIT; -step s2c: <... completed> -step s2d: COMMIT; - -starting permutation: s1a s2a s1b s1c s2b s2c s2d -step s1a: BEGIN; -step s2a: BEGIN; -step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f(); -step s1c: COMMIT; -step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: UPDATE a SET i = 4 WHERE i = 3; -step s2d: COMMIT; - -starting permutation: s1a s2a s1b s2b s1c s2c s2d -step s1a: BEGIN; -step s2a: BEGIN; -step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f(); -step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1c: COMMIT; -step s2c: UPDATE a SET i = 4 WHERE i = 3; -step s2d: COMMIT; - -starting permutation: s1a s2a s1b s2b s2c s1c s2d -step s1a: BEGIN; -step s2a: BEGIN; -step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f(); -step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: UPDATE a SET i = 4 WHERE i = 3; -step s1c: COMMIT; -step s2c: <... completed> -step s2d: COMMIT; - -starting permutation: s1a s2a s2b s1b s1c s2c s2d -step s1a: BEGIN; -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f(); -step s1c: COMMIT; -step s2c: UPDATE a SET i = 4 WHERE i = 3; -step s2d: COMMIT; - -starting permutation: s1a s2a s2b s1b s2c s1c s2d -step s1a: BEGIN; -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f(); -step s2c: UPDATE a SET i = 4 WHERE i = 3; -step s1c: COMMIT; -step s2c: <... completed> -step s2d: COMMIT; - -starting permutation: s1a s2a s2b s2c s1b s2d s1c -step s1a: BEGIN; -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: UPDATE a SET i = 4 WHERE i = 3; -step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f(); -step s2d: COMMIT; -step s1b: <... completed> -step s1c: COMMIT; - -starting permutation: s1a s2a s2b s2c s2d s1b s1c -step s1a: BEGIN; -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: UPDATE a SET i = 4 WHERE i = 3; -step s2d: COMMIT; -step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f(); -step s1c: COMMIT; - -starting permutation: s2a s1a s1b s1c s2b s2c s2d -step s2a: BEGIN; -step s1a: BEGIN; -step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f(); -step s1c: COMMIT; -step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: UPDATE a SET i = 4 WHERE i = 3; -step s2d: COMMIT; - -starting permutation: s2a s1a s1b s2b s1c s2c s2d -step s2a: BEGIN; -step s1a: BEGIN; -step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f(); -step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1c: COMMIT; -step s2c: UPDATE a SET i = 4 WHERE i = 3; -step s2d: COMMIT; - -starting permutation: s2a s1a s1b s2b s2c s1c s2d -step s2a: BEGIN; -step s1a: BEGIN; -step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f(); -step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: UPDATE a SET i = 4 WHERE i = 3; -step s1c: COMMIT; -step s2c: <... completed> -step s2d: COMMIT; - -starting permutation: s2a s1a s2b s1b s1c s2c s2d -step s2a: BEGIN; -step s1a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f(); -step s1c: COMMIT; -step s2c: UPDATE a SET i = 4 WHERE i = 3; -step s2d: COMMIT; - -starting permutation: s2a s1a s2b s1b s2c s1c s2d -step s2a: BEGIN; -step s1a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f(); -step s2c: UPDATE a SET i = 4 WHERE i = 3; -step s1c: COMMIT; -step s2c: <... completed> -step s2d: COMMIT; - -starting permutation: s2a s1a s2b s2c s1b s2d s1c -step s2a: BEGIN; -step s1a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: UPDATE a SET i = 4 WHERE i = 3; -step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f(); -step s2d: COMMIT; -step s1b: <... completed> -step s1c: COMMIT; - -starting permutation: s2a s1a s2b s2c s2d s1b s1c -step s2a: BEGIN; -step s1a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: UPDATE a SET i = 4 WHERE i = 3; -step s2d: COMMIT; -step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f(); -step s1c: COMMIT; - -starting permutation: s2a s2b s1a s1b s1c s2c s2d -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1a: BEGIN; -step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f(); -step s1c: COMMIT; -step s2c: UPDATE a SET i = 4 WHERE i = 3; -step s2d: COMMIT; - -starting permutation: s2a s2b s1a s1b s2c s1c s2d -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1a: BEGIN; -step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f(); -step s2c: UPDATE a SET i = 4 WHERE i = 3; -step s1c: COMMIT; -step s2c: <... completed> -step s2d: COMMIT; - -starting permutation: s2a s2b s1a s2c s1b s2d s1c -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1a: BEGIN; -step s2c: UPDATE a SET i = 4 WHERE i = 3; -step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f(); -step s2d: COMMIT; -step s1b: <... completed> -step s1c: COMMIT; - -starting permutation: s2a s2b s1a s2c s2d s1b s1c -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE; -i -- -1 -(1 row) - -step s1a: BEGIN; -step s2c: UPDATE a SET i = 4 WHERE i = 3; -step s2d: COMMIT; -step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f(); -step s1c: COMMIT; - -starting permutation: s2a s2b s2c s1a s1b s2d s1c -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: UPDATE a SET i = 4 WHERE i = 3; -step s1a: BEGIN; -step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f(); -step s2d: COMMIT; -step s1b: <... completed> -step s1c: COMMIT; - -starting permutation: s2a s2b s2c s1a s2d s1b s1c -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: UPDATE a SET i = 4 WHERE i = 3; -step s1a: BEGIN; -step s2d: COMMIT; -step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f(); -step s1c: COMMIT; - -starting permutation: s2a s2b s2c s2d s1a s1b s1c -step s2a: BEGIN; -step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE; -i -- -1 -(1 row) - -step s2c: UPDATE a SET i = 4 WHERE i = 3; -step s2d: COMMIT; -step s1a: BEGIN; -step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f(); -step s1c: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/sequence-ddl.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/sequence-ddl.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/sequence-ddl.out 2024-03-29 10:06:51.887270884 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/sequence-ddl.out 2024-03-29 10:13:20.199275187 +0000 @@ -1,91 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1alter s1commit s2nv -step s1alter: ALTER SEQUENCE seq1 MAXVALUE 10; -step s1commit: COMMIT; -step s2nv: SELECT nextval('seq1') FROM generate_series(1, 15); -ERROR: nextval: reached maximum value of sequence "seq1" (10) - -starting permutation: s1alter s2nv s1commit -step s1alter: ALTER SEQUENCE seq1 MAXVALUE 10; -step s2nv: SELECT nextval('seq1') FROM generate_series(1, 15); -step s1commit: COMMIT; -step s2nv: <... completed> -ERROR: nextval: reached maximum value of sequence "seq1" (10) - -starting permutation: s1restart s2nv s1commit -step s1restart: ALTER SEQUENCE seq1 RESTART WITH 5; -step s2nv: SELECT nextval('seq1') FROM generate_series(1, 15); -step s1commit: COMMIT; -step s2nv: <... completed> -nextval -------- - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - 19 -(15 rows) - - -starting permutation: s1restart s2nv s1commit -step s1restart: ALTER SEQUENCE seq1 RESTART WITH 5; -step s2nv: SELECT nextval('seq1') FROM generate_series(1, 15); -step s1commit: COMMIT; -step s2nv: <... completed> -nextval -------- - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - 19 -(15 rows) - - -starting permutation: s2begin s2nv s1alter2 s2commit s1commit -step s2begin: BEGIN; -step s2nv: SELECT nextval('seq1') FROM generate_series(1, 15); -nextval -------- - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 -(15 rows) - -step s1alter2: ALTER SEQUENCE seq1 MAXVALUE 20; -step s2commit: COMMIT; -step s1alter2: <... completed> -step s1commit: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/async-notify.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/async-notify.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/async-notify.out 2024-03-29 10:06:51.871270899 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/async-notify.out 2024-03-29 10:13:20.223275183 +0000 @@ -1,127 +1,3 @@ Parsed test spec with 3 sessions - -starting permutation: listenc notify1 notify2 notify3 notifyf -step listenc: LISTEN c1; LISTEN c2; -step notify1: NOTIFY c1; -notifier: NOTIFY "c1" with payload "" from notifier -step notify2: NOTIFY c2, 'payload'; -notifier: NOTIFY "c2" with payload "payload" from notifier -step notify3: NOTIFY c3, 'payload3'; -step notifyf: SELECT pg_notify('c2', NULL); -pg_notify ---------- - -(1 row) - -notifier: NOTIFY "c2" with payload "" from notifier - -starting permutation: listenc notifyd1 notifyd2 notifys1 -step listenc: LISTEN c1; LISTEN c2; -step notifyd1: NOTIFY c2, 'payload'; NOTIFY c1; NOTIFY "c2", 'payload'; -notifier: NOTIFY "c2" with payload "payload" from notifier -notifier: NOTIFY "c1" with payload "" from notifier -step notifyd2: NOTIFY c1; NOTIFY c1; NOTIFY c1, 'p1'; NOTIFY c1, 'p2'; -notifier: NOTIFY "c1" with payload "" from notifier -notifier: NOTIFY "c1" with payload "p1" from notifier -notifier: NOTIFY "c1" with payload "p2" from notifier -step notifys1: - BEGIN; - NOTIFY c1, 'payload'; NOTIFY "c2", 'payload'; - NOTIFY c1, 'payload'; NOTIFY "c2", 'payload'; - SAVEPOINT s1; - NOTIFY c1, 'payload'; NOTIFY "c2", 'payload'; - NOTIFY c1, 'payloads'; NOTIFY "c2", 'payloads'; - NOTIFY c1, 'payload'; NOTIFY "c2", 'payload'; - NOTIFY c1, 'payloads'; NOTIFY "c2", 'payloads'; - RELEASE SAVEPOINT s1; - SAVEPOINT s2; - NOTIFY c1, 'rpayload'; NOTIFY "c2", 'rpayload'; - NOTIFY c1, 'rpayloads'; NOTIFY "c2", 'rpayloads'; - NOTIFY c1, 'rpayload'; NOTIFY "c2", 'rpayload'; - NOTIFY c1, 'rpayloads'; NOTIFY "c2", 'rpayloads'; - ROLLBACK TO SAVEPOINT s2; - COMMIT; - -notifier: NOTIFY "c1" with payload "payload" from notifier -notifier: NOTIFY "c2" with payload "payload" from notifier -notifier: NOTIFY "c1" with payload "payloads" from notifier -notifier: NOTIFY "c2" with payload "payloads" from notifier - -starting permutation: llisten notify1 notify2 notify3 notifyf lcheck -step llisten: LISTEN c1; LISTEN c2; -step notify1: NOTIFY c1; -step notify2: NOTIFY c2, 'payload'; -step notify3: NOTIFY c3, 'payload3'; -step notifyf: SELECT pg_notify('c2', NULL); -pg_notify ---------- - -(1 row) - -step lcheck: SELECT 1 AS x; -x -- -1 -(1 row) - -listener: NOTIFY "c1" with payload "" from notifier -listener: NOTIFY "c2" with payload "payload" from notifier -listener: NOTIFY "c2" with payload "" from notifier - -starting permutation: listenc llisten notify1 notify2 notify3 notifyf lcheck -step listenc: LISTEN c1; LISTEN c2; -step llisten: LISTEN c1; LISTEN c2; -step notify1: NOTIFY c1; -notifier: NOTIFY "c1" with payload "" from notifier -step notify2: NOTIFY c2, 'payload'; -notifier: NOTIFY "c2" with payload "payload" from notifier -step notify3: NOTIFY c3, 'payload3'; -step notifyf: SELECT pg_notify('c2', NULL); -pg_notify ---------- - -(1 row) - -notifier: NOTIFY "c2" with payload "" from notifier -step lcheck: SELECT 1 AS x; -x -- -1 -(1 row) - -listener: NOTIFY "c1" with payload "" from notifier -listener: NOTIFY "c2" with payload "payload" from notifier -listener: NOTIFY "c2" with payload "" from notifier - -starting permutation: l2listen l2begin notify1 lbegins llisten lcommit l2commit l2stop -step l2listen: LISTEN c1; -step l2begin: BEGIN; -step notify1: NOTIFY c1; -step lbegins: BEGIN ISOLATION LEVEL SERIALIZABLE; -step llisten: LISTEN c1; LISTEN c2; -step lcommit: COMMIT; -step l2commit: COMMIT; -listener2: NOTIFY "c1" with payload "" from notifier -step l2stop: UNLISTEN *; - -starting permutation: llisten lbegin usage bignotify usage -step llisten: LISTEN c1; LISTEN c2; -step lbegin: BEGIN; -step usage: SELECT pg_notification_queue_usage() > 0 AS nonzero; -nonzero -------- -f -(1 row) - -step bignotify: SELECT count(pg_notify('c1', s::text)) FROM generate_series(1, 1000) s; -count ------ - 1000 -(1 row) - -step usage: SELECT pg_notification_queue_usage() > 0 AS nonzero; -nonzero -------- -t -(1 row) - +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/vacuum-no-cleanup-lock.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/vacuum-no-cleanup-lock.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/vacuum-no-cleanup-lock.out 2024-03-29 10:06:51.891270879 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/vacuum-no-cleanup-lock.out 2024-03-29 10:13:20.231275181 +0000 @@ -1,189 +1,3 @@ Parsed test spec with 4 sessions - -starting permutation: vacuumer_pg_class_stats dml_insert vacuumer_nonaggressive_vacuum vacuumer_pg_class_stats -step vacuumer_pg_class_stats: - SELECT relpages, reltuples FROM pg_class WHERE oid = 'smalltbl'::regclass; - -relpages|reltuples ---------+--------- - 1| 20 -(1 row) - -step dml_insert: - INSERT INTO smalltbl SELECT max(id) + 1 FROM smalltbl; - -step vacuumer_nonaggressive_vacuum: - VACUUM smalltbl; - -step vacuumer_pg_class_stats: - SELECT relpages, reltuples FROM pg_class WHERE oid = 'smalltbl'::regclass; - -relpages|reltuples ---------+--------- - 1| 21 -(1 row) - - -starting permutation: vacuumer_pg_class_stats dml_insert pinholder_cursor vacuumer_nonaggressive_vacuum vacuumer_pg_class_stats pinholder_commit -step vacuumer_pg_class_stats: - SELECT relpages, reltuples FROM pg_class WHERE oid = 'smalltbl'::regclass; - -relpages|reltuples ---------+--------- - 1| 20 -(1 row) - -step dml_insert: - INSERT INTO smalltbl SELECT max(id) + 1 FROM smalltbl; - -step pinholder_cursor: - BEGIN; - DECLARE c1 CURSOR FOR SELECT 1 AS dummy FROM smalltbl; - FETCH NEXT FROM c1; - -dummy ------ - 1 -(1 row) - -step vacuumer_nonaggressive_vacuum: - VACUUM smalltbl; - -step vacuumer_pg_class_stats: - SELECT relpages, reltuples FROM pg_class WHERE oid = 'smalltbl'::regclass; - -relpages|reltuples ---------+--------- - 1| 21 -(1 row) - -step pinholder_commit: - COMMIT; - - -starting permutation: vacuumer_pg_class_stats pinholder_cursor dml_insert dml_delete dml_insert vacuumer_nonaggressive_vacuum vacuumer_pg_class_stats pinholder_commit -step vacuumer_pg_class_stats: - SELECT relpages, reltuples FROM pg_class WHERE oid = 'smalltbl'::regclass; - -relpages|reltuples ---------+--------- - 1| 20 -(1 row) - -step pinholder_cursor: - BEGIN; - DECLARE c1 CURSOR FOR SELECT 1 AS dummy FROM smalltbl; - FETCH NEXT FROM c1; - -dummy ------ - 1 -(1 row) - -step dml_insert: - INSERT INTO smalltbl SELECT max(id) + 1 FROM smalltbl; - -step dml_delete: - DELETE FROM smalltbl WHERE id = (SELECT min(id) FROM smalltbl); - -step dml_insert: - INSERT INTO smalltbl SELECT max(id) + 1 FROM smalltbl; - -step vacuumer_nonaggressive_vacuum: - VACUUM smalltbl; - -step vacuumer_pg_class_stats: - SELECT relpages, reltuples FROM pg_class WHERE oid = 'smalltbl'::regclass; - -relpages|reltuples ---------+--------- - 1| 21 -(1 row) - -step pinholder_commit: - COMMIT; - - -starting permutation: vacuumer_pg_class_stats dml_insert dml_delete pinholder_cursor dml_insert vacuumer_nonaggressive_vacuum vacuumer_pg_class_stats pinholder_commit -step vacuumer_pg_class_stats: - SELECT relpages, reltuples FROM pg_class WHERE oid = 'smalltbl'::regclass; - -relpages|reltuples ---------+--------- - 1| 20 -(1 row) - -step dml_insert: - INSERT INTO smalltbl SELECT max(id) + 1 FROM smalltbl; - -step dml_delete: - DELETE FROM smalltbl WHERE id = (SELECT min(id) FROM smalltbl); - -step pinholder_cursor: - BEGIN; - DECLARE c1 CURSOR FOR SELECT 1 AS dummy FROM smalltbl; - FETCH NEXT FROM c1; - -dummy ------ - 1 -(1 row) - -step dml_insert: - INSERT INTO smalltbl SELECT max(id) + 1 FROM smalltbl; - -step vacuumer_nonaggressive_vacuum: - VACUUM smalltbl; - -step vacuumer_pg_class_stats: - SELECT relpages, reltuples FROM pg_class WHERE oid = 'smalltbl'::regclass; - -relpages|reltuples ---------+--------- - 1| 21 -(1 row) - -step pinholder_commit: - COMMIT; - - -starting permutation: dml_begin dml_other_begin dml_key_share dml_other_key_share vacuumer_nonaggressive_vacuum pinholder_cursor dml_other_update dml_commit dml_other_commit vacuumer_nonaggressive_vacuum pinholder_commit vacuumer_nonaggressive_vacuum -step dml_begin: BEGIN; -step dml_other_begin: BEGIN; -step dml_key_share: SELECT id FROM smalltbl WHERE id = 3 FOR KEY SHARE; -id --- - 3 -(1 row) - -step dml_other_key_share: SELECT id FROM smalltbl WHERE id = 3 FOR KEY SHARE; -id --- - 3 -(1 row) - -step vacuumer_nonaggressive_vacuum: - VACUUM smalltbl; - -step pinholder_cursor: - BEGIN; - DECLARE c1 CURSOR FOR SELECT 1 AS dummy FROM smalltbl; - FETCH NEXT FROM c1; - -dummy ------ - 1 -(1 row) - -step dml_other_update: UPDATE smalltbl SET t = 'u' WHERE id = 3; -step dml_commit: COMMIT; -step dml_other_commit: COMMIT; -step vacuumer_nonaggressive_vacuum: - VACUUM smalltbl; - -step pinholder_commit: - COMMIT; - -step vacuumer_nonaggressive_vacuum: - VACUUM smalltbl; - +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/timeouts.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/timeouts.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/timeouts.out 2024-03-29 10:06:51.887270884 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/timeouts.out 2024-03-29 10:13:20.239275180 +0000 @@ -1,81 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: rdtbl sto locktbl -step rdtbl: SELECT * FROM accounts; -accountid|balance ----------+------- -checking | 600 -savings | 600 -(2 rows) - -step sto: SET statement_timeout = '10ms'; -step locktbl: LOCK TABLE accounts; -step locktbl: <... completed> -ERROR: canceling statement due to statement timeout - -starting permutation: rdtbl lto locktbl -step rdtbl: SELECT * FROM accounts; -accountid|balance ----------+------- -checking | 600 -savings | 600 -(2 rows) - -step lto: SET lock_timeout = '10ms'; -step locktbl: LOCK TABLE accounts; -step locktbl: <... completed> -ERROR: canceling statement due to lock timeout - -starting permutation: rdtbl lsto locktbl -step rdtbl: SELECT * FROM accounts; -accountid|balance ----------+------- -checking | 600 -savings | 600 -(2 rows) - -step lsto: SET lock_timeout = '10ms'; SET statement_timeout = '10s'; -step locktbl: LOCK TABLE accounts; -step locktbl: <... completed> -ERROR: canceling statement due to lock timeout - -starting permutation: rdtbl slto locktbl -step rdtbl: SELECT * FROM accounts; -accountid|balance ----------+------- -checking | 600 -savings | 600 -(2 rows) - -step slto: SET lock_timeout = '10s'; SET statement_timeout = '10ms'; -step locktbl: LOCK TABLE accounts; -step locktbl: <... completed> -ERROR: canceling statement due to statement timeout - -starting permutation: wrtbl sto update -step wrtbl: UPDATE accounts SET balance = balance + 100; -step sto: SET statement_timeout = '10ms'; -step update: DELETE FROM accounts WHERE accountid = 'checking'; -step update: <... completed> -ERROR: canceling statement due to statement timeout - -starting permutation: wrtbl lto update -step wrtbl: UPDATE accounts SET balance = balance + 100; -step lto: SET lock_timeout = '10ms'; -step update: DELETE FROM accounts WHERE accountid = 'checking'; -step update: <... completed> -ERROR: canceling statement due to lock timeout - -starting permutation: wrtbl lsto update -step wrtbl: UPDATE accounts SET balance = balance + 100; -step lsto: SET lock_timeout = '10ms'; SET statement_timeout = '10s'; -step update: DELETE FROM accounts WHERE accountid = 'checking'; -step update: <... completed> -ERROR: canceling statement due to lock timeout - -starting permutation: wrtbl slto update -step wrtbl: UPDATE accounts SET balance = balance + 100; -step slto: SET lock_timeout = '10s'; SET statement_timeout = '10ms'; -step update: DELETE FROM accounts WHERE accountid = 'checking'; -step update: <... completed> -ERROR: canceling statement due to statement timeout +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/vacuum-concurrent-drop.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/vacuum-concurrent-drop.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/vacuum-concurrent-drop.out 2024-03-29 10:06:51.891270879 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/vacuum-concurrent-drop.out 2024-03-29 10:13:20.259275175 +0000 @@ -1,76 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: lock vac_specified drop_and_commit -step lock: - BEGIN; - LOCK part1 IN SHARE MODE; - -step vac_specified: VACUUM part1, part2; -step drop_and_commit: - DROP TABLE part2; - COMMIT; - -s2: WARNING: skipping vacuum of "part2" --- relation no longer exists -step vac_specified: <... completed> - -starting permutation: lock vac_all_parts drop_and_commit -step lock: - BEGIN; - LOCK part1 IN SHARE MODE; - -step vac_all_parts: VACUUM parted; -step drop_and_commit: - DROP TABLE part2; - COMMIT; - -step vac_all_parts: <... completed> - -starting permutation: lock analyze_specified drop_and_commit -step lock: - BEGIN; - LOCK part1 IN SHARE MODE; - -step analyze_specified: ANALYZE part1, part2; -step drop_and_commit: - DROP TABLE part2; - COMMIT; - -s2: WARNING: skipping analyze of "part2" --- relation no longer exists -step analyze_specified: <... completed> - -starting permutation: lock analyze_all_parts drop_and_commit -step lock: - BEGIN; - LOCK part1 IN SHARE MODE; - -step analyze_all_parts: ANALYZE parted; -step drop_and_commit: - DROP TABLE part2; - COMMIT; - -step analyze_all_parts: <... completed> - -starting permutation: lock vac_analyze_specified drop_and_commit -step lock: - BEGIN; - LOCK part1 IN SHARE MODE; - -step vac_analyze_specified: VACUUM ANALYZE part1, part2; -step drop_and_commit: - DROP TABLE part2; - COMMIT; - -s2: WARNING: skipping vacuum of "part2" --- relation no longer exists -step vac_analyze_specified: <... completed> - -starting permutation: lock vac_analyze_all_parts drop_and_commit -step lock: - BEGIN; - LOCK part1 IN SHARE MODE; - -step vac_analyze_all_parts: VACUUM ANALYZE parted; -step drop_and_commit: - DROP TABLE part2; - COMMIT; - -step vac_analyze_all_parts: <... completed> +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/vacuum-conflict.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/vacuum-conflict.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/vacuum-conflict.out 2024-03-29 10:06:51.891270879 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/vacuum-conflict.out 2024-03-29 10:13:20.283275171 +0000 @@ -1,149 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1_begin s1_lock s2_auth s2_vacuum s1_commit s2_reset -step s1_begin: BEGIN; -step s1_lock: LOCK vacuum_tab IN SHARE UPDATE EXCLUSIVE MODE; -step s2_auth: SET ROLE regress_vacuum_conflict; -s2: WARNING: permission denied to vacuum "vacuum_tab", skipping it -step s2_vacuum: VACUUM vacuum_tab; -step s1_commit: COMMIT; -step s2_reset: RESET ROLE; - -starting permutation: s1_begin s2_auth s2_vacuum s1_lock s1_commit s2_reset -step s1_begin: BEGIN; -step s2_auth: SET ROLE regress_vacuum_conflict; -s2: WARNING: permission denied to vacuum "vacuum_tab", skipping it -step s2_vacuum: VACUUM vacuum_tab; -step s1_lock: LOCK vacuum_tab IN SHARE UPDATE EXCLUSIVE MODE; -step s1_commit: COMMIT; -step s2_reset: RESET ROLE; - -starting permutation: s1_begin s2_auth s1_lock s2_vacuum s1_commit s2_reset -step s1_begin: BEGIN; -step s2_auth: SET ROLE regress_vacuum_conflict; -step s1_lock: LOCK vacuum_tab IN SHARE UPDATE EXCLUSIVE MODE; -s2: WARNING: permission denied to vacuum "vacuum_tab", skipping it -step s2_vacuum: VACUUM vacuum_tab; -step s1_commit: COMMIT; -step s2_reset: RESET ROLE; - -starting permutation: s2_auth s2_vacuum s1_begin s1_lock s1_commit s2_reset -step s2_auth: SET ROLE regress_vacuum_conflict; -s2: WARNING: permission denied to vacuum "vacuum_tab", skipping it -step s2_vacuum: VACUUM vacuum_tab; -step s1_begin: BEGIN; -step s1_lock: LOCK vacuum_tab IN SHARE UPDATE EXCLUSIVE MODE; -step s1_commit: COMMIT; -step s2_reset: RESET ROLE; - -starting permutation: s1_begin s1_lock s2_auth s2_analyze s1_commit s2_reset -step s1_begin: BEGIN; -step s1_lock: LOCK vacuum_tab IN SHARE UPDATE EXCLUSIVE MODE; -step s2_auth: SET ROLE regress_vacuum_conflict; -s2: WARNING: permission denied to analyze "vacuum_tab", skipping it -step s2_analyze: ANALYZE vacuum_tab; -step s1_commit: COMMIT; -step s2_reset: RESET ROLE; - -starting permutation: s1_begin s2_auth s2_analyze s1_lock s1_commit s2_reset -step s1_begin: BEGIN; -step s2_auth: SET ROLE regress_vacuum_conflict; -s2: WARNING: permission denied to analyze "vacuum_tab", skipping it -step s2_analyze: ANALYZE vacuum_tab; -step s1_lock: LOCK vacuum_tab IN SHARE UPDATE EXCLUSIVE MODE; -step s1_commit: COMMIT; -step s2_reset: RESET ROLE; - -starting permutation: s1_begin s2_auth s1_lock s2_analyze s1_commit s2_reset -step s1_begin: BEGIN; -step s2_auth: SET ROLE regress_vacuum_conflict; -step s1_lock: LOCK vacuum_tab IN SHARE UPDATE EXCLUSIVE MODE; -s2: WARNING: permission denied to analyze "vacuum_tab", skipping it -step s2_analyze: ANALYZE vacuum_tab; -step s1_commit: COMMIT; -step s2_reset: RESET ROLE; - -starting permutation: s2_auth s2_analyze s1_begin s1_lock s1_commit s2_reset -step s2_auth: SET ROLE regress_vacuum_conflict; -s2: WARNING: permission denied to analyze "vacuum_tab", skipping it -step s2_analyze: ANALYZE vacuum_tab; -step s1_begin: BEGIN; -step s1_lock: LOCK vacuum_tab IN SHARE UPDATE EXCLUSIVE MODE; -step s1_commit: COMMIT; -step s2_reset: RESET ROLE; - -starting permutation: s1_begin s2_grant s1_lock s2_auth s2_vacuum s1_commit s2_reset -step s1_begin: BEGIN; -step s2_grant: ALTER TABLE vacuum_tab OWNER TO regress_vacuum_conflict; -step s1_lock: LOCK vacuum_tab IN SHARE UPDATE EXCLUSIVE MODE; -step s2_auth: SET ROLE regress_vacuum_conflict; -step s2_vacuum: VACUUM vacuum_tab; -step s1_commit: COMMIT; -step s2_vacuum: <... completed> -step s2_reset: RESET ROLE; - -starting permutation: s1_begin s2_grant s2_auth s2_vacuum s1_lock s1_commit s2_reset -step s1_begin: BEGIN; -step s2_grant: ALTER TABLE vacuum_tab OWNER TO regress_vacuum_conflict; -step s2_auth: SET ROLE regress_vacuum_conflict; -step s2_vacuum: VACUUM vacuum_tab; -step s1_lock: LOCK vacuum_tab IN SHARE UPDATE EXCLUSIVE MODE; -step s1_commit: COMMIT; -step s2_reset: RESET ROLE; - -starting permutation: s1_begin s2_grant s2_auth s1_lock s2_vacuum s1_commit s2_reset -step s1_begin: BEGIN; -step s2_grant: ALTER TABLE vacuum_tab OWNER TO regress_vacuum_conflict; -step s2_auth: SET ROLE regress_vacuum_conflict; -step s1_lock: LOCK vacuum_tab IN SHARE UPDATE EXCLUSIVE MODE; -step s2_vacuum: VACUUM vacuum_tab; -step s1_commit: COMMIT; -step s2_vacuum: <... completed> -step s2_reset: RESET ROLE; - -starting permutation: s2_grant s2_auth s2_vacuum s1_begin s1_lock s1_commit s2_reset -step s2_grant: ALTER TABLE vacuum_tab OWNER TO regress_vacuum_conflict; -step s2_auth: SET ROLE regress_vacuum_conflict; -step s2_vacuum: VACUUM vacuum_tab; -step s1_begin: BEGIN; -step s1_lock: LOCK vacuum_tab IN SHARE UPDATE EXCLUSIVE MODE; -step s1_commit: COMMIT; -step s2_reset: RESET ROLE; - -starting permutation: s1_begin s2_grant s1_lock s2_auth s2_analyze s1_commit s2_reset -step s1_begin: BEGIN; -step s2_grant: ALTER TABLE vacuum_tab OWNER TO regress_vacuum_conflict; -step s1_lock: LOCK vacuum_tab IN SHARE UPDATE EXCLUSIVE MODE; -step s2_auth: SET ROLE regress_vacuum_conflict; -step s2_analyze: ANALYZE vacuum_tab; -step s1_commit: COMMIT; -step s2_analyze: <... completed> -step s2_reset: RESET ROLE; - -starting permutation: s1_begin s2_grant s2_auth s2_analyze s1_lock s1_commit s2_reset -step s1_begin: BEGIN; -step s2_grant: ALTER TABLE vacuum_tab OWNER TO regress_vacuum_conflict; -step s2_auth: SET ROLE regress_vacuum_conflict; -step s2_analyze: ANALYZE vacuum_tab; -step s1_lock: LOCK vacuum_tab IN SHARE UPDATE EXCLUSIVE MODE; -step s1_commit: COMMIT; -step s2_reset: RESET ROLE; - -starting permutation: s1_begin s2_grant s2_auth s1_lock s2_analyze s1_commit s2_reset -step s1_begin: BEGIN; -step s2_grant: ALTER TABLE vacuum_tab OWNER TO regress_vacuum_conflict; -step s2_auth: SET ROLE regress_vacuum_conflict; -step s1_lock: LOCK vacuum_tab IN SHARE UPDATE EXCLUSIVE MODE; -step s2_analyze: ANALYZE vacuum_tab; -step s1_commit: COMMIT; -step s2_analyze: <... completed> -step s2_reset: RESET ROLE; - -starting permutation: s2_grant s2_auth s2_analyze s1_begin s1_lock s1_commit s2_reset -step s2_grant: ALTER TABLE vacuum_tab OWNER TO regress_vacuum_conflict; -step s2_auth: SET ROLE regress_vacuum_conflict; -step s2_analyze: ANALYZE vacuum_tab; -step s1_begin: BEGIN; -step s1_lock: LOCK vacuum_tab IN SHARE UPDATE EXCLUSIVE MODE; -step s1_commit: COMMIT; -step s2_reset: RESET ROLE; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/vacuum-skip-locked.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/vacuum-skip-locked.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/vacuum-skip-locked.out 2024-03-29 10:06:51.891270879 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/vacuum-skip-locked.out 2024-03-29 10:13:20.307275167 +0000 @@ -1,171 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: lock_share vac_specified commit -step lock_share: - BEGIN; - LOCK part1 IN SHARE MODE; - -s2: WARNING: skipping vacuum of "part1" --- lock not available -step vac_specified: VACUUM (SKIP_LOCKED) part1, part2; -step commit: - COMMIT; - - -starting permutation: lock_share vac_all_parts commit -step lock_share: - BEGIN; - LOCK part1 IN SHARE MODE; - -step vac_all_parts: VACUUM (SKIP_LOCKED) parted; -step commit: - COMMIT; - - -starting permutation: lock_share analyze_specified commit -step lock_share: - BEGIN; - LOCK part1 IN SHARE MODE; - -s2: WARNING: skipping analyze of "part1" --- lock not available -step analyze_specified: ANALYZE (SKIP_LOCKED) part1, part2; -step commit: - COMMIT; - - -starting permutation: lock_share analyze_all_parts commit -step lock_share: - BEGIN; - LOCK part1 IN SHARE MODE; - -step analyze_all_parts: ANALYZE (SKIP_LOCKED) parted; -step commit: - COMMIT; - - -starting permutation: lock_share vac_analyze_specified commit -step lock_share: - BEGIN; - LOCK part1 IN SHARE MODE; - -s2: WARNING: skipping vacuum of "part1" --- lock not available -step vac_analyze_specified: VACUUM (ANALYZE, SKIP_LOCKED) part1, part2; -step commit: - COMMIT; - - -starting permutation: lock_share vac_analyze_all_parts commit -step lock_share: - BEGIN; - LOCK part1 IN SHARE MODE; - -step vac_analyze_all_parts: VACUUM (ANALYZE, SKIP_LOCKED) parted; -step commit: - COMMIT; - - -starting permutation: lock_share vac_full_specified commit -step lock_share: - BEGIN; - LOCK part1 IN SHARE MODE; - -s2: WARNING: skipping vacuum of "part1" --- lock not available -step vac_full_specified: VACUUM (SKIP_LOCKED, FULL) part1, part2; -step commit: - COMMIT; - - -starting permutation: lock_share vac_full_all_parts commit -step lock_share: - BEGIN; - LOCK part1 IN SHARE MODE; - -step vac_full_all_parts: VACUUM (SKIP_LOCKED, FULL) parted; -step commit: - COMMIT; - - -starting permutation: lock_access_exclusive vac_specified commit -step lock_access_exclusive: - BEGIN; - LOCK part1 IN ACCESS EXCLUSIVE MODE; - -s2: WARNING: skipping vacuum of "part1" --- lock not available -step vac_specified: VACUUM (SKIP_LOCKED) part1, part2; -step commit: - COMMIT; - - -starting permutation: lock_access_exclusive vac_all_parts commit -step lock_access_exclusive: - BEGIN; - LOCK part1 IN ACCESS EXCLUSIVE MODE; - -step vac_all_parts: VACUUM (SKIP_LOCKED) parted; -step commit: - COMMIT; - - -starting permutation: lock_access_exclusive analyze_specified commit -step lock_access_exclusive: - BEGIN; - LOCK part1 IN ACCESS EXCLUSIVE MODE; - -s2: WARNING: skipping analyze of "part1" --- lock not available -step analyze_specified: ANALYZE (SKIP_LOCKED) part1, part2; -step commit: - COMMIT; - - -starting permutation: lock_access_exclusive analyze_all_parts commit -step lock_access_exclusive: - BEGIN; - LOCK part1 IN ACCESS EXCLUSIVE MODE; - -step analyze_all_parts: ANALYZE (SKIP_LOCKED) parted; -step commit: - COMMIT; - -step analyze_all_parts: <... completed> - -starting permutation: lock_access_exclusive vac_analyze_specified commit -step lock_access_exclusive: - BEGIN; - LOCK part1 IN ACCESS EXCLUSIVE MODE; - -s2: WARNING: skipping vacuum of "part1" --- lock not available -step vac_analyze_specified: VACUUM (ANALYZE, SKIP_LOCKED) part1, part2; -step commit: - COMMIT; - - -starting permutation: lock_access_exclusive vac_analyze_all_parts commit -step lock_access_exclusive: - BEGIN; - LOCK part1 IN ACCESS EXCLUSIVE MODE; - -step vac_analyze_all_parts: VACUUM (ANALYZE, SKIP_LOCKED) parted; -step commit: - COMMIT; - -step vac_analyze_all_parts: <... completed> - -starting permutation: lock_access_exclusive vac_full_specified commit -step lock_access_exclusive: - BEGIN; - LOCK part1 IN ACCESS EXCLUSIVE MODE; - -s2: WARNING: skipping vacuum of "part1" --- lock not available -step vac_full_specified: VACUUM (SKIP_LOCKED, FULL) part1, part2; -step commit: - COMMIT; - - -starting permutation: lock_access_exclusive vac_full_all_parts commit -step lock_access_exclusive: - BEGIN; - LOCK part1 IN ACCESS EXCLUSIVE MODE; - -step vac_full_all_parts: VACUUM (SKIP_LOCKED, FULL) parted; -step commit: - COMMIT; - +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/stats.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/stats.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/stats.out 2024-03-29 10:06:51.887270884 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/stats.out 2024-03-29 10:13:20.327275162 +0000 @@ -1,3735 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1_track_funcs_none s1_func_stats s1_func_call s1_func_call s1_ff s1_func_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_track_funcs_none: SET track_functions = 'none'; -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| | | -(1 row) - -step s1_func_call: SELECT test_stat_func(); -test_stat_func --------------- - -(1 row) - -step s1_func_call: SELECT test_stat_func(); -test_stat_func --------------- - -(1 row) - -step s1_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| | | -(1 row) - - -starting permutation: s1_track_funcs_all s1_func_stats s1_func_call s1_func_call s1_ff s1_func_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_track_funcs_all: SET track_functions = 'all'; -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| | | -(1 row) - -step s1_func_call: SELECT test_stat_func(); -test_stat_func --------------- - -(1 row) - -step s1_func_call: SELECT test_stat_func(); -test_stat_func --------------- - -(1 row) - -step s1_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| 2|t |t -(1 row) - - -starting permutation: s1_track_funcs_all s2_track_funcs_all s1_func_stats s2_func_stats s1_func_call s2_func_call s1_func_call s2_func_call s2_func_call s1_ff s2_ff s1_func_stats s2_func_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_track_funcs_all: SET track_functions = 'all'; -step s2_track_funcs_all: SET track_functions = 'all'; -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| | | -(1 row) - -step s2_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| | | -(1 row) - -step s1_func_call: SELECT test_stat_func(); -test_stat_func --------------- - -(1 row) - -step s2_func_call: SELECT test_stat_func() -test_stat_func --------------- - -(1 row) - -step s1_func_call: SELECT test_stat_func(); -test_stat_func --------------- - -(1 row) - -step s2_func_call: SELECT test_stat_func() -test_stat_func --------------- - -(1 row) - -step s2_func_call: SELECT test_stat_func() -test_stat_func --------------- - -(1 row) - -step s1_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| 5|t |t -(1 row) - -step s2_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| 5|t |t -(1 row) - - -starting permutation: s1_track_funcs_all s2_track_funcs_all s1_func_stats s2_func_stats s1_func_call s1_ff s2_func_call s2_func_call s2_ff s1_func_stats s2_func_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_track_funcs_all: SET track_functions = 'all'; -step s2_track_funcs_all: SET track_functions = 'all'; -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| | | -(1 row) - -step s2_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| | | -(1 row) - -step s1_func_call: SELECT test_stat_func(); -test_stat_func --------------- - -(1 row) - -step s1_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s2_func_call: SELECT test_stat_func() -test_stat_func --------------- - -(1 row) - -step s2_func_call: SELECT test_stat_func() -test_stat_func --------------- - -(1 row) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| 3|t |t -(1 row) - -step s2_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| 3|t |t -(1 row) - - -starting permutation: s1_track_funcs_all s2_track_funcs_all s1_func_stats s2_func_stats s1_begin s1_func_call s1_func_call s1_commit s1_ff s1_func_stats s2_func_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_track_funcs_all: SET track_functions = 'all'; -step s2_track_funcs_all: SET track_functions = 'all'; -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| | | -(1 row) - -step s2_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| | | -(1 row) - -step s1_begin: BEGIN; -step s1_func_call: SELECT test_stat_func(); -test_stat_func --------------- - -(1 row) - -step s1_func_call: SELECT test_stat_func(); -test_stat_func --------------- - -(1 row) - -step s1_commit: COMMIT; -step s1_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| 2|t |t -(1 row) - -step s2_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| 2|t |t -(1 row) - - -starting permutation: s1_track_funcs_all s2_track_funcs_all s1_func_stats s2_func_stats s1_begin s1_func_call s2_func_call s1_func_drop s2_func_call s2_ff s2_func_stats s1_commit s1_ff s1_func_stats s2_func_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_track_funcs_all: SET track_functions = 'all'; -step s2_track_funcs_all: SET track_functions = 'all'; -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| | | -(1 row) - -step s2_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| | | -(1 row) - -step s1_begin: BEGIN; -step s1_func_call: SELECT test_stat_func(); -test_stat_func --------------- - -(1 row) - -step s2_func_call: SELECT test_stat_func() -test_stat_func --------------- - -(1 row) - -step s1_func_drop: DROP FUNCTION test_stat_func(); -step s2_func_call: SELECT test_stat_func() -test_stat_func --------------- - -(1 row) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s2_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| 2|t |t -(1 row) - -step s1_commit: COMMIT; -step s1_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| | | -(1 row) - -step s2_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| | | -(1 row) - - -starting permutation: s1_track_funcs_all s2_track_funcs_all s1_func_stats s2_func_stats s1_begin s1_func_call s2_func_call s1_func_drop s2_func_call s2_ff s2_func_stats s1_rollback s1_ff s1_func_stats s2_func_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_track_funcs_all: SET track_functions = 'all'; -step s2_track_funcs_all: SET track_functions = 'all'; -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| | | -(1 row) - -step s2_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| | | -(1 row) - -step s1_begin: BEGIN; -step s1_func_call: SELECT test_stat_func(); -test_stat_func --------------- - -(1 row) - -step s2_func_call: SELECT test_stat_func() -test_stat_func --------------- - -(1 row) - -step s1_func_drop: DROP FUNCTION test_stat_func(); -step s2_func_call: SELECT test_stat_func() -test_stat_func --------------- - -(1 row) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s2_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| 2|t |t -(1 row) - -step s1_rollback: ROLLBACK; -step s1_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| 3|t |t -(1 row) - -step s2_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| 3|t |t -(1 row) - - -starting permutation: s1_track_funcs_all s2_track_funcs_all s2_func_call s2_ff s2_begin s2_func_call_ifexists s1_func_drop s1_func_stats s2_commit s2_ff s1_func_stats s2_func_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_track_funcs_all: SET track_functions = 'all'; -step s2_track_funcs_all: SET track_functions = 'all'; -step s2_func_call: SELECT test_stat_func() -test_stat_func --------------- - -(1 row) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s2_begin: BEGIN; -step s2_func_call_ifexists: SELECT test_stat_func_ifexists(); -test_stat_func_ifexists ------------------------ - -(1 row) - -step s1_func_drop: DROP FUNCTION test_stat_func(); -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| | | -(1 row) - -step s2_commit: COMMIT; -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| | | -(1 row) - -step s2_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| | | -(1 row) - - -starting permutation: s1_track_funcs_all s2_track_funcs_all s2_begin s2_func_call_ifexists s1_func_drop s1_func_stats s2_commit s2_ff s1_func_stats s2_func_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_track_funcs_all: SET track_functions = 'all'; -step s2_track_funcs_all: SET track_functions = 'all'; -step s2_begin: BEGIN; -step s2_func_call_ifexists: SELECT test_stat_func_ifexists(); -test_stat_func_ifexists ------------------------ - -(1 row) - -step s1_func_drop: DROP FUNCTION test_stat_func(); -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| | | -(1 row) - -step s2_commit: COMMIT; -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| | | -(1 row) - -step s2_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| | | -(1 row) - - -starting permutation: s1_track_funcs_all s2_track_funcs_all s1_func_call s2_begin s2_func_call_ifexists s1_func_drop s2_func_call_ifexists s2_commit s2_ff s1_func_stats s2_func_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_track_funcs_all: SET track_functions = 'all'; -step s2_track_funcs_all: SET track_functions = 'all'; -step s1_func_call: SELECT test_stat_func(); -test_stat_func --------------- - -(1 row) - -step s2_begin: BEGIN; -step s2_func_call_ifexists: SELECT test_stat_func_ifexists(); -test_stat_func_ifexists ------------------------ - -(1 row) - -step s1_func_drop: DROP FUNCTION test_stat_func(); -step s2_func_call_ifexists: SELECT test_stat_func_ifexists(); -test_stat_func_ifexists ------------------------ - -(1 row) - -step s2_commit: COMMIT; -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| | | -(1 row) - -step s2_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| | | -(1 row) - - -starting permutation: s1_track_funcs_all s2_track_funcs_none s1_func_call s2_begin s2_func_call_ifexists s1_ff s1_func_stats s1_func_drop s2_track_funcs_none s1_func_stats s2_func_call_ifexists s2_commit s2_ff s1_func_stats s2_func_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_track_funcs_all: SET track_functions = 'all'; -step s2_track_funcs_none: SET track_functions = 'none'; -step s1_func_call: SELECT test_stat_func(); -test_stat_func --------------- - -(1 row) - -step s2_begin: BEGIN; -step s2_func_call_ifexists: SELECT test_stat_func_ifexists(); -test_stat_func_ifexists ------------------------ - -(1 row) - -step s1_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| 1|t |t -(1 row) - -step s1_func_drop: DROP FUNCTION test_stat_func(); -step s2_track_funcs_none: SET track_functions = 'none'; -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| | | -(1 row) - -step s2_func_call_ifexists: SELECT test_stat_func_ifexists(); -test_stat_func_ifexists ------------------------ - -(1 row) - -step s2_commit: COMMIT; -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| | | -(1 row) - -step s2_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| | | -(1 row) - - -starting permutation: s1_track_funcs_all s2_track_funcs_none s1_func_call s2_begin s2_func_call_ifexists s1_ff s1_func_stats s1_func_drop s2_track_funcs_all s1_func_stats s2_func_call_ifexists s2_commit s2_ff s1_func_stats s2_func_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_track_funcs_all: SET track_functions = 'all'; -step s2_track_funcs_none: SET track_functions = 'none'; -step s1_func_call: SELECT test_stat_func(); -test_stat_func --------------- - -(1 row) - -step s2_begin: BEGIN; -step s2_func_call_ifexists: SELECT test_stat_func_ifexists(); -test_stat_func_ifexists ------------------------ - -(1 row) - -step s1_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| 1|t |t -(1 row) - -step s1_func_drop: DROP FUNCTION test_stat_func(); -step s2_track_funcs_all: SET track_functions = 'all'; -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| | | -(1 row) - -step s2_func_call_ifexists: SELECT test_stat_func_ifexists(); -test_stat_func_ifexists ------------------------ - -(1 row) - -step s2_commit: COMMIT; -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| | | -(1 row) - -step s2_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| | | -(1 row) - - -starting permutation: s1_track_funcs_all s2_track_funcs_all s1_func_call s2_func_call s2_func_call2 s1_ff s2_ff s1_func_stats s2_func_call s2_func_call2 s2_ff s1_func_stats s1_func_stats2 s1_func_stats s1_func_stats_reset s1_func_stats s1_func_stats2 s1_func_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_track_funcs_all: SET track_functions = 'all'; -step s2_track_funcs_all: SET track_functions = 'all'; -step s1_func_call: SELECT test_stat_func(); -test_stat_func --------------- - -(1 row) - -step s2_func_call: SELECT test_stat_func() -test_stat_func --------------- - -(1 row) - -step s2_func_call2: SELECT test_stat_func2() -test_stat_func2 ---------------- - -(1 row) - -step s1_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| 2|t |t -(1 row) - -step s2_func_call: SELECT test_stat_func() -test_stat_func --------------- - -(1 row) - -step s2_func_call2: SELECT test_stat_func2() -test_stat_func2 ---------------- - -(1 row) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| 3|t |t -(1 row) - -step s1_func_stats2: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func2' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ----------------+--------------------------+----------------+--------------- -test_stat_func2| 2|t |t -(1 row) - -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| 3|t |t -(1 row) - -step s1_func_stats_reset: SELECT pg_stat_reset_single_function_counters('test_stat_func'::regproc); -pg_stat_reset_single_function_counters --------------------------------------- - -(1 row) - -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| 0|f |f -(1 row) - -step s1_func_stats2: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func2' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ----------------+--------------------------+----------------+--------------- -test_stat_func2| 2|t |t -(1 row) - -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| 0|f |f -(1 row) - - -starting permutation: s1_func_stats_nonexistent s1_func_stats_reset_nonexistent s1_func_stats_nonexistent -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_func_stats_nonexistent: - SELECT pg_stat_get_function_calls(12000); - -pg_stat_get_function_calls --------------------------- - -(1 row) - -step s1_func_stats_reset_nonexistent: SELECT pg_stat_reset_single_function_counters(12000); -pg_stat_reset_single_function_counters --------------------------------------- - -(1 row) - -step s1_func_stats_nonexistent: - SELECT pg_stat_get_function_calls(12000); - -pg_stat_get_function_calls --------------------------- - -(1 row) - - -starting permutation: s1_track_funcs_all s2_track_funcs_all s1_func_call s2_func_call s2_func_call2 s1_ff s2_ff s1_func_stats s1_func_stats2 s1_func_stats s1_reset s1_func_stats s1_func_stats2 s1_func_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_track_funcs_all: SET track_functions = 'all'; -step s2_track_funcs_all: SET track_functions = 'all'; -step s1_func_call: SELECT test_stat_func(); -test_stat_func --------------- - -(1 row) - -step s2_func_call: SELECT test_stat_func() -test_stat_func --------------- - -(1 row) - -step s2_func_call2: SELECT test_stat_func2() -test_stat_func2 ---------------- - -(1 row) - -step s1_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| 2|t |t -(1 row) - -step s1_func_stats2: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func2' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ----------------+--------------------------+----------------+--------------- -test_stat_func2| 1|t |t -(1 row) - -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| 2|t |t -(1 row) - -step s1_reset: SELECT pg_stat_reset(); -pg_stat_reset -------------- - -(1 row) - -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| 0|f |f -(1 row) - -step s1_func_stats2: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func2' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ----------------+--------------------------+----------------+--------------- -test_stat_func2| 0|f |f -(1 row) - -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| 0|f |f -(1 row) - - -starting permutation: s1_track_funcs_all s1_fetch_consistency_none s1_func_call s1_ff s1_func_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_track_funcs_all: SET track_functions = 'all'; -step s1_fetch_consistency_none: SET stats_fetch_consistency = 'none'; -step s1_func_call: SELECT test_stat_func(); -test_stat_func --------------- - -(1 row) - -step s1_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| 1|t |t -(1 row) - - -starting permutation: s1_track_funcs_all s1_fetch_consistency_cache s1_func_call s1_ff s1_func_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_track_funcs_all: SET track_functions = 'all'; -step s1_fetch_consistency_cache: SET stats_fetch_consistency = 'cache'; -step s1_func_call: SELECT test_stat_func(); -test_stat_func --------------- - -(1 row) - -step s1_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| 1|t |t -(1 row) - - -starting permutation: s1_track_funcs_all s1_fetch_consistency_snapshot s1_func_call s1_ff s1_func_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_track_funcs_all: SET track_functions = 'all'; -step s1_fetch_consistency_snapshot: SET stats_fetch_consistency = 'snapshot'; -step s1_func_call: SELECT test_stat_func(); -test_stat_func --------------- - -(1 row) - -step s1_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| 1|t |t -(1 row) - - -starting permutation: s1_track_funcs_all s2_track_funcs_all s1_fetch_consistency_none s2_func_call s2_ff s1_begin s1_func_stats s2_func_call s2_ff s1_func_stats s1_commit -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_track_funcs_all: SET track_functions = 'all'; -step s2_track_funcs_all: SET track_functions = 'all'; -step s1_fetch_consistency_none: SET stats_fetch_consistency = 'none'; -step s2_func_call: SELECT test_stat_func() -test_stat_func --------------- - -(1 row) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_begin: BEGIN; -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| 1|t |t -(1 row) - -step s2_func_call: SELECT test_stat_func() -test_stat_func --------------- - -(1 row) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| 2|t |t -(1 row) - -step s1_commit: COMMIT; - -starting permutation: s1_track_funcs_all s2_track_funcs_all s1_fetch_consistency_cache s2_func_call s2_func_call2 s2_ff s1_begin s1_func_stats s2_func_call s2_func_call2 s2_ff s1_func_stats s1_func_stats2 s1_commit -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_track_funcs_all: SET track_functions = 'all'; -step s2_track_funcs_all: SET track_functions = 'all'; -step s1_fetch_consistency_cache: SET stats_fetch_consistency = 'cache'; -step s2_func_call: SELECT test_stat_func() -test_stat_func --------------- - -(1 row) - -step s2_func_call2: SELECT test_stat_func2() -test_stat_func2 ---------------- - -(1 row) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_begin: BEGIN; -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| 1|t |t -(1 row) - -step s2_func_call: SELECT test_stat_func() -test_stat_func --------------- - -(1 row) - -step s2_func_call2: SELECT test_stat_func2() -test_stat_func2 ---------------- - -(1 row) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| 1|t |t -(1 row) - -step s1_func_stats2: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func2' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ----------------+--------------------------+----------------+--------------- -test_stat_func2| 2|t |t -(1 row) - -step s1_commit: COMMIT; - -starting permutation: s1_track_funcs_all s2_track_funcs_all s1_fetch_consistency_snapshot s2_func_call s2_func_call2 s2_ff s1_begin s1_func_stats s2_func_call s2_func_call2 s2_ff s1_func_stats s1_func_stats2 s1_commit -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_track_funcs_all: SET track_functions = 'all'; -step s2_track_funcs_all: SET track_functions = 'all'; -step s1_fetch_consistency_snapshot: SET stats_fetch_consistency = 'snapshot'; -step s2_func_call: SELECT test_stat_func() -test_stat_func --------------- - -(1 row) - -step s2_func_call2: SELECT test_stat_func2() -test_stat_func2 ---------------- - -(1 row) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_begin: BEGIN; -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| 1|t |t -(1 row) - -step s2_func_call: SELECT test_stat_func() -test_stat_func --------------- - -(1 row) - -step s2_func_call2: SELECT test_stat_func2() -test_stat_func2 ---------------- - -(1 row) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| 1|t |t -(1 row) - -step s1_func_stats2: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func2' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ----------------+--------------------------+----------------+--------------- -test_stat_func2| 1|t |t -(1 row) - -step s1_commit: COMMIT; - -starting permutation: s1_fetch_consistency_none s1_begin s1_func_stats_nonexistent s1_func_stats_nonexistent s1_commit -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_fetch_consistency_none: SET stats_fetch_consistency = 'none'; -step s1_begin: BEGIN; -step s1_func_stats_nonexistent: - SELECT pg_stat_get_function_calls(12000); - -pg_stat_get_function_calls --------------------------- - -(1 row) - -step s1_func_stats_nonexistent: - SELECT pg_stat_get_function_calls(12000); - -pg_stat_get_function_calls --------------------------- - -(1 row) - -step s1_commit: COMMIT; - -starting permutation: s1_fetch_consistency_cache s1_begin s1_func_stats_nonexistent s1_func_stats_nonexistent s1_commit -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_fetch_consistency_cache: SET stats_fetch_consistency = 'cache'; -step s1_begin: BEGIN; -step s1_func_stats_nonexistent: - SELECT pg_stat_get_function_calls(12000); - -pg_stat_get_function_calls --------------------------- - -(1 row) - -step s1_func_stats_nonexistent: - SELECT pg_stat_get_function_calls(12000); - -pg_stat_get_function_calls --------------------------- - -(1 row) - -step s1_commit: COMMIT; - -starting permutation: s1_fetch_consistency_snapshot s1_begin s1_func_stats_nonexistent s1_func_stats_nonexistent s1_commit -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_fetch_consistency_snapshot: SET stats_fetch_consistency = 'snapshot'; -step s1_begin: BEGIN; -step s1_func_stats_nonexistent: - SELECT pg_stat_get_function_calls(12000); - -pg_stat_get_function_calls --------------------------- - -(1 row) - -step s1_func_stats_nonexistent: - SELECT pg_stat_get_function_calls(12000); - -pg_stat_get_function_calls --------------------------- - -(1 row) - -step s1_commit: COMMIT; - -starting permutation: s1_track_funcs_all s2_track_funcs_all s1_begin s1_func_call s2_func_call s1_func_drop s2_func_call s2_ff s1_prepare_a s2_func_call s2_ff s1_func_call s1_ff s1_func_stats s1_commit_prepared_a s1_func_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_track_funcs_all: SET track_functions = 'all'; -step s2_track_funcs_all: SET track_functions = 'all'; -step s1_begin: BEGIN; -step s1_func_call: SELECT test_stat_func(); -test_stat_func --------------- - -(1 row) - -step s2_func_call: SELECT test_stat_func() -test_stat_func --------------- - -(1 row) - -step s1_func_drop: DROP FUNCTION test_stat_func(); -step s2_func_call: SELECT test_stat_func() -test_stat_func --------------- - -(1 row) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_prepare_a: PREPARE TRANSACTION 'a'; -step s2_func_call: SELECT test_stat_func() -test_stat_func --------------- - -(1 row) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_func_call: SELECT test_stat_func(); -test_stat_func --------------- - -(1 row) - -step s1_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| 5|t |t -(1 row) - -step s1_commit_prepared_a: COMMIT PREPARED 'a'; -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| | | -(1 row) - - -starting permutation: s1_track_funcs_all s2_track_funcs_all s1_begin s1_func_call s2_func_call s1_func_drop s2_func_call s2_ff s1_prepare_a s2_func_call s2_ff s1_func_call s1_ff s1_func_stats s1_rollback_prepared_a s1_func_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_track_funcs_all: SET track_functions = 'all'; -step s2_track_funcs_all: SET track_functions = 'all'; -step s1_begin: BEGIN; -step s1_func_call: SELECT test_stat_func(); -test_stat_func --------------- - -(1 row) - -step s2_func_call: SELECT test_stat_func() -test_stat_func --------------- - -(1 row) - -step s1_func_drop: DROP FUNCTION test_stat_func(); -step s2_func_call: SELECT test_stat_func() -test_stat_func --------------- - -(1 row) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_prepare_a: PREPARE TRANSACTION 'a'; -step s2_func_call: SELECT test_stat_func() -test_stat_func --------------- - -(1 row) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_func_call: SELECT test_stat_func(); -test_stat_func --------------- - -(1 row) - -step s1_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| 5|t |t -(1 row) - -step s1_rollback_prepared_a: ROLLBACK PREPARED 'a'; -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| 5|t |t -(1 row) - - -starting permutation: s1_track_funcs_all s2_track_funcs_all s1_begin s1_func_call s2_func_call s1_func_drop s2_func_call s2_ff s1_prepare_a s2_func_call s2_ff s1_func_call s1_ff s1_func_stats s2_commit_prepared_a s1_func_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_track_funcs_all: SET track_functions = 'all'; -step s2_track_funcs_all: SET track_functions = 'all'; -step s1_begin: BEGIN; -step s1_func_call: SELECT test_stat_func(); -test_stat_func --------------- - -(1 row) - -step s2_func_call: SELECT test_stat_func() -test_stat_func --------------- - -(1 row) - -step s1_func_drop: DROP FUNCTION test_stat_func(); -step s2_func_call: SELECT test_stat_func() -test_stat_func --------------- - -(1 row) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_prepare_a: PREPARE TRANSACTION 'a'; -step s2_func_call: SELECT test_stat_func() -test_stat_func --------------- - -(1 row) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_func_call: SELECT test_stat_func(); -test_stat_func --------------- - -(1 row) - -step s1_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| 5|t |t -(1 row) - -step s2_commit_prepared_a: COMMIT PREPARED 'a'; -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| | | -(1 row) - - -starting permutation: s1_track_funcs_all s2_track_funcs_all s1_begin s1_func_call s2_func_call s1_func_drop s2_func_call s2_ff s1_prepare_a s2_func_call s2_ff s1_func_call s1_ff s1_func_stats s2_rollback_prepared_a s1_func_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_track_funcs_all: SET track_functions = 'all'; -step s2_track_funcs_all: SET track_functions = 'all'; -step s1_begin: BEGIN; -step s1_func_call: SELECT test_stat_func(); -test_stat_func --------------- - -(1 row) - -step s2_func_call: SELECT test_stat_func() -test_stat_func --------------- - -(1 row) - -step s1_func_drop: DROP FUNCTION test_stat_func(); -step s2_func_call: SELECT test_stat_func() -test_stat_func --------------- - -(1 row) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_prepare_a: PREPARE TRANSACTION 'a'; -step s2_func_call: SELECT test_stat_func() -test_stat_func --------------- - -(1 row) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_func_call: SELECT test_stat_func(); -test_stat_func --------------- - -(1 row) - -step s1_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| 5|t |t -(1 row) - -step s2_rollback_prepared_a: ROLLBACK PREPARED 'a'; -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| 5|t |t -(1 row) - - -starting permutation: s1_table_select s1_table_insert s2_table_select s2_table_update_k1 s1_ff s2_table_update_k1 s1_table_drop s2_ff s1_table_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_table_select: SELECT * FROM test_stat_tab ORDER BY key, value; -key|value ----+----- -k0 | 1 -(1 row) - -step s1_table_insert: INSERT INTO test_stat_tab(key, value) VALUES('k1', 1), ('k2', 1), ('k3', 1); -step s2_table_select: SELECT * FROM test_stat_tab ORDER BY key, value; -key|value ----+----- -k0 | 1 -k1 | 1 -k2 | 1 -k3 | 1 -(4 rows) - -step s2_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1'; -step s1_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s2_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1'; -step s1_table_drop: DROP TABLE test_stat_tab; -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_table_stats: - SELECT - pg_stat_get_numscans(tso.oid) AS seq_scan, - pg_stat_get_tuples_returned(tso.oid) AS seq_tup_read, - pg_stat_get_tuples_inserted(tso.oid) AS n_tup_ins, - pg_stat_get_tuples_updated(tso.oid) AS n_tup_upd, - pg_stat_get_tuples_deleted(tso.oid) AS n_tup_del, - pg_stat_get_live_tuples(tso.oid) AS n_live_tup, - pg_stat_get_dead_tuples(tso.oid) AS n_dead_tup, - pg_stat_get_vacuum_count(tso.oid) AS vacuum_count - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_tab' - -seq_scan|seq_tup_read|n_tup_ins|n_tup_upd|n_tup_del|n_live_tup|n_dead_tup|vacuum_count ---------+------------+---------+---------+---------+----------+----------+------------ - 0| 0| 0| 0| 0| 0| 0| 0 -(1 row) - - -starting permutation: s1_table_select s1_table_insert s2_table_select s2_table_update_k1 s2_table_update_k1 s1_table_drop s1_table_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_table_select: SELECT * FROM test_stat_tab ORDER BY key, value; -key|value ----+----- -k0 | 1 -(1 row) - -step s1_table_insert: INSERT INTO test_stat_tab(key, value) VALUES('k1', 1), ('k2', 1), ('k3', 1); -step s2_table_select: SELECT * FROM test_stat_tab ORDER BY key, value; -key|value ----+----- -k0 | 1 -k1 | 1 -k2 | 1 -k3 | 1 -(4 rows) - -step s2_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1'; -step s2_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1'; -step s1_table_drop: DROP TABLE test_stat_tab; -step s1_table_stats: - SELECT - pg_stat_get_numscans(tso.oid) AS seq_scan, - pg_stat_get_tuples_returned(tso.oid) AS seq_tup_read, - pg_stat_get_tuples_inserted(tso.oid) AS n_tup_ins, - pg_stat_get_tuples_updated(tso.oid) AS n_tup_upd, - pg_stat_get_tuples_deleted(tso.oid) AS n_tup_del, - pg_stat_get_live_tuples(tso.oid) AS n_live_tup, - pg_stat_get_dead_tuples(tso.oid) AS n_dead_tup, - pg_stat_get_vacuum_count(tso.oid) AS vacuum_count - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_tab' - -seq_scan|seq_tup_read|n_tup_ins|n_tup_upd|n_tup_del|n_live_tup|n_dead_tup|vacuum_count ---------+------------+---------+---------+---------+----------+----------+------------ - 0| 0| 0| 0| 0| 0| 0| 0 -(1 row) - - -starting permutation: s1_track_counts_off s1_table_stats s1_track_counts_on -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_track_counts_off: SET track_counts = off; -step s1_table_stats: - SELECT - pg_stat_get_numscans(tso.oid) AS seq_scan, - pg_stat_get_tuples_returned(tso.oid) AS seq_tup_read, - pg_stat_get_tuples_inserted(tso.oid) AS n_tup_ins, - pg_stat_get_tuples_updated(tso.oid) AS n_tup_upd, - pg_stat_get_tuples_deleted(tso.oid) AS n_tup_del, - pg_stat_get_live_tuples(tso.oid) AS n_live_tup, - pg_stat_get_dead_tuples(tso.oid) AS n_dead_tup, - pg_stat_get_vacuum_count(tso.oid) AS vacuum_count - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_tab' - -seq_scan|seq_tup_read|n_tup_ins|n_tup_upd|n_tup_del|n_live_tup|n_dead_tup|vacuum_count ---------+------------+---------+---------+---------+----------+----------+------------ - 0| 0| 1| 0| 0| 1| 0| 0 -(1 row) - -step s1_track_counts_on: SET track_counts = on; - -starting permutation: s1_table_select s1_track_counts_off s1_ff s1_table_stats s1_track_counts_on -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_table_select: SELECT * FROM test_stat_tab ORDER BY key, value; -key|value ----+----- -k0 | 1 -(1 row) - -step s1_track_counts_off: SET track_counts = off; -step s1_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_table_stats: - SELECT - pg_stat_get_numscans(tso.oid) AS seq_scan, - pg_stat_get_tuples_returned(tso.oid) AS seq_tup_read, - pg_stat_get_tuples_inserted(tso.oid) AS n_tup_ins, - pg_stat_get_tuples_updated(tso.oid) AS n_tup_upd, - pg_stat_get_tuples_deleted(tso.oid) AS n_tup_del, - pg_stat_get_live_tuples(tso.oid) AS n_live_tup, - pg_stat_get_dead_tuples(tso.oid) AS n_dead_tup, - pg_stat_get_vacuum_count(tso.oid) AS vacuum_count - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_tab' - -seq_scan|seq_tup_read|n_tup_ins|n_tup_upd|n_tup_del|n_live_tup|n_dead_tup|vacuum_count ---------+------------+---------+---------+---------+----------+----------+------------ - 1| 1| 1| 0| 0| 1| 0| 0 -(1 row) - -step s1_track_counts_on: SET track_counts = on; - -starting permutation: s1_table_select s1_ff s1_track_counts_off s1_table_stats s1_track_counts_on -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_table_select: SELECT * FROM test_stat_tab ORDER BY key, value; -key|value ----+----- -k0 | 1 -(1 row) - -step s1_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_track_counts_off: SET track_counts = off; -step s1_table_stats: - SELECT - pg_stat_get_numscans(tso.oid) AS seq_scan, - pg_stat_get_tuples_returned(tso.oid) AS seq_tup_read, - pg_stat_get_tuples_inserted(tso.oid) AS n_tup_ins, - pg_stat_get_tuples_updated(tso.oid) AS n_tup_upd, - pg_stat_get_tuples_deleted(tso.oid) AS n_tup_del, - pg_stat_get_live_tuples(tso.oid) AS n_live_tup, - pg_stat_get_dead_tuples(tso.oid) AS n_dead_tup, - pg_stat_get_vacuum_count(tso.oid) AS vacuum_count - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_tab' - -seq_scan|seq_tup_read|n_tup_ins|n_tup_upd|n_tup_del|n_live_tup|n_dead_tup|vacuum_count ---------+------------+---------+---------+---------+----------+----------+------------ - 1| 1| 1| 0| 0| 1| 0| 0 -(1 row) - -step s1_track_counts_on: SET track_counts = on; - -starting permutation: s1_track_counts_off s1_table_select s1_table_insert_k1 s1_table_update_k1 s2_table_select s1_track_counts_on s1_ff s2_ff s1_table_stats s1_table_select s1_table_update_k1 s1_ff s1_table_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_track_counts_off: SET track_counts = off; -step s1_table_select: SELECT * FROM test_stat_tab ORDER BY key, value; -key|value ----+----- -k0 | 1 -(1 row) - -step s1_table_insert_k1: INSERT INTO test_stat_tab(key, value) VALUES('k1', 1); -step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1'; -step s2_table_select: SELECT * FROM test_stat_tab ORDER BY key, value; -key|value ----+----- -k0 | 1 -k1 | 2 -(2 rows) - -step s1_track_counts_on: SET track_counts = on; -step s1_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_table_stats: - SELECT - pg_stat_get_numscans(tso.oid) AS seq_scan, - pg_stat_get_tuples_returned(tso.oid) AS seq_tup_read, - pg_stat_get_tuples_inserted(tso.oid) AS n_tup_ins, - pg_stat_get_tuples_updated(tso.oid) AS n_tup_upd, - pg_stat_get_tuples_deleted(tso.oid) AS n_tup_del, - pg_stat_get_live_tuples(tso.oid) AS n_live_tup, - pg_stat_get_dead_tuples(tso.oid) AS n_dead_tup, - pg_stat_get_vacuum_count(tso.oid) AS vacuum_count - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_tab' - -seq_scan|seq_tup_read|n_tup_ins|n_tup_upd|n_tup_del|n_live_tup|n_dead_tup|vacuum_count ---------+------------+---------+---------+---------+----------+----------+------------ - 1| 2| 1| 0| 0| 1| 0| 0 -(1 row) - -step s1_table_select: SELECT * FROM test_stat_tab ORDER BY key, value; -key|value ----+----- -k0 | 1 -k1 | 2 -(2 rows) - -step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1'; -step s1_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_table_stats: - SELECT - pg_stat_get_numscans(tso.oid) AS seq_scan, - pg_stat_get_tuples_returned(tso.oid) AS seq_tup_read, - pg_stat_get_tuples_inserted(tso.oid) AS n_tup_ins, - pg_stat_get_tuples_updated(tso.oid) AS n_tup_upd, - pg_stat_get_tuples_deleted(tso.oid) AS n_tup_del, - pg_stat_get_live_tuples(tso.oid) AS n_live_tup, - pg_stat_get_dead_tuples(tso.oid) AS n_dead_tup, - pg_stat_get_vacuum_count(tso.oid) AS vacuum_count - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_tab' - -seq_scan|seq_tup_read|n_tup_ins|n_tup_upd|n_tup_del|n_live_tup|n_dead_tup|vacuum_count ---------+------------+---------+---------+---------+----------+----------+------------ - 3| 6| 1| 1| 0| 1| 1| 0 -(1 row) - - -starting permutation: s1_table_select s1_table_insert_k1 s1_table_delete_k1 s1_track_counts_off s1_table_select s1_table_insert_k1 s1_table_update_k1 s2_table_select s1_track_counts_on s1_ff s2_ff s1_table_stats s1_table_select s1_table_update_k1 s1_ff s1_table_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_table_select: SELECT * FROM test_stat_tab ORDER BY key, value; -key|value ----+----- -k0 | 1 -(1 row) - -step s1_table_insert_k1: INSERT INTO test_stat_tab(key, value) VALUES('k1', 1); -step s1_table_delete_k1: DELETE FROM test_stat_tab WHERE key = 'k1'; -step s1_track_counts_off: SET track_counts = off; -step s1_table_select: SELECT * FROM test_stat_tab ORDER BY key, value; -key|value ----+----- -k0 | 1 -(1 row) - -step s1_table_insert_k1: INSERT INTO test_stat_tab(key, value) VALUES('k1', 1); -step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1'; -step s2_table_select: SELECT * FROM test_stat_tab ORDER BY key, value; -key|value ----+----- -k0 | 1 -k1 | 2 -(2 rows) - -step s1_track_counts_on: SET track_counts = on; -step s1_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_table_stats: - SELECT - pg_stat_get_numscans(tso.oid) AS seq_scan, - pg_stat_get_tuples_returned(tso.oid) AS seq_tup_read, - pg_stat_get_tuples_inserted(tso.oid) AS n_tup_ins, - pg_stat_get_tuples_updated(tso.oid) AS n_tup_upd, - pg_stat_get_tuples_deleted(tso.oid) AS n_tup_del, - pg_stat_get_live_tuples(tso.oid) AS n_live_tup, - pg_stat_get_dead_tuples(tso.oid) AS n_dead_tup, - pg_stat_get_vacuum_count(tso.oid) AS vacuum_count - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_tab' - -seq_scan|seq_tup_read|n_tup_ins|n_tup_upd|n_tup_del|n_live_tup|n_dead_tup|vacuum_count ---------+------------+---------+---------+---------+----------+----------+------------ - 3| 5| 2| 0| 1| 1| 1| 0 -(1 row) - -step s1_table_select: SELECT * FROM test_stat_tab ORDER BY key, value; -key|value ----+----- -k0 | 1 -k1 | 2 -(2 rows) - -step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1'; -step s1_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_table_stats: - SELECT - pg_stat_get_numscans(tso.oid) AS seq_scan, - pg_stat_get_tuples_returned(tso.oid) AS seq_tup_read, - pg_stat_get_tuples_inserted(tso.oid) AS n_tup_ins, - pg_stat_get_tuples_updated(tso.oid) AS n_tup_upd, - pg_stat_get_tuples_deleted(tso.oid) AS n_tup_del, - pg_stat_get_live_tuples(tso.oid) AS n_live_tup, - pg_stat_get_dead_tuples(tso.oid) AS n_dead_tup, - pg_stat_get_vacuum_count(tso.oid) AS vacuum_count - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_tab' - -seq_scan|seq_tup_read|n_tup_ins|n_tup_upd|n_tup_del|n_live_tup|n_dead_tup|vacuum_count ---------+------------+---------+---------+---------+----------+----------+------------ - 5| 9| 2| 1| 1| 1| 2| 0 -(1 row) - - -starting permutation: s1_begin s1_table_insert s1_table_update_k1 s1_table_update_k1 s1_table_update_k2 s1_table_update_k2 s1_table_update_k2 s1_table_delete_k1 s1_table_select s1_prepare_a s1_table_select s1_commit_prepared_a s1_table_select s1_ff s1_table_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_begin: BEGIN; -step s1_table_insert: INSERT INTO test_stat_tab(key, value) VALUES('k1', 1), ('k2', 1), ('k3', 1); -step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1'; -step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1'; -step s1_table_update_k2: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k2'; -step s1_table_update_k2: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k2'; -step s1_table_update_k2: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k2'; -step s1_table_delete_k1: DELETE FROM test_stat_tab WHERE key = 'k1'; -step s1_table_select: SELECT * FROM test_stat_tab ORDER BY key, value; -key|value ----+----- -k0 | 1 -k2 | 4 -k3 | 1 -(3 rows) - -step s1_prepare_a: PREPARE TRANSACTION 'a'; -step s1_table_select: SELECT * FROM test_stat_tab ORDER BY key, value; -key|value ----+----- -k0 | 1 -(1 row) - -step s1_commit_prepared_a: COMMIT PREPARED 'a'; -step s1_table_select: SELECT * FROM test_stat_tab ORDER BY key, value; -key|value ----+----- -k0 | 1 -k2 | 4 -k3 | 1 -(3 rows) - -step s1_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_table_stats: - SELECT - pg_stat_get_numscans(tso.oid) AS seq_scan, - pg_stat_get_tuples_returned(tso.oid) AS seq_tup_read, - pg_stat_get_tuples_inserted(tso.oid) AS n_tup_ins, - pg_stat_get_tuples_updated(tso.oid) AS n_tup_upd, - pg_stat_get_tuples_deleted(tso.oid) AS n_tup_del, - pg_stat_get_live_tuples(tso.oid) AS n_live_tup, - pg_stat_get_dead_tuples(tso.oid) AS n_dead_tup, - pg_stat_get_vacuum_count(tso.oid) AS vacuum_count - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_tab' - -seq_scan|seq_tup_read|n_tup_ins|n_tup_upd|n_tup_del|n_live_tup|n_dead_tup|vacuum_count ---------+------------+---------+---------+---------+----------+----------+------------ - 9| 31| 4| 5| 1| 3| 6| 0 -(1 row) - - -starting permutation: s1_begin s1_table_insert s1_table_update_k1 s1_table_update_k1 s1_table_update_k2 s1_table_update_k2 s1_table_update_k2 s1_table_delete_k1 s1_table_select s1_prepare_a s1_table_select s2_commit_prepared_a s1_table_select s1_ff s2_ff s1_table_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_begin: BEGIN; -step s1_table_insert: INSERT INTO test_stat_tab(key, value) VALUES('k1', 1), ('k2', 1), ('k3', 1); -step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1'; -step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1'; -step s1_table_update_k2: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k2'; -step s1_table_update_k2: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k2'; -step s1_table_update_k2: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k2'; -step s1_table_delete_k1: DELETE FROM test_stat_tab WHERE key = 'k1'; -step s1_table_select: SELECT * FROM test_stat_tab ORDER BY key, value; -key|value ----+----- -k0 | 1 -k2 | 4 -k3 | 1 -(3 rows) - -step s1_prepare_a: PREPARE TRANSACTION 'a'; -step s1_table_select: SELECT * FROM test_stat_tab ORDER BY key, value; -key|value ----+----- -k0 | 1 -(1 row) - -step s2_commit_prepared_a: COMMIT PREPARED 'a'; -step s1_table_select: SELECT * FROM test_stat_tab ORDER BY key, value; -key|value ----+----- -k0 | 1 -k2 | 4 -k3 | 1 -(3 rows) - -step s1_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_table_stats: - SELECT - pg_stat_get_numscans(tso.oid) AS seq_scan, - pg_stat_get_tuples_returned(tso.oid) AS seq_tup_read, - pg_stat_get_tuples_inserted(tso.oid) AS n_tup_ins, - pg_stat_get_tuples_updated(tso.oid) AS n_tup_upd, - pg_stat_get_tuples_deleted(tso.oid) AS n_tup_del, - pg_stat_get_live_tuples(tso.oid) AS n_live_tup, - pg_stat_get_dead_tuples(tso.oid) AS n_dead_tup, - pg_stat_get_vacuum_count(tso.oid) AS vacuum_count - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_tab' - -seq_scan|seq_tup_read|n_tup_ins|n_tup_upd|n_tup_del|n_live_tup|n_dead_tup|vacuum_count ---------+------------+---------+---------+---------+----------+----------+------------ - 9| 31| 4| 5| 1| 3| 6| 0 -(1 row) - - -starting permutation: s1_begin s1_table_insert s1_table_update_k1 s1_table_update_k1 s1_table_update_k2 s1_table_update_k2 s1_table_update_k2 s1_table_delete_k1 s1_table_select s1_prepare_a s1_table_select s1_rollback_prepared_a s1_table_select s1_ff s1_table_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_begin: BEGIN; -step s1_table_insert: INSERT INTO test_stat_tab(key, value) VALUES('k1', 1), ('k2', 1), ('k3', 1); -step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1'; -step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1'; -step s1_table_update_k2: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k2'; -step s1_table_update_k2: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k2'; -step s1_table_update_k2: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k2'; -step s1_table_delete_k1: DELETE FROM test_stat_tab WHERE key = 'k1'; -step s1_table_select: SELECT * FROM test_stat_tab ORDER BY key, value; -key|value ----+----- -k0 | 1 -k2 | 4 -k3 | 1 -(3 rows) - -step s1_prepare_a: PREPARE TRANSACTION 'a'; -step s1_table_select: SELECT * FROM test_stat_tab ORDER BY key, value; -key|value ----+----- -k0 | 1 -(1 row) - -step s1_rollback_prepared_a: ROLLBACK PREPARED 'a'; -step s1_table_select: SELECT * FROM test_stat_tab ORDER BY key, value; -key|value ----+----- -k0 | 1 -(1 row) - -step s1_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_table_stats: - SELECT - pg_stat_get_numscans(tso.oid) AS seq_scan, - pg_stat_get_tuples_returned(tso.oid) AS seq_tup_read, - pg_stat_get_tuples_inserted(tso.oid) AS n_tup_ins, - pg_stat_get_tuples_updated(tso.oid) AS n_tup_upd, - pg_stat_get_tuples_deleted(tso.oid) AS n_tup_del, - pg_stat_get_live_tuples(tso.oid) AS n_live_tup, - pg_stat_get_dead_tuples(tso.oid) AS n_dead_tup, - pg_stat_get_vacuum_count(tso.oid) AS vacuum_count - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_tab' - -seq_scan|seq_tup_read|n_tup_ins|n_tup_upd|n_tup_del|n_live_tup|n_dead_tup|vacuum_count ---------+------------+---------+---------+---------+----------+----------+------------ - 9| 29| 4| 5| 1| 1| 8| 0 -(1 row) - - -starting permutation: s1_begin s1_table_insert s1_table_update_k1 s1_table_update_k1 s1_table_update_k2 s1_table_update_k2 s1_table_update_k2 s1_table_delete_k1 s1_table_select s1_prepare_a s1_table_select s2_rollback_prepared_a s1_table_select s1_ff s2_ff s1_table_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_begin: BEGIN; -step s1_table_insert: INSERT INTO test_stat_tab(key, value) VALUES('k1', 1), ('k2', 1), ('k3', 1); -step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1'; -step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1'; -step s1_table_update_k2: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k2'; -step s1_table_update_k2: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k2'; -step s1_table_update_k2: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k2'; -step s1_table_delete_k1: DELETE FROM test_stat_tab WHERE key = 'k1'; -step s1_table_select: SELECT * FROM test_stat_tab ORDER BY key, value; -key|value ----+----- -k0 | 1 -k2 | 4 -k3 | 1 -(3 rows) - -step s1_prepare_a: PREPARE TRANSACTION 'a'; -step s1_table_select: SELECT * FROM test_stat_tab ORDER BY key, value; -key|value ----+----- -k0 | 1 -(1 row) - -step s2_rollback_prepared_a: ROLLBACK PREPARED 'a'; -step s1_table_select: SELECT * FROM test_stat_tab ORDER BY key, value; -key|value ----+----- -k0 | 1 -(1 row) - -step s1_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_table_stats: - SELECT - pg_stat_get_numscans(tso.oid) AS seq_scan, - pg_stat_get_tuples_returned(tso.oid) AS seq_tup_read, - pg_stat_get_tuples_inserted(tso.oid) AS n_tup_ins, - pg_stat_get_tuples_updated(tso.oid) AS n_tup_upd, - pg_stat_get_tuples_deleted(tso.oid) AS n_tup_del, - pg_stat_get_live_tuples(tso.oid) AS n_live_tup, - pg_stat_get_dead_tuples(tso.oid) AS n_dead_tup, - pg_stat_get_vacuum_count(tso.oid) AS vacuum_count - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_tab' - -seq_scan|seq_tup_read|n_tup_ins|n_tup_upd|n_tup_del|n_live_tup|n_dead_tup|vacuum_count ---------+------------+---------+---------+---------+----------+----------+------------ - 9| 29| 4| 5| 1| 1| 8| 0 -(1 row) - - -starting permutation: s1_table_insert s1_begin s1_table_update_k1 s1_table_update_k1 s1_table_truncate s1_table_insert_k1 s1_table_update_k1 s1_prepare_a s1_commit_prepared_a s1_ff s1_table_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_table_insert: INSERT INTO test_stat_tab(key, value) VALUES('k1', 1), ('k2', 1), ('k3', 1); -step s1_begin: BEGIN; -step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1'; -step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1'; -step s1_table_truncate: TRUNCATE test_stat_tab; -step s1_table_insert_k1: INSERT INTO test_stat_tab(key, value) VALUES('k1', 1); -step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1'; -step s1_prepare_a: PREPARE TRANSACTION 'a'; -step s1_commit_prepared_a: COMMIT PREPARED 'a'; -step s1_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_table_stats: - SELECT - pg_stat_get_numscans(tso.oid) AS seq_scan, - pg_stat_get_tuples_returned(tso.oid) AS seq_tup_read, - pg_stat_get_tuples_inserted(tso.oid) AS n_tup_ins, - pg_stat_get_tuples_updated(tso.oid) AS n_tup_upd, - pg_stat_get_tuples_deleted(tso.oid) AS n_tup_del, - pg_stat_get_live_tuples(tso.oid) AS n_live_tup, - pg_stat_get_dead_tuples(tso.oid) AS n_dead_tup, - pg_stat_get_vacuum_count(tso.oid) AS vacuum_count - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_tab' - -seq_scan|seq_tup_read|n_tup_ins|n_tup_upd|n_tup_del|n_live_tup|n_dead_tup|vacuum_count ---------+------------+---------+---------+---------+----------+----------+------------ - 3| 9| 5| 1| 0| 1| 1| 0 -(1 row) - - -starting permutation: s1_table_insert s1_begin s1_table_update_k1 s1_table_update_k1 s1_table_truncate s1_table_insert_k1 s1_table_update_k1 s1_prepare_a s1_ff s2_commit_prepared_a s2_ff s1_table_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_table_insert: INSERT INTO test_stat_tab(key, value) VALUES('k1', 1), ('k2', 1), ('k3', 1); -step s1_begin: BEGIN; -step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1'; -step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1'; -step s1_table_truncate: TRUNCATE test_stat_tab; -step s1_table_insert_k1: INSERT INTO test_stat_tab(key, value) VALUES('k1', 1); -step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1'; -step s1_prepare_a: PREPARE TRANSACTION 'a'; -step s1_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s2_commit_prepared_a: COMMIT PREPARED 'a'; -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_table_stats: - SELECT - pg_stat_get_numscans(tso.oid) AS seq_scan, - pg_stat_get_tuples_returned(tso.oid) AS seq_tup_read, - pg_stat_get_tuples_inserted(tso.oid) AS n_tup_ins, - pg_stat_get_tuples_updated(tso.oid) AS n_tup_upd, - pg_stat_get_tuples_deleted(tso.oid) AS n_tup_del, - pg_stat_get_live_tuples(tso.oid) AS n_live_tup, - pg_stat_get_dead_tuples(tso.oid) AS n_dead_tup, - pg_stat_get_vacuum_count(tso.oid) AS vacuum_count - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_tab' - -seq_scan|seq_tup_read|n_tup_ins|n_tup_upd|n_tup_del|n_live_tup|n_dead_tup|vacuum_count ---------+------------+---------+---------+---------+----------+----------+------------ - 3| 9| 5| 1| 0| 1| 1| 0 -(1 row) - - -starting permutation: s1_table_insert s1_begin s1_table_update_k1 s1_table_update_k1 s1_table_truncate s1_table_insert_k1 s1_table_update_k1 s1_prepare_a s1_rollback_prepared_a s1_ff s1_table_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_table_insert: INSERT INTO test_stat_tab(key, value) VALUES('k1', 1), ('k2', 1), ('k3', 1); -step s1_begin: BEGIN; -step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1'; -step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1'; -step s1_table_truncate: TRUNCATE test_stat_tab; -step s1_table_insert_k1: INSERT INTO test_stat_tab(key, value) VALUES('k1', 1); -step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1'; -step s1_prepare_a: PREPARE TRANSACTION 'a'; -step s1_rollback_prepared_a: ROLLBACK PREPARED 'a'; -step s1_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_table_stats: - SELECT - pg_stat_get_numscans(tso.oid) AS seq_scan, - pg_stat_get_tuples_returned(tso.oid) AS seq_tup_read, - pg_stat_get_tuples_inserted(tso.oid) AS n_tup_ins, - pg_stat_get_tuples_updated(tso.oid) AS n_tup_upd, - pg_stat_get_tuples_deleted(tso.oid) AS n_tup_del, - pg_stat_get_live_tuples(tso.oid) AS n_live_tup, - pg_stat_get_dead_tuples(tso.oid) AS n_dead_tup, - pg_stat_get_vacuum_count(tso.oid) AS vacuum_count - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_tab' - -seq_scan|seq_tup_read|n_tup_ins|n_tup_upd|n_tup_del|n_live_tup|n_dead_tup|vacuum_count ---------+------------+---------+---------+---------+----------+----------+------------ - 3| 9| 4| 2| 0| 4| 2| 0 -(1 row) - - -starting permutation: s1_table_insert s1_begin s1_table_update_k1 s1_table_update_k1 s1_table_truncate s1_table_insert_k1 s1_table_update_k1 s1_prepare_a s2_rollback_prepared_a s1_ff s2_ff s1_table_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_table_insert: INSERT INTO test_stat_tab(key, value) VALUES('k1', 1), ('k2', 1), ('k3', 1); -step s1_begin: BEGIN; -step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1'; -step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1'; -step s1_table_truncate: TRUNCATE test_stat_tab; -step s1_table_insert_k1: INSERT INTO test_stat_tab(key, value) VALUES('k1', 1); -step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1'; -step s1_prepare_a: PREPARE TRANSACTION 'a'; -step s2_rollback_prepared_a: ROLLBACK PREPARED 'a'; -step s1_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_table_stats: - SELECT - pg_stat_get_numscans(tso.oid) AS seq_scan, - pg_stat_get_tuples_returned(tso.oid) AS seq_tup_read, - pg_stat_get_tuples_inserted(tso.oid) AS n_tup_ins, - pg_stat_get_tuples_updated(tso.oid) AS n_tup_upd, - pg_stat_get_tuples_deleted(tso.oid) AS n_tup_del, - pg_stat_get_live_tuples(tso.oid) AS n_live_tup, - pg_stat_get_dead_tuples(tso.oid) AS n_dead_tup, - pg_stat_get_vacuum_count(tso.oid) AS vacuum_count - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_tab' - -seq_scan|seq_tup_read|n_tup_ins|n_tup_upd|n_tup_del|n_live_tup|n_dead_tup|vacuum_count ---------+------------+---------+---------+---------+----------+----------+------------ - 3| 9| 4| 2| 0| 4| 2| 0 -(1 row) - - -starting permutation: s1_table_insert s1_table_update_k1 s1_begin s1_table_delete_k1 s1_table_insert_k1 s1_table_update_k1 s1_table_update_k1 s1_table_drop s1_prepare_a s1_rollback_prepared_a s1_ff s1_table_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_table_insert: INSERT INTO test_stat_tab(key, value) VALUES('k1', 1), ('k2', 1), ('k3', 1); -step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1'; -step s1_begin: BEGIN; -step s1_table_delete_k1: DELETE FROM test_stat_tab WHERE key = 'k1'; -step s1_table_insert_k1: INSERT INTO test_stat_tab(key, value) VALUES('k1', 1); -step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1'; -step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1'; -step s1_table_drop: DROP TABLE test_stat_tab; -step s1_prepare_a: PREPARE TRANSACTION 'a'; -step s1_rollback_prepared_a: ROLLBACK PREPARED 'a'; -step s1_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_table_stats: - SELECT - pg_stat_get_numscans(tso.oid) AS seq_scan, - pg_stat_get_tuples_returned(tso.oid) AS seq_tup_read, - pg_stat_get_tuples_inserted(tso.oid) AS n_tup_ins, - pg_stat_get_tuples_updated(tso.oid) AS n_tup_upd, - pg_stat_get_tuples_deleted(tso.oid) AS n_tup_del, - pg_stat_get_live_tuples(tso.oid) AS n_live_tup, - pg_stat_get_dead_tuples(tso.oid) AS n_dead_tup, - pg_stat_get_vacuum_count(tso.oid) AS vacuum_count - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_tab' - -seq_scan|seq_tup_read|n_tup_ins|n_tup_upd|n_tup_del|n_live_tup|n_dead_tup|vacuum_count ---------+------------+---------+---------+---------+----------+----------+------------ - 4| 16| 5| 3| 1| 4| 4| 0 -(1 row) - - -starting permutation: s1_table_insert s1_table_update_k1 s1_begin s1_table_delete_k1 s1_table_insert_k1 s1_table_update_k1 s1_table_update_k1 s1_table_drop s1_prepare_a s2_rollback_prepared_a s1_ff s2_ff s1_table_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_table_insert: INSERT INTO test_stat_tab(key, value) VALUES('k1', 1), ('k2', 1), ('k3', 1); -step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1'; -step s1_begin: BEGIN; -step s1_table_delete_k1: DELETE FROM test_stat_tab WHERE key = 'k1'; -step s1_table_insert_k1: INSERT INTO test_stat_tab(key, value) VALUES('k1', 1); -step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1'; -step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1'; -step s1_table_drop: DROP TABLE test_stat_tab; -step s1_prepare_a: PREPARE TRANSACTION 'a'; -step s2_rollback_prepared_a: ROLLBACK PREPARED 'a'; -step s1_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_table_stats: - SELECT - pg_stat_get_numscans(tso.oid) AS seq_scan, - pg_stat_get_tuples_returned(tso.oid) AS seq_tup_read, - pg_stat_get_tuples_inserted(tso.oid) AS n_tup_ins, - pg_stat_get_tuples_updated(tso.oid) AS n_tup_upd, - pg_stat_get_tuples_deleted(tso.oid) AS n_tup_del, - pg_stat_get_live_tuples(tso.oid) AS n_live_tup, - pg_stat_get_dead_tuples(tso.oid) AS n_dead_tup, - pg_stat_get_vacuum_count(tso.oid) AS vacuum_count - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_tab' - -seq_scan|seq_tup_read|n_tup_ins|n_tup_upd|n_tup_del|n_live_tup|n_dead_tup|vacuum_count ---------+------------+---------+---------+---------+----------+----------+------------ - 4| 16| 5| 3| 1| 4| 4| 0 -(1 row) - - -starting permutation: s1_slru_save_stats s1_listen s1_begin s1_big_notify s1_ff s1_slru_check_stats s1_commit s1_slru_check_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_slru_save_stats: - INSERT INTO test_slru_stats VALUES('notify', 'blks_zeroed', - (SELECT blks_zeroed FROM pg_stat_slru WHERE name = 'notify')); - -step s1_listen: LISTEN stats_test_nothing; -step s1_begin: BEGIN; -step s1_big_notify: SELECT pg_notify('stats_test_use', - repeat(i::text, current_setting('block_size')::int / 2)) FROM generate_series(1, 3) g(i); - -pg_notify ---------- - - - -(3 rows) - -step s1_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_slru_check_stats: - SELECT current.blks_zeroed > before.value - FROM test_slru_stats before - INNER JOIN pg_stat_slru current - ON before.slru = current.name - WHERE before.stat = 'blks_zeroed'; - -?column? --------- -f -(1 row) - -step s1_commit: COMMIT; -step s1_slru_check_stats: - SELECT current.blks_zeroed > before.value - FROM test_slru_stats before - INNER JOIN pg_stat_slru current - ON before.slru = current.name - WHERE before.stat = 'blks_zeroed'; - -?column? --------- -t -(1 row) - - -starting permutation: s1_slru_save_stats s1_listen s2_big_notify s2_ff s1_slru_check_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_slru_save_stats: - INSERT INTO test_slru_stats VALUES('notify', 'blks_zeroed', - (SELECT blks_zeroed FROM pg_stat_slru WHERE name = 'notify')); - -step s1_listen: LISTEN stats_test_nothing; -step s2_big_notify: SELECT pg_notify('stats_test_use', - repeat(i::text, current_setting('block_size')::int / 2)) FROM generate_series(1, 3) g(i); - -pg_notify ---------- - - - -(3 rows) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_slru_check_stats: - SELECT current.blks_zeroed > before.value - FROM test_slru_stats before - INNER JOIN pg_stat_slru current - ON before.slru = current.name - WHERE before.stat = 'blks_zeroed'; - -?column? --------- -t -(1 row) - - -starting permutation: s1_slru_save_stats s1_listen s2_begin s2_big_notify s2_ff s1_slru_check_stats s2_commit -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_slru_save_stats: - INSERT INTO test_slru_stats VALUES('notify', 'blks_zeroed', - (SELECT blks_zeroed FROM pg_stat_slru WHERE name = 'notify')); - -step s1_listen: LISTEN stats_test_nothing; -step s2_begin: BEGIN; -step s2_big_notify: SELECT pg_notify('stats_test_use', - repeat(i::text, current_setting('block_size')::int / 2)) FROM generate_series(1, 3) g(i); - -pg_notify ---------- - - - -(3 rows) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_slru_check_stats: - SELECT current.blks_zeroed > before.value - FROM test_slru_stats before - INNER JOIN pg_stat_slru current - ON before.slru = current.name - WHERE before.stat = 'blks_zeroed'; - -?column? --------- -f -(1 row) - -step s2_commit: COMMIT; - -starting permutation: s1_fetch_consistency_none s1_slru_save_stats s1_listen s1_begin s1_slru_check_stats s2_big_notify s2_ff s1_slru_check_stats s1_commit s1_slru_check_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_fetch_consistency_none: SET stats_fetch_consistency = 'none'; -step s1_slru_save_stats: - INSERT INTO test_slru_stats VALUES('notify', 'blks_zeroed', - (SELECT blks_zeroed FROM pg_stat_slru WHERE name = 'notify')); - -step s1_listen: LISTEN stats_test_nothing; -step s1_begin: BEGIN; -step s1_slru_check_stats: - SELECT current.blks_zeroed > before.value - FROM test_slru_stats before - INNER JOIN pg_stat_slru current - ON before.slru = current.name - WHERE before.stat = 'blks_zeroed'; - -?column? --------- -f -(1 row) - -step s2_big_notify: SELECT pg_notify('stats_test_use', - repeat(i::text, current_setting('block_size')::int / 2)) FROM generate_series(1, 3) g(i); - -pg_notify ---------- - - - -(3 rows) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_slru_check_stats: - SELECT current.blks_zeroed > before.value - FROM test_slru_stats before - INNER JOIN pg_stat_slru current - ON before.slru = current.name - WHERE before.stat = 'blks_zeroed'; - -?column? --------- -t -(1 row) - -step s1_commit: COMMIT; -step s1_slru_check_stats: - SELECT current.blks_zeroed > before.value - FROM test_slru_stats before - INNER JOIN pg_stat_slru current - ON before.slru = current.name - WHERE before.stat = 'blks_zeroed'; - -?column? --------- -t -(1 row) - - -starting permutation: s1_fetch_consistency_cache s1_slru_save_stats s1_listen s1_begin s1_slru_check_stats s2_big_notify s2_ff s1_slru_check_stats s1_commit s1_slru_check_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_fetch_consistency_cache: SET stats_fetch_consistency = 'cache'; -step s1_slru_save_stats: - INSERT INTO test_slru_stats VALUES('notify', 'blks_zeroed', - (SELECT blks_zeroed FROM pg_stat_slru WHERE name = 'notify')); - -step s1_listen: LISTEN stats_test_nothing; -step s1_begin: BEGIN; -step s1_slru_check_stats: - SELECT current.blks_zeroed > before.value - FROM test_slru_stats before - INNER JOIN pg_stat_slru current - ON before.slru = current.name - WHERE before.stat = 'blks_zeroed'; - -?column? --------- -f -(1 row) - -step s2_big_notify: SELECT pg_notify('stats_test_use', - repeat(i::text, current_setting('block_size')::int / 2)) FROM generate_series(1, 3) g(i); - -pg_notify ---------- - - - -(3 rows) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_slru_check_stats: - SELECT current.blks_zeroed > before.value - FROM test_slru_stats before - INNER JOIN pg_stat_slru current - ON before.slru = current.name - WHERE before.stat = 'blks_zeroed'; - -?column? --------- -f -(1 row) - -step s1_commit: COMMIT; -step s1_slru_check_stats: - SELECT current.blks_zeroed > before.value - FROM test_slru_stats before - INNER JOIN pg_stat_slru current - ON before.slru = current.name - WHERE before.stat = 'blks_zeroed'; - -?column? --------- -t -(1 row) - - -starting permutation: s1_fetch_consistency_snapshot s1_slru_save_stats s1_listen s1_begin s1_slru_check_stats s2_big_notify s2_ff s1_slru_check_stats s1_commit s1_slru_check_stats -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_fetch_consistency_snapshot: SET stats_fetch_consistency = 'snapshot'; -step s1_slru_save_stats: - INSERT INTO test_slru_stats VALUES('notify', 'blks_zeroed', - (SELECT blks_zeroed FROM pg_stat_slru WHERE name = 'notify')); - -step s1_listen: LISTEN stats_test_nothing; -step s1_begin: BEGIN; -step s1_slru_check_stats: - SELECT current.blks_zeroed > before.value - FROM test_slru_stats before - INNER JOIN pg_stat_slru current - ON before.slru = current.name - WHERE before.stat = 'blks_zeroed'; - -?column? --------- -f -(1 row) - -step s2_big_notify: SELECT pg_notify('stats_test_use', - repeat(i::text, current_setting('block_size')::int / 2)) FROM generate_series(1, 3) g(i); - -pg_notify ---------- - - - -(3 rows) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_slru_check_stats: - SELECT current.blks_zeroed > before.value - FROM test_slru_stats before - INNER JOIN pg_stat_slru current - ON before.slru = current.name - WHERE before.stat = 'blks_zeroed'; - -?column? --------- -f -(1 row) - -step s1_commit: COMMIT; -step s1_slru_check_stats: - SELECT current.blks_zeroed > before.value - FROM test_slru_stats before - INNER JOIN pg_stat_slru current - ON before.slru = current.name - WHERE before.stat = 'blks_zeroed'; - -?column? --------- -t -(1 row) - - -starting permutation: s1_fetch_consistency_none s1_slru_save_stats s1_listen s1_begin s1_slru_check_stats s2_big_notify s2_ff s1_slru_check_stats s1_clear_snapshot s1_slru_check_stats s1_commit -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_fetch_consistency_none: SET stats_fetch_consistency = 'none'; -step s1_slru_save_stats: - INSERT INTO test_slru_stats VALUES('notify', 'blks_zeroed', - (SELECT blks_zeroed FROM pg_stat_slru WHERE name = 'notify')); - -step s1_listen: LISTEN stats_test_nothing; -step s1_begin: BEGIN; -step s1_slru_check_stats: - SELECT current.blks_zeroed > before.value - FROM test_slru_stats before - INNER JOIN pg_stat_slru current - ON before.slru = current.name - WHERE before.stat = 'blks_zeroed'; - -?column? --------- -f -(1 row) - -step s2_big_notify: SELECT pg_notify('stats_test_use', - repeat(i::text, current_setting('block_size')::int / 2)) FROM generate_series(1, 3) g(i); - -pg_notify ---------- - - - -(3 rows) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_slru_check_stats: - SELECT current.blks_zeroed > before.value - FROM test_slru_stats before - INNER JOIN pg_stat_slru current - ON before.slru = current.name - WHERE before.stat = 'blks_zeroed'; - -?column? --------- -t -(1 row) - -step s1_clear_snapshot: SELECT pg_stat_clear_snapshot(); -pg_stat_clear_snapshot ----------------------- - -(1 row) - -step s1_slru_check_stats: - SELECT current.blks_zeroed > before.value - FROM test_slru_stats before - INNER JOIN pg_stat_slru current - ON before.slru = current.name - WHERE before.stat = 'blks_zeroed'; - -?column? --------- -t -(1 row) - -step s1_commit: COMMIT; - -starting permutation: s1_fetch_consistency_cache s1_slru_save_stats s1_listen s1_begin s1_slru_check_stats s2_big_notify s2_ff s1_slru_check_stats s1_clear_snapshot s1_slru_check_stats s1_commit -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_fetch_consistency_cache: SET stats_fetch_consistency = 'cache'; -step s1_slru_save_stats: - INSERT INTO test_slru_stats VALUES('notify', 'blks_zeroed', - (SELECT blks_zeroed FROM pg_stat_slru WHERE name = 'notify')); - -step s1_listen: LISTEN stats_test_nothing; -step s1_begin: BEGIN; -step s1_slru_check_stats: - SELECT current.blks_zeroed > before.value - FROM test_slru_stats before - INNER JOIN pg_stat_slru current - ON before.slru = current.name - WHERE before.stat = 'blks_zeroed'; - -?column? --------- -f -(1 row) - -step s2_big_notify: SELECT pg_notify('stats_test_use', - repeat(i::text, current_setting('block_size')::int / 2)) FROM generate_series(1, 3) g(i); - -pg_notify ---------- - - - -(3 rows) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_slru_check_stats: - SELECT current.blks_zeroed > before.value - FROM test_slru_stats before - INNER JOIN pg_stat_slru current - ON before.slru = current.name - WHERE before.stat = 'blks_zeroed'; - -?column? --------- -f -(1 row) - -step s1_clear_snapshot: SELECT pg_stat_clear_snapshot(); -pg_stat_clear_snapshot ----------------------- - -(1 row) - -step s1_slru_check_stats: - SELECT current.blks_zeroed > before.value - FROM test_slru_stats before - INNER JOIN pg_stat_slru current - ON before.slru = current.name - WHERE before.stat = 'blks_zeroed'; - -?column? --------- -t -(1 row) - -step s1_commit: COMMIT; - -starting permutation: s1_fetch_consistency_snapshot s1_slru_save_stats s1_listen s1_begin s1_slru_check_stats s2_big_notify s2_ff s1_slru_check_stats s1_clear_snapshot s1_slru_check_stats s1_commit -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_fetch_consistency_snapshot: SET stats_fetch_consistency = 'snapshot'; -step s1_slru_save_stats: - INSERT INTO test_slru_stats VALUES('notify', 'blks_zeroed', - (SELECT blks_zeroed FROM pg_stat_slru WHERE name = 'notify')); - -step s1_listen: LISTEN stats_test_nothing; -step s1_begin: BEGIN; -step s1_slru_check_stats: - SELECT current.blks_zeroed > before.value - FROM test_slru_stats before - INNER JOIN pg_stat_slru current - ON before.slru = current.name - WHERE before.stat = 'blks_zeroed'; - -?column? --------- -f -(1 row) - -step s2_big_notify: SELECT pg_notify('stats_test_use', - repeat(i::text, current_setting('block_size')::int / 2)) FROM generate_series(1, 3) g(i); - -pg_notify ---------- - - - -(3 rows) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_slru_check_stats: - SELECT current.blks_zeroed > before.value - FROM test_slru_stats before - INNER JOIN pg_stat_slru current - ON before.slru = current.name - WHERE before.stat = 'blks_zeroed'; - -?column? --------- -f -(1 row) - -step s1_clear_snapshot: SELECT pg_stat_clear_snapshot(); -pg_stat_clear_snapshot ----------------------- - -(1 row) - -step s1_slru_check_stats: - SELECT current.blks_zeroed > before.value - FROM test_slru_stats before - INNER JOIN pg_stat_slru current - ON before.slru = current.name - WHERE before.stat = 'blks_zeroed'; - -?column? --------- -t -(1 row) - -step s1_commit: COMMIT; - -starting permutation: s1_fetch_consistency_snapshot s1_slru_save_stats s1_listen s1_begin s1_func_stats s2_big_notify s2_ff s1_slru_check_stats s1_commit -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_fetch_consistency_snapshot: SET stats_fetch_consistency = 'snapshot'; -step s1_slru_save_stats: - INSERT INTO test_slru_stats VALUES('notify', 'blks_zeroed', - (SELECT blks_zeroed FROM pg_stat_slru WHERE name = 'notify')); - -step s1_listen: LISTEN stats_test_nothing; -step s1_begin: BEGIN; -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| | | -(1 row) - -step s2_big_notify: SELECT pg_notify('stats_test_use', - repeat(i::text, current_setting('block_size')::int / 2)) FROM generate_series(1, 3) g(i); - -pg_notify ---------- - - - -(3 rows) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_slru_check_stats: - SELECT current.blks_zeroed > before.value - FROM test_slru_stats before - INNER JOIN pg_stat_slru current - ON before.slru = current.name - WHERE before.stat = 'blks_zeroed'; - -?column? --------- -f -(1 row) - -step s1_commit: COMMIT; - -starting permutation: s1_fetch_consistency_snapshot s1_slru_save_stats s1_listen s1_begin s2_big_notify s2_ff s1_slru_check_stats s2_func_call s2_ff s1_func_stats s1_clear_snapshot s1_func_stats s1_commit -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_fetch_consistency_snapshot: SET stats_fetch_consistency = 'snapshot'; -step s1_slru_save_stats: - INSERT INTO test_slru_stats VALUES('notify', 'blks_zeroed', - (SELECT blks_zeroed FROM pg_stat_slru WHERE name = 'notify')); - -step s1_listen: LISTEN stats_test_nothing; -step s1_begin: BEGIN; -step s2_big_notify: SELECT pg_notify('stats_test_use', - repeat(i::text, current_setting('block_size')::int / 2)) FROM generate_series(1, 3) g(i); - -pg_notify ---------- - - - -(3 rows) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_slru_check_stats: - SELECT current.blks_zeroed > before.value - FROM test_slru_stats before - INNER JOIN pg_stat_slru current - ON before.slru = current.name - WHERE before.stat = 'blks_zeroed'; - -?column? --------- -t -(1 row) - -step s2_func_call: SELECT test_stat_func() -test_stat_func --------------- - -(1 row) - -step s2_ff: SELECT pg_stat_force_next_flush(); -pg_stat_force_next_flush ------------------------- - -(1 row) - -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| | | -(1 row) - -step s1_clear_snapshot: SELECT pg_stat_clear_snapshot(); -pg_stat_clear_snapshot ----------------------- - -(1 row) - -step s1_func_stats: - SELECT - tso.name, - pg_stat_get_function_calls(tso.oid), - pg_stat_get_function_total_time(tso.oid) > 0 total_above_zero, - pg_stat_get_function_self_time(tso.oid) > 0 self_above_zero - FROM test_stat_oid AS tso - WHERE tso.name = 'test_stat_func' - -name |pg_stat_get_function_calls|total_above_zero|self_above_zero ---------------+--------------------------+----------------+--------------- -test_stat_func| 1|t |t -(1 row) - -step s1_commit: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/horizons.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/horizons.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/horizons.out 2024-03-29 10:06:51.875270895 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/horizons.out 2024-03-29 10:13:20.359275156 +0000 @@ -1,335 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: pruner_create_perm ll_start pruner_query_plan pruner_query pruner_query pruner_delete pruner_query pruner_query ll_commit pruner_drop -step pruner_create_perm: - CREATE TABLE horizons_tst (data int unique) WITH (autovacuum_enabled = off); - INSERT INTO horizons_tst(data) VALUES(1),(2); - -step ll_start: - BEGIN TRANSACTION ISOLATION LEVEL REPEATABLE READ; - SELECT 1; - -?column? --------- - 1 -(1 row) - -step pruner_query_plan: - EXPLAIN (COSTS OFF) SELECT * FROM horizons_tst ORDER BY data; - -QUERY PLAN ------------------------------------------------------------ -Index Only Scan using horizons_tst_data_key on horizons_tst -(1 row) - -step pruner_query: - SELECT explain_json($$ - EXPLAIN (FORMAT json, BUFFERS, ANALYZE) - SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; - -?column? --------- - 2 -(1 row) - -step pruner_query: - SELECT explain_json($$ - EXPLAIN (FORMAT json, BUFFERS, ANALYZE) - SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; - -?column? --------- - 2 -(1 row) - -step pruner_delete: - DELETE FROM horizons_tst; - -step pruner_query: - SELECT explain_json($$ - EXPLAIN (FORMAT json, BUFFERS, ANALYZE) - SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; - -?column? --------- - 2 -(1 row) - -step pruner_query: - SELECT explain_json($$ - EXPLAIN (FORMAT json, BUFFERS, ANALYZE) - SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; - -?column? --------- - 2 -(1 row) - -step ll_commit: COMMIT; -step pruner_drop: - DROP TABLE horizons_tst; - - -starting permutation: pruner_create_temp ll_start pruner_query_plan pruner_query pruner_query pruner_delete pruner_query pruner_query ll_commit pruner_drop -step pruner_create_temp: - CREATE TEMPORARY TABLE horizons_tst (data int unique) WITH (autovacuum_enabled = off); - INSERT INTO horizons_tst(data) VALUES(1),(2); - -step ll_start: - BEGIN TRANSACTION ISOLATION LEVEL REPEATABLE READ; - SELECT 1; - -?column? --------- - 1 -(1 row) - -step pruner_query_plan: - EXPLAIN (COSTS OFF) SELECT * FROM horizons_tst ORDER BY data; - -QUERY PLAN ------------------------------------------------------------ -Index Only Scan using horizons_tst_data_key on horizons_tst -(1 row) - -step pruner_query: - SELECT explain_json($$ - EXPLAIN (FORMAT json, BUFFERS, ANALYZE) - SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; - -?column? --------- - 2 -(1 row) - -step pruner_query: - SELECT explain_json($$ - EXPLAIN (FORMAT json, BUFFERS, ANALYZE) - SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; - -?column? --------- - 2 -(1 row) - -step pruner_delete: - DELETE FROM horizons_tst; - -step pruner_query: - SELECT explain_json($$ - EXPLAIN (FORMAT json, BUFFERS, ANALYZE) - SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; - -?column? --------- - 2 -(1 row) - -step pruner_query: - SELECT explain_json($$ - EXPLAIN (FORMAT json, BUFFERS, ANALYZE) - SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; - -?column? --------- - 0 -(1 row) - -step ll_commit: COMMIT; -step pruner_drop: - DROP TABLE horizons_tst; - - -starting permutation: pruner_create_temp ll_start pruner_query pruner_query pruner_begin pruner_delete pruner_query pruner_query ll_commit pruner_commit pruner_drop -step pruner_create_temp: - CREATE TEMPORARY TABLE horizons_tst (data int unique) WITH (autovacuum_enabled = off); - INSERT INTO horizons_tst(data) VALUES(1),(2); - -step ll_start: - BEGIN TRANSACTION ISOLATION LEVEL REPEATABLE READ; - SELECT 1; - -?column? --------- - 1 -(1 row) - -step pruner_query: - SELECT explain_json($$ - EXPLAIN (FORMAT json, BUFFERS, ANALYZE) - SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; - -?column? --------- - 2 -(1 row) - -step pruner_query: - SELECT explain_json($$ - EXPLAIN (FORMAT json, BUFFERS, ANALYZE) - SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; - -?column? --------- - 2 -(1 row) - -step pruner_begin: BEGIN; -step pruner_delete: - DELETE FROM horizons_tst; - -step pruner_query: - SELECT explain_json($$ - EXPLAIN (FORMAT json, BUFFERS, ANALYZE) - SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; - -?column? --------- - 2 -(1 row) - -step pruner_query: - SELECT explain_json($$ - EXPLAIN (FORMAT json, BUFFERS, ANALYZE) - SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; - -?column? --------- - 2 -(1 row) - -step ll_commit: COMMIT; -step pruner_commit: COMMIT; -step pruner_drop: - DROP TABLE horizons_tst; - - -starting permutation: pruner_create_perm ll_start pruner_query pruner_query pruner_delete pruner_vacuum pruner_query pruner_query ll_commit pruner_drop -step pruner_create_perm: - CREATE TABLE horizons_tst (data int unique) WITH (autovacuum_enabled = off); - INSERT INTO horizons_tst(data) VALUES(1),(2); - -step ll_start: - BEGIN TRANSACTION ISOLATION LEVEL REPEATABLE READ; - SELECT 1; - -?column? --------- - 1 -(1 row) - -step pruner_query: - SELECT explain_json($$ - EXPLAIN (FORMAT json, BUFFERS, ANALYZE) - SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; - -?column? --------- - 2 -(1 row) - -step pruner_query: - SELECT explain_json($$ - EXPLAIN (FORMAT json, BUFFERS, ANALYZE) - SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; - -?column? --------- - 2 -(1 row) - -step pruner_delete: - DELETE FROM horizons_tst; - -step pruner_vacuum: - VACUUM horizons_tst; - -step pruner_query: - SELECT explain_json($$ - EXPLAIN (FORMAT json, BUFFERS, ANALYZE) - SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; - -?column? --------- - 2 -(1 row) - -step pruner_query: - SELECT explain_json($$ - EXPLAIN (FORMAT json, BUFFERS, ANALYZE) - SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; - -?column? --------- - 2 -(1 row) - -step ll_commit: COMMIT; -step pruner_drop: - DROP TABLE horizons_tst; - - -starting permutation: pruner_create_temp ll_start pruner_query pruner_query pruner_delete pruner_vacuum pruner_query pruner_query ll_commit pruner_drop -step pruner_create_temp: - CREATE TEMPORARY TABLE horizons_tst (data int unique) WITH (autovacuum_enabled = off); - INSERT INTO horizons_tst(data) VALUES(1),(2); - -step ll_start: - BEGIN TRANSACTION ISOLATION LEVEL REPEATABLE READ; - SELECT 1; - -?column? --------- - 1 -(1 row) - -step pruner_query: - SELECT explain_json($$ - EXPLAIN (FORMAT json, BUFFERS, ANALYZE) - SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; - -?column? --------- - 2 -(1 row) - -step pruner_query: - SELECT explain_json($$ - EXPLAIN (FORMAT json, BUFFERS, ANALYZE) - SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; - -?column? --------- - 2 -(1 row) - -step pruner_delete: - DELETE FROM horizons_tst; - -step pruner_vacuum: - VACUUM horizons_tst; - -step pruner_query: - SELECT explain_json($$ - EXPLAIN (FORMAT json, BUFFERS, ANALYZE) - SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; - -?column? --------- - 0 -(1 row) - -step pruner_query: - SELECT explain_json($$ - EXPLAIN (FORMAT json, BUFFERS, ANALYZE) - SELECT * FROM horizons_tst ORDER BY data;$$)->0->'Plan'->'Heap Fetches'; - -?column? --------- - 0 -(1 row) - -step ll_commit: COMMIT; -step pruner_drop: - DROP TABLE horizons_tst; - +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/predicate-hash.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/predicate-hash.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/predicate-hash.out 2024-03-29 10:06:51.879270891 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/predicate-hash.out 2024-03-29 10:13:20.411275146 +0000 @@ -1,819 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: rxy1 wx1 c1 rxy2 wy2 c2 -step rxy1: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step wx1: insert into hash_tbl (id, p) - select g, 30 from generate_series(41, 50) g; -step c1: commit; -step rxy2: select sum(p) from hash_tbl where p=30; -sum ---- -600 -(1 row) - -step wy2: insert into hash_tbl (id, p) - select g, 20 from generate_series(51, 60) g; -step c2: commit; - -starting permutation: rxy2 wy2 c2 rxy1 wx1 c1 -step rxy2: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step wy2: insert into hash_tbl (id, p) - select g, 20 from generate_series(51, 60) g; -step c2: commit; -step rxy1: select sum(p) from hash_tbl where p=20; -sum ---- -400 -(1 row) - -step wx1: insert into hash_tbl (id, p) - select g, 30 from generate_series(41, 50) g; -step c1: commit; - -starting permutation: rxy3 wx3 c1 rxy4 wy4 c2 -step rxy3: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step wx3: insert into hash_tbl (id, p) - select g, 50 from generate_series(41, 50) g; -step c1: commit; -step rxy4: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step wy4: insert into hash_tbl (id, p) - select g, 60 from generate_series(51, 60) g; -step c2: commit; - -starting permutation: rxy4 wy4 c2 rxy3 wx3 c1 -step rxy4: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step wy4: insert into hash_tbl (id, p) - select g, 60 from generate_series(51, 60) g; -step c2: commit; -step rxy3: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step wx3: insert into hash_tbl (id, p) - select g, 50 from generate_series(41, 50) g; -step c1: commit; - -starting permutation: rxy1 wx1 rxy2 c1 wy2 c2 -step rxy1: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step wx1: insert into hash_tbl (id, p) - select g, 30 from generate_series(41, 50) g; -step rxy2: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step c1: commit; -step wy2: insert into hash_tbl (id, p) - select g, 20 from generate_series(51, 60) g; -ERROR: could not serialize access due to read/write dependencies among transactions -step c2: commit; - -starting permutation: rxy1 wx1 rxy2 wy2 c1 c2 -step rxy1: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step wx1: insert into hash_tbl (id, p) - select g, 30 from generate_series(41, 50) g; -step rxy2: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step wy2: insert into hash_tbl (id, p) - select g, 20 from generate_series(51, 60) g; -step c1: commit; -step c2: commit; -ERROR: could not serialize access due to read/write dependencies among transactions - -starting permutation: rxy1 wx1 rxy2 wy2 c2 c1 -step rxy1: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step wx1: insert into hash_tbl (id, p) - select g, 30 from generate_series(41, 50) g; -step rxy2: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step wy2: insert into hash_tbl (id, p) - select g, 20 from generate_series(51, 60) g; -step c2: commit; -step c1: commit; -ERROR: could not serialize access due to read/write dependencies among transactions - -starting permutation: rxy1 rxy2 wx1 c1 wy2 c2 -step rxy1: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step rxy2: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step wx1: insert into hash_tbl (id, p) - select g, 30 from generate_series(41, 50) g; -step c1: commit; -step wy2: insert into hash_tbl (id, p) - select g, 20 from generate_series(51, 60) g; -ERROR: could not serialize access due to read/write dependencies among transactions -step c2: commit; - -starting permutation: rxy1 rxy2 wx1 wy2 c1 c2 -step rxy1: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step rxy2: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step wx1: insert into hash_tbl (id, p) - select g, 30 from generate_series(41, 50) g; -step wy2: insert into hash_tbl (id, p) - select g, 20 from generate_series(51, 60) g; -step c1: commit; -step c2: commit; -ERROR: could not serialize access due to read/write dependencies among transactions - -starting permutation: rxy1 rxy2 wx1 wy2 c2 c1 -step rxy1: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step rxy2: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step wx1: insert into hash_tbl (id, p) - select g, 30 from generate_series(41, 50) g; -step wy2: insert into hash_tbl (id, p) - select g, 20 from generate_series(51, 60) g; -step c2: commit; -step c1: commit; -ERROR: could not serialize access due to read/write dependencies among transactions - -starting permutation: rxy1 rxy2 wy2 wx1 c1 c2 -step rxy1: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step rxy2: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step wy2: insert into hash_tbl (id, p) - select g, 20 from generate_series(51, 60) g; -step wx1: insert into hash_tbl (id, p) - select g, 30 from generate_series(41, 50) g; -step c1: commit; -step c2: commit; -ERROR: could not serialize access due to read/write dependencies among transactions - -starting permutation: rxy1 rxy2 wy2 wx1 c2 c1 -step rxy1: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step rxy2: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step wy2: insert into hash_tbl (id, p) - select g, 20 from generate_series(51, 60) g; -step wx1: insert into hash_tbl (id, p) - select g, 30 from generate_series(41, 50) g; -step c2: commit; -step c1: commit; -ERROR: could not serialize access due to read/write dependencies among transactions - -starting permutation: rxy1 rxy2 wy2 c2 wx1 c1 -step rxy1: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step rxy2: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step wy2: insert into hash_tbl (id, p) - select g, 20 from generate_series(51, 60) g; -step c2: commit; -step wx1: insert into hash_tbl (id, p) - select g, 30 from generate_series(41, 50) g; -ERROR: could not serialize access due to read/write dependencies among transactions -step c1: commit; - -starting permutation: rxy2 rxy1 wx1 c1 wy2 c2 -step rxy2: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step rxy1: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step wx1: insert into hash_tbl (id, p) - select g, 30 from generate_series(41, 50) g; -step c1: commit; -step wy2: insert into hash_tbl (id, p) - select g, 20 from generate_series(51, 60) g; -ERROR: could not serialize access due to read/write dependencies among transactions -step c2: commit; - -starting permutation: rxy2 rxy1 wx1 wy2 c1 c2 -step rxy2: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step rxy1: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step wx1: insert into hash_tbl (id, p) - select g, 30 from generate_series(41, 50) g; -step wy2: insert into hash_tbl (id, p) - select g, 20 from generate_series(51, 60) g; -step c1: commit; -step c2: commit; -ERROR: could not serialize access due to read/write dependencies among transactions - -starting permutation: rxy2 rxy1 wx1 wy2 c2 c1 -step rxy2: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step rxy1: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step wx1: insert into hash_tbl (id, p) - select g, 30 from generate_series(41, 50) g; -step wy2: insert into hash_tbl (id, p) - select g, 20 from generate_series(51, 60) g; -step c2: commit; -step c1: commit; -ERROR: could not serialize access due to read/write dependencies among transactions - -starting permutation: rxy2 rxy1 wy2 wx1 c1 c2 -step rxy2: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step rxy1: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step wy2: insert into hash_tbl (id, p) - select g, 20 from generate_series(51, 60) g; -step wx1: insert into hash_tbl (id, p) - select g, 30 from generate_series(41, 50) g; -step c1: commit; -step c2: commit; -ERROR: could not serialize access due to read/write dependencies among transactions - -starting permutation: rxy2 rxy1 wy2 wx1 c2 c1 -step rxy2: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step rxy1: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step wy2: insert into hash_tbl (id, p) - select g, 20 from generate_series(51, 60) g; -step wx1: insert into hash_tbl (id, p) - select g, 30 from generate_series(41, 50) g; -step c2: commit; -step c1: commit; -ERROR: could not serialize access due to read/write dependencies among transactions - -starting permutation: rxy2 rxy1 wy2 c2 wx1 c1 -step rxy2: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step rxy1: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step wy2: insert into hash_tbl (id, p) - select g, 20 from generate_series(51, 60) g; -step c2: commit; -step wx1: insert into hash_tbl (id, p) - select g, 30 from generate_series(41, 50) g; -ERROR: could not serialize access due to read/write dependencies among transactions -step c1: commit; - -starting permutation: rxy2 wy2 rxy1 wx1 c1 c2 -step rxy2: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step wy2: insert into hash_tbl (id, p) - select g, 20 from generate_series(51, 60) g; -step rxy1: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step wx1: insert into hash_tbl (id, p) - select g, 30 from generate_series(41, 50) g; -step c1: commit; -step c2: commit; -ERROR: could not serialize access due to read/write dependencies among transactions - -starting permutation: rxy2 wy2 rxy1 wx1 c2 c1 -step rxy2: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step wy2: insert into hash_tbl (id, p) - select g, 20 from generate_series(51, 60) g; -step rxy1: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step wx1: insert into hash_tbl (id, p) - select g, 30 from generate_series(41, 50) g; -step c2: commit; -step c1: commit; -ERROR: could not serialize access due to read/write dependencies among transactions - -starting permutation: rxy2 wy2 rxy1 c2 wx1 c1 -step rxy2: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step wy2: insert into hash_tbl (id, p) - select g, 20 from generate_series(51, 60) g; -step rxy1: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step c2: commit; -step wx1: insert into hash_tbl (id, p) - select g, 30 from generate_series(41, 50) g; -ERROR: could not serialize access due to read/write dependencies among transactions -step c1: commit; - -starting permutation: rxy3 wx3 rxy4 c1 wy4 c2 -step rxy3: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step wx3: insert into hash_tbl (id, p) - select g, 50 from generate_series(41, 50) g; -step rxy4: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step c1: commit; -step wy4: insert into hash_tbl (id, p) - select g, 60 from generate_series(51, 60) g; -step c2: commit; - -starting permutation: rxy3 wx3 rxy4 wy4 c1 c2 -step rxy3: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step wx3: insert into hash_tbl (id, p) - select g, 50 from generate_series(41, 50) g; -step rxy4: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step wy4: insert into hash_tbl (id, p) - select g, 60 from generate_series(51, 60) g; -step c1: commit; -step c2: commit; - -starting permutation: rxy3 wx3 rxy4 wy4 c2 c1 -step rxy3: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step wx3: insert into hash_tbl (id, p) - select g, 50 from generate_series(41, 50) g; -step rxy4: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step wy4: insert into hash_tbl (id, p) - select g, 60 from generate_series(51, 60) g; -step c2: commit; -step c1: commit; - -starting permutation: rxy3 rxy4 wx3 c1 wy4 c2 -step rxy3: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step rxy4: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step wx3: insert into hash_tbl (id, p) - select g, 50 from generate_series(41, 50) g; -step c1: commit; -step wy4: insert into hash_tbl (id, p) - select g, 60 from generate_series(51, 60) g; -step c2: commit; - -starting permutation: rxy3 rxy4 wx3 wy4 c1 c2 -step rxy3: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step rxy4: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step wx3: insert into hash_tbl (id, p) - select g, 50 from generate_series(41, 50) g; -step wy4: insert into hash_tbl (id, p) - select g, 60 from generate_series(51, 60) g; -step c1: commit; -step c2: commit; - -starting permutation: rxy3 rxy4 wx3 wy4 c2 c1 -step rxy3: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step rxy4: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step wx3: insert into hash_tbl (id, p) - select g, 50 from generate_series(41, 50) g; -step wy4: insert into hash_tbl (id, p) - select g, 60 from generate_series(51, 60) g; -step c2: commit; -step c1: commit; - -starting permutation: rxy3 rxy4 wy4 wx3 c1 c2 -step rxy3: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step rxy4: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step wy4: insert into hash_tbl (id, p) - select g, 60 from generate_series(51, 60) g; -step wx3: insert into hash_tbl (id, p) - select g, 50 from generate_series(41, 50) g; -step c1: commit; -step c2: commit; - -starting permutation: rxy3 rxy4 wy4 wx3 c2 c1 -step rxy3: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step rxy4: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step wy4: insert into hash_tbl (id, p) - select g, 60 from generate_series(51, 60) g; -step wx3: insert into hash_tbl (id, p) - select g, 50 from generate_series(41, 50) g; -step c2: commit; -step c1: commit; - -starting permutation: rxy3 rxy4 wy4 c2 wx3 c1 -step rxy3: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step rxy4: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step wy4: insert into hash_tbl (id, p) - select g, 60 from generate_series(51, 60) g; -step c2: commit; -step wx3: insert into hash_tbl (id, p) - select g, 50 from generate_series(41, 50) g; -step c1: commit; - -starting permutation: rxy4 rxy3 wx3 c1 wy4 c2 -step rxy4: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step rxy3: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step wx3: insert into hash_tbl (id, p) - select g, 50 from generate_series(41, 50) g; -step c1: commit; -step wy4: insert into hash_tbl (id, p) - select g, 60 from generate_series(51, 60) g; -step c2: commit; - -starting permutation: rxy4 rxy3 wx3 wy4 c1 c2 -step rxy4: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step rxy3: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step wx3: insert into hash_tbl (id, p) - select g, 50 from generate_series(41, 50) g; -step wy4: insert into hash_tbl (id, p) - select g, 60 from generate_series(51, 60) g; -step c1: commit; -step c2: commit; - -starting permutation: rxy4 rxy3 wx3 wy4 c2 c1 -step rxy4: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step rxy3: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step wx3: insert into hash_tbl (id, p) - select g, 50 from generate_series(41, 50) g; -step wy4: insert into hash_tbl (id, p) - select g, 60 from generate_series(51, 60) g; -step c2: commit; -step c1: commit; - -starting permutation: rxy4 rxy3 wy4 wx3 c1 c2 -step rxy4: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step rxy3: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step wy4: insert into hash_tbl (id, p) - select g, 60 from generate_series(51, 60) g; -step wx3: insert into hash_tbl (id, p) - select g, 50 from generate_series(41, 50) g; -step c1: commit; -step c2: commit; - -starting permutation: rxy4 rxy3 wy4 wx3 c2 c1 -step rxy4: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step rxy3: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step wy4: insert into hash_tbl (id, p) - select g, 60 from generate_series(51, 60) g; -step wx3: insert into hash_tbl (id, p) - select g, 50 from generate_series(41, 50) g; -step c2: commit; -step c1: commit; - -starting permutation: rxy4 rxy3 wy4 c2 wx3 c1 -step rxy4: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step rxy3: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step wy4: insert into hash_tbl (id, p) - select g, 60 from generate_series(51, 60) g; -step c2: commit; -step wx3: insert into hash_tbl (id, p) - select g, 50 from generate_series(41, 50) g; -step c1: commit; - -starting permutation: rxy4 wy4 rxy3 wx3 c1 c2 -step rxy4: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step wy4: insert into hash_tbl (id, p) - select g, 60 from generate_series(51, 60) g; -step rxy3: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step wx3: insert into hash_tbl (id, p) - select g, 50 from generate_series(41, 50) g; -step c1: commit; -step c2: commit; - -starting permutation: rxy4 wy4 rxy3 wx3 c2 c1 -step rxy4: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step wy4: insert into hash_tbl (id, p) - select g, 60 from generate_series(51, 60) g; -step rxy3: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step wx3: insert into hash_tbl (id, p) - select g, 50 from generate_series(41, 50) g; -step c2: commit; -step c1: commit; - -starting permutation: rxy4 wy4 rxy3 c2 wx3 c1 -step rxy4: select sum(p) from hash_tbl where p=30; -sum ---- -300 -(1 row) - -step wy4: insert into hash_tbl (id, p) - select g, 60 from generate_series(51, 60) g; -step rxy3: select sum(p) from hash_tbl where p=20; -sum ---- -200 -(1 row) - -step c2: commit; -step wx3: insert into hash_tbl (id, p) - select g, 50 from generate_series(41, 50) g; -step c1: commit; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/predicate-gist.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/predicate-gist.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/predicate-gist.out 2024-03-29 10:06:51.879270891 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/predicate-gist.out 2024-03-29 10:13:20.435275142 +0000 @@ -1,819 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: rxy1 wx1 c1 rxy2 wy2 c2 -step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500); - sum ------- -311250 -(1 row) - -step wx1: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(15, 20) g; -step c1: commit; -step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500); - sum -------- -2233750 -(1 row) - -step wy2: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(1, 5) g; -step c2: commit; - -starting permutation: rxy2 wy2 c2 rxy1 wx1 c1 -step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500); - sum -------- -2188750 -(1 row) - -step wy2: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(1, 5) g; -step c2: commit; -step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500); - sum ------- -316250 -(1 row) - -step wx1: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(15, 20) g; -step c1: commit; - -starting permutation: rxy3 wx3 c1 rxy4 wy4 c2 -step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000); - sum -------- -3202000 -(1 row) - -step wx3: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(12, 18) g; -step c1: commit; -step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000); - sum ------ -49500 -(1 row) - -step wy4: insert into gist_point_tbl (id, p) - select g, point(g*50, g*50) from generate_series(1, 20) g; -step c2: commit; - -starting permutation: rxy4 wy4 c2 rxy3 wx3 c1 -step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000); - sum ------ -49500 -(1 row) - -step wy4: insert into gist_point_tbl (id, p) - select g, point(g*50, g*50) from generate_series(1, 20) g; -step c2: commit; -step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000); - sum -------- -3202000 -(1 row) - -step wx3: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(12, 18) g; -step c1: commit; - -starting permutation: rxy1 wx1 rxy2 c1 wy2 c2 -step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500); - sum ------- -311250 -(1 row) - -step wx1: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(15, 20) g; -step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500); - sum -------- -2188750 -(1 row) - -step c1: commit; -step wy2: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(1, 5) g; -ERROR: could not serialize access due to read/write dependencies among transactions -step c2: commit; - -starting permutation: rxy1 wx1 rxy2 wy2 c1 c2 -step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500); - sum ------- -311250 -(1 row) - -step wx1: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(15, 20) g; -step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500); - sum -------- -2188750 -(1 row) - -step wy2: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(1, 5) g; -step c1: commit; -step c2: commit; -ERROR: could not serialize access due to read/write dependencies among transactions - -starting permutation: rxy1 wx1 rxy2 wy2 c2 c1 -step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500); - sum ------- -311250 -(1 row) - -step wx1: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(15, 20) g; -step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500); - sum -------- -2188750 -(1 row) - -step wy2: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(1, 5) g; -step c2: commit; -step c1: commit; -ERROR: could not serialize access due to read/write dependencies among transactions - -starting permutation: rxy1 rxy2 wx1 c1 wy2 c2 -step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500); - sum ------- -311250 -(1 row) - -step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500); - sum -------- -2188750 -(1 row) - -step wx1: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(15, 20) g; -step c1: commit; -step wy2: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(1, 5) g; -ERROR: could not serialize access due to read/write dependencies among transactions -step c2: commit; - -starting permutation: rxy1 rxy2 wx1 wy2 c1 c2 -step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500); - sum ------- -311250 -(1 row) - -step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500); - sum -------- -2188750 -(1 row) - -step wx1: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(15, 20) g; -step wy2: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(1, 5) g; -step c1: commit; -step c2: commit; -ERROR: could not serialize access due to read/write dependencies among transactions - -starting permutation: rxy1 rxy2 wx1 wy2 c2 c1 -step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500); - sum ------- -311250 -(1 row) - -step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500); - sum -------- -2188750 -(1 row) - -step wx1: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(15, 20) g; -step wy2: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(1, 5) g; -step c2: commit; -step c1: commit; -ERROR: could not serialize access due to read/write dependencies among transactions - -starting permutation: rxy1 rxy2 wy2 wx1 c1 c2 -step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500); - sum ------- -311250 -(1 row) - -step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500); - sum -------- -2188750 -(1 row) - -step wy2: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(1, 5) g; -step wx1: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(15, 20) g; -step c1: commit; -step c2: commit; -ERROR: could not serialize access due to read/write dependencies among transactions - -starting permutation: rxy1 rxy2 wy2 wx1 c2 c1 -step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500); - sum ------- -311250 -(1 row) - -step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500); - sum -------- -2188750 -(1 row) - -step wy2: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(1, 5) g; -step wx1: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(15, 20) g; -step c2: commit; -step c1: commit; -ERROR: could not serialize access due to read/write dependencies among transactions - -starting permutation: rxy1 rxy2 wy2 c2 wx1 c1 -step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500); - sum ------- -311250 -(1 row) - -step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500); - sum -------- -2188750 -(1 row) - -step wy2: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(1, 5) g; -step c2: commit; -step wx1: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(15, 20) g; -ERROR: could not serialize access due to read/write dependencies among transactions -step c1: commit; - -starting permutation: rxy2 rxy1 wx1 c1 wy2 c2 -step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500); - sum -------- -2188750 -(1 row) - -step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500); - sum ------- -311250 -(1 row) - -step wx1: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(15, 20) g; -step c1: commit; -step wy2: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(1, 5) g; -ERROR: could not serialize access due to read/write dependencies among transactions -step c2: commit; - -starting permutation: rxy2 rxy1 wx1 wy2 c1 c2 -step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500); - sum -------- -2188750 -(1 row) - -step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500); - sum ------- -311250 -(1 row) - -step wx1: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(15, 20) g; -step wy2: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(1, 5) g; -step c1: commit; -step c2: commit; -ERROR: could not serialize access due to read/write dependencies among transactions - -starting permutation: rxy2 rxy1 wx1 wy2 c2 c1 -step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500); - sum -------- -2188750 -(1 row) - -step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500); - sum ------- -311250 -(1 row) - -step wx1: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(15, 20) g; -step wy2: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(1, 5) g; -step c2: commit; -step c1: commit; -ERROR: could not serialize access due to read/write dependencies among transactions - -starting permutation: rxy2 rxy1 wy2 wx1 c1 c2 -step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500); - sum -------- -2188750 -(1 row) - -step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500); - sum ------- -311250 -(1 row) - -step wy2: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(1, 5) g; -step wx1: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(15, 20) g; -step c1: commit; -step c2: commit; -ERROR: could not serialize access due to read/write dependencies among transactions - -starting permutation: rxy2 rxy1 wy2 wx1 c2 c1 -step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500); - sum -------- -2188750 -(1 row) - -step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500); - sum ------- -311250 -(1 row) - -step wy2: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(1, 5) g; -step wx1: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(15, 20) g; -step c2: commit; -step c1: commit; -ERROR: could not serialize access due to read/write dependencies among transactions - -starting permutation: rxy2 rxy1 wy2 c2 wx1 c1 -step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500); - sum -------- -2188750 -(1 row) - -step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500); - sum ------- -311250 -(1 row) - -step wy2: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(1, 5) g; -step c2: commit; -step wx1: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(15, 20) g; -ERROR: could not serialize access due to read/write dependencies among transactions -step c1: commit; - -starting permutation: rxy2 wy2 rxy1 wx1 c1 c2 -step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500); - sum -------- -2188750 -(1 row) - -step wy2: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(1, 5) g; -step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500); - sum ------- -311250 -(1 row) - -step wx1: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(15, 20) g; -step c1: commit; -step c2: commit; -ERROR: could not serialize access due to read/write dependencies among transactions - -starting permutation: rxy2 wy2 rxy1 wx1 c2 c1 -step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500); - sum -------- -2188750 -(1 row) - -step wy2: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(1, 5) g; -step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500); - sum ------- -311250 -(1 row) - -step wx1: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(15, 20) g; -step c2: commit; -step c1: commit; -ERROR: could not serialize access due to read/write dependencies among transactions - -starting permutation: rxy2 wy2 rxy1 c2 wx1 c1 -step rxy2: select sum(p[0]) from gist_point_tbl where p >> point(7500,7500); - sum -------- -2188750 -(1 row) - -step wy2: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(1, 5) g; -step rxy1: select sum(p[0]) from gist_point_tbl where p << point(2500, 2500); - sum ------- -311250 -(1 row) - -step c2: commit; -step wx1: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(15, 20) g; -ERROR: could not serialize access due to read/write dependencies among transactions -step c1: commit; - -starting permutation: rxy3 wx3 rxy4 c1 wy4 c2 -step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000); - sum -------- -3202000 -(1 row) - -step wx3: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(12, 18) g; -step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000); - sum ------ -49500 -(1 row) - -step c1: commit; -step wy4: insert into gist_point_tbl (id, p) - select g, point(g*50, g*50) from generate_series(1, 20) g; -step c2: commit; - -starting permutation: rxy3 wx3 rxy4 wy4 c1 c2 -step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000); - sum -------- -3202000 -(1 row) - -step wx3: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(12, 18) g; -step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000); - sum ------ -49500 -(1 row) - -step wy4: insert into gist_point_tbl (id, p) - select g, point(g*50, g*50) from generate_series(1, 20) g; -step c1: commit; -step c2: commit; - -starting permutation: rxy3 wx3 rxy4 wy4 c2 c1 -step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000); - sum -------- -3202000 -(1 row) - -step wx3: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(12, 18) g; -step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000); - sum ------ -49500 -(1 row) - -step wy4: insert into gist_point_tbl (id, p) - select g, point(g*50, g*50) from generate_series(1, 20) g; -step c2: commit; -step c1: commit; - -starting permutation: rxy3 rxy4 wx3 c1 wy4 c2 -step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000); - sum -------- -3202000 -(1 row) - -step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000); - sum ------ -49500 -(1 row) - -step wx3: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(12, 18) g; -step c1: commit; -step wy4: insert into gist_point_tbl (id, p) - select g, point(g*50, g*50) from generate_series(1, 20) g; -step c2: commit; - -starting permutation: rxy3 rxy4 wx3 wy4 c1 c2 -step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000); - sum -------- -3202000 -(1 row) - -step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000); - sum ------ -49500 -(1 row) - -step wx3: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(12, 18) g; -step wy4: insert into gist_point_tbl (id, p) - select g, point(g*50, g*50) from generate_series(1, 20) g; -step c1: commit; -step c2: commit; - -starting permutation: rxy3 rxy4 wx3 wy4 c2 c1 -step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000); - sum -------- -3202000 -(1 row) - -step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000); - sum ------ -49500 -(1 row) - -step wx3: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(12, 18) g; -step wy4: insert into gist_point_tbl (id, p) - select g, point(g*50, g*50) from generate_series(1, 20) g; -step c2: commit; -step c1: commit; - -starting permutation: rxy3 rxy4 wy4 wx3 c1 c2 -step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000); - sum -------- -3202000 -(1 row) - -step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000); - sum ------ -49500 -(1 row) - -step wy4: insert into gist_point_tbl (id, p) - select g, point(g*50, g*50) from generate_series(1, 20) g; -step wx3: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(12, 18) g; -step c1: commit; -step c2: commit; - -starting permutation: rxy3 rxy4 wy4 wx3 c2 c1 -step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000); - sum -------- -3202000 -(1 row) - -step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000); - sum ------ -49500 -(1 row) - -step wy4: insert into gist_point_tbl (id, p) - select g, point(g*50, g*50) from generate_series(1, 20) g; -step wx3: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(12, 18) g; -step c2: commit; -step c1: commit; - -starting permutation: rxy3 rxy4 wy4 c2 wx3 c1 -step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000); - sum -------- -3202000 -(1 row) - -step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000); - sum ------ -49500 -(1 row) - -step wy4: insert into gist_point_tbl (id, p) - select g, point(g*50, g*50) from generate_series(1, 20) g; -step c2: commit; -step wx3: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(12, 18) g; -step c1: commit; - -starting permutation: rxy4 rxy3 wx3 c1 wy4 c2 -step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000); - sum ------ -49500 -(1 row) - -step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000); - sum -------- -3202000 -(1 row) - -step wx3: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(12, 18) g; -step c1: commit; -step wy4: insert into gist_point_tbl (id, p) - select g, point(g*50, g*50) from generate_series(1, 20) g; -step c2: commit; - -starting permutation: rxy4 rxy3 wx3 wy4 c1 c2 -step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000); - sum ------ -49500 -(1 row) - -step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000); - sum -------- -3202000 -(1 row) - -step wx3: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(12, 18) g; -step wy4: insert into gist_point_tbl (id, p) - select g, point(g*50, g*50) from generate_series(1, 20) g; -step c1: commit; -step c2: commit; - -starting permutation: rxy4 rxy3 wx3 wy4 c2 c1 -step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000); - sum ------ -49500 -(1 row) - -step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000); - sum -------- -3202000 -(1 row) - -step wx3: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(12, 18) g; -step wy4: insert into gist_point_tbl (id, p) - select g, point(g*50, g*50) from generate_series(1, 20) g; -step c2: commit; -step c1: commit; - -starting permutation: rxy4 rxy3 wy4 wx3 c1 c2 -step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000); - sum ------ -49500 -(1 row) - -step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000); - sum -------- -3202000 -(1 row) - -step wy4: insert into gist_point_tbl (id, p) - select g, point(g*50, g*50) from generate_series(1, 20) g; -step wx3: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(12, 18) g; -step c1: commit; -step c2: commit; - -starting permutation: rxy4 rxy3 wy4 wx3 c2 c1 -step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000); - sum ------ -49500 -(1 row) - -step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000); - sum -------- -3202000 -(1 row) - -step wy4: insert into gist_point_tbl (id, p) - select g, point(g*50, g*50) from generate_series(1, 20) g; -step wx3: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(12, 18) g; -step c2: commit; -step c1: commit; - -starting permutation: rxy4 rxy3 wy4 c2 wx3 c1 -step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000); - sum ------ -49500 -(1 row) - -step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000); - sum -------- -3202000 -(1 row) - -step wy4: insert into gist_point_tbl (id, p) - select g, point(g*50, g*50) from generate_series(1, 20) g; -step c2: commit; -step wx3: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(12, 18) g; -step c1: commit; - -starting permutation: rxy4 wy4 rxy3 wx3 c1 c2 -step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000); - sum ------ -49500 -(1 row) - -step wy4: insert into gist_point_tbl (id, p) - select g, point(g*50, g*50) from generate_series(1, 20) g; -step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000); - sum -------- -3202000 -(1 row) - -step wx3: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(12, 18) g; -step c1: commit; -step c2: commit; - -starting permutation: rxy4 wy4 rxy3 wx3 c2 c1 -step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000); - sum ------ -49500 -(1 row) - -step wy4: insert into gist_point_tbl (id, p) - select g, point(g*50, g*50) from generate_series(1, 20) g; -step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000); - sum -------- -3202000 -(1 row) - -step wx3: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(12, 18) g; -step c2: commit; -step c1: commit; - -starting permutation: rxy4 wy4 rxy3 c2 wx3 c1 -step rxy4: select sum(p[0]) from gist_point_tbl where p << point(1000,1000); - sum ------ -49500 -(1 row) - -step wy4: insert into gist_point_tbl (id, p) - select g, point(g*50, g*50) from generate_series(1, 20) g; -step rxy3: select sum(p[0]) from gist_point_tbl where p >> point(6000,6000); - sum -------- -3202000 -(1 row) - -step c2: commit; -step wx3: insert into gist_point_tbl (id, p) - select g, point(g*500, g*500) from generate_series(12, 18) g; -step c1: commit; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/predicate-gin.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/predicate-gin.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/predicate-gin.out 2024-03-29 10:06:51.879270891 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/predicate-gin.out 2024-03-29 10:13:20.447275140 +0000 @@ -1,581 +1,3 @@ Parsed test spec with 3 sessions - -starting permutation: ra1 ro2 wo1 c1 wa2 c2 -step ra1: select * from gin_tbl where p @> array[1] limit 1; -p ---- -{1} -(1 row) - -step ro2: select count(*) from other_tbl; -count ------ - 0 -(1 row) - -step wo1: insert into other_tbl values (1); -step c1: commit; -step wa2: insert into gin_tbl values (array[1]); -ERROR: could not serialize access due to read/write dependencies among transactions -step c2: commit; - -starting permutation: ro2 ra1 wo1 c1 wa2 c2 -step ro2: select count(*) from other_tbl; -count ------ - 0 -(1 row) - -step ra1: select * from gin_tbl where p @> array[1] limit 1; -p ---- -{1} -(1 row) - -step wo1: insert into other_tbl values (1); -step c1: commit; -step wa2: insert into gin_tbl values (array[1]); -ERROR: could not serialize access due to read/write dependencies among transactions -step c2: commit; - -starting permutation: ro2 ra1 wo1 wa2 c1 c2 -step ro2: select count(*) from other_tbl; -count ------ - 0 -(1 row) - -step ra1: select * from gin_tbl where p @> array[1] limit 1; -p ---- -{1} -(1 row) - -step wo1: insert into other_tbl values (1); -step wa2: insert into gin_tbl values (array[1]); -step c1: commit; -step c2: commit; -ERROR: could not serialize access due to read/write dependencies among transactions - -starting permutation: ra1 ro2 wa2 wo1 c1 c2 -step ra1: select * from gin_tbl where p @> array[1] limit 1; -p ---- -{1} -(1 row) - -step ro2: select count(*) from other_tbl; -count ------ - 0 -(1 row) - -step wa2: insert into gin_tbl values (array[1]); -step wo1: insert into other_tbl values (1); -step c1: commit; -step c2: commit; -ERROR: could not serialize access due to read/write dependencies among transactions - -starting permutation: rb1 ro2 wo1 c1 wb2 c2 -step rb1: select count(*) from gin_tbl where p @> array[2]; -count ------ - 1 -(1 row) - -step ro2: select count(*) from other_tbl; -count ------ - 0 -(1 row) - -step wo1: insert into other_tbl values (1); -step c1: commit; -step wb2: insert into gin_tbl values (array[2]); -ERROR: could not serialize access due to read/write dependencies among transactions -step c2: commit; - -starting permutation: ro2 rb1 wo1 c1 wb2 c2 -step ro2: select count(*) from other_tbl; -count ------ - 0 -(1 row) - -step rb1: select count(*) from gin_tbl where p @> array[2]; -count ------ - 1 -(1 row) - -step wo1: insert into other_tbl values (1); -step c1: commit; -step wb2: insert into gin_tbl values (array[2]); -ERROR: could not serialize access due to read/write dependencies among transactions -step c2: commit; - -starting permutation: ro2 rb1 wo1 wb2 c1 c2 -step ro2: select count(*) from other_tbl; -count ------ - 0 -(1 row) - -step rb1: select count(*) from gin_tbl where p @> array[2]; -count ------ - 1 -(1 row) - -step wo1: insert into other_tbl values (1); -step wb2: insert into gin_tbl values (array[2]); -step c1: commit; -step c2: commit; -ERROR: could not serialize access due to read/write dependencies among transactions - -starting permutation: rb1 ro2 wb2 wo1 c1 c2 -step rb1: select count(*) from gin_tbl where p @> array[2]; -count ------ - 1 -(1 row) - -step ro2: select count(*) from other_tbl; -count ------ - 0 -(1 row) - -step wb2: insert into gin_tbl values (array[2]); -step wo1: insert into other_tbl values (1); -step c1: commit; -step c2: commit; -ERROR: could not serialize access due to read/write dependencies among transactions - -starting permutation: rc1 ro2 wo1 c1 wc2 c2 -step rc1: select count(*) from gin_tbl where p @> array[800]; -count ------ - 1 -(1 row) - -step ro2: select count(*) from other_tbl; -count ------ - 0 -(1 row) - -step wo1: insert into other_tbl values (1); -step c1: commit; -step wc2: insert into gin_tbl values (array[800]); -ERROR: could not serialize access due to read/write dependencies among transactions -step c2: commit; - -starting permutation: ro2 rc1 wo1 c1 wc2 c2 -step ro2: select count(*) from other_tbl; -count ------ - 0 -(1 row) - -step rc1: select count(*) from gin_tbl where p @> array[800]; -count ------ - 1 -(1 row) - -step wo1: insert into other_tbl values (1); -step c1: commit; -step wc2: insert into gin_tbl values (array[800]); -ERROR: could not serialize access due to read/write dependencies among transactions -step c2: commit; - -starting permutation: ro2 rc1 wo1 wc2 c1 c2 -step ro2: select count(*) from other_tbl; -count ------ - 0 -(1 row) - -step rc1: select count(*) from gin_tbl where p @> array[800]; -count ------ - 1 -(1 row) - -step wo1: insert into other_tbl values (1); -step wc2: insert into gin_tbl values (array[800]); -step c1: commit; -step c2: commit; -ERROR: could not serialize access due to read/write dependencies among transactions - -starting permutation: rc1 ro2 wc2 wo1 c1 c2 -step rc1: select count(*) from gin_tbl where p @> array[800]; -count ------ - 1 -(1 row) - -step ro2: select count(*) from other_tbl; -count ------ - 0 -(1 row) - -step wc2: insert into gin_tbl values (array[800]); -step wo1: insert into other_tbl values (1); -step c1: commit; -step c2: commit; -ERROR: could not serialize access due to read/write dependencies among transactions - -starting permutation: ra1 ro2 wo1 c1 wb2 c2 -step ra1: select * from gin_tbl where p @> array[1] limit 1; -p ---- -{1} -(1 row) - -step ro2: select count(*) from other_tbl; -count ------ - 0 -(1 row) - -step wo1: insert into other_tbl values (1); -step c1: commit; -step wb2: insert into gin_tbl values (array[2]); -step c2: commit; - -starting permutation: ro2 ra1 wo1 c1 wc2 c2 -step ro2: select count(*) from other_tbl; -count ------ - 0 -(1 row) - -step ra1: select * from gin_tbl where p @> array[1] limit 1; -p ---- -{1} -(1 row) - -step wo1: insert into other_tbl values (1); -step c1: commit; -step wc2: insert into gin_tbl values (array[800]); -step c2: commit; - -starting permutation: ro2 rb1 wo1 wa2 c1 c2 -step ro2: select count(*) from other_tbl; -count ------ - 0 -(1 row) - -step rb1: select count(*) from gin_tbl where p @> array[2]; -count ------ - 1 -(1 row) - -step wo1: insert into other_tbl values (1); -step wa2: insert into gin_tbl values (array[1]); -step c1: commit; -step c2: commit; - -starting permutation: rc1 ro2 wa2 wo1 c1 c2 -step rc1: select count(*) from gin_tbl where p @> array[800]; -count ------ - 1 -(1 row) - -step ro2: select count(*) from other_tbl; -count ------ - 0 -(1 row) - -step wa2: insert into gin_tbl values (array[1]); -step wo1: insert into other_tbl values (1); -step c1: commit; -step c2: commit; - -starting permutation: rb1 ro2 wo1 c1 wa2 c2 -step rb1: select count(*) from gin_tbl where p @> array[2]; -count ------ - 1 -(1 row) - -step ro2: select count(*) from other_tbl; -count ------ - 0 -(1 row) - -step wo1: insert into other_tbl values (1); -step c1: commit; -step wa2: insert into gin_tbl values (array[1]); -step c2: commit; - -starting permutation: ro2 rb1 wo1 c1 wc2 c2 -step ro2: select count(*) from other_tbl; -count ------ - 0 -(1 row) - -step rb1: select count(*) from gin_tbl where p @> array[2]; -count ------ - 1 -(1 row) - -step wo1: insert into other_tbl values (1); -step c1: commit; -step wc2: insert into gin_tbl values (array[800]); -step c2: commit; - -starting permutation: ro2 ra1 wo1 wb2 c1 c2 -step ro2: select count(*) from other_tbl; -count ------ - 0 -(1 row) - -step ra1: select * from gin_tbl where p @> array[1] limit 1; -p ---- -{1} -(1 row) - -step wo1: insert into other_tbl values (1); -step wb2: insert into gin_tbl values (array[2]); -step c1: commit; -step c2: commit; - -starting permutation: rc1 ro2 wb2 wo1 c1 c2 -step rc1: select count(*) from gin_tbl where p @> array[800]; -count ------ - 1 -(1 row) - -step ro2: select count(*) from other_tbl; -count ------ - 0 -(1 row) - -step wb2: insert into gin_tbl values (array[2]); -step wo1: insert into other_tbl values (1); -step c1: commit; -step c2: commit; - -starting permutation: rc1 ro2 wo1 c1 wa2 c2 -step rc1: select count(*) from gin_tbl where p @> array[800]; -count ------ - 1 -(1 row) - -step ro2: select count(*) from other_tbl; -count ------ - 0 -(1 row) - -step wo1: insert into other_tbl values (1); -step c1: commit; -step wa2: insert into gin_tbl values (array[1]); -step c2: commit; - -starting permutation: ro2 rc1 wo1 c1 wb2 c2 -step ro2: select count(*) from other_tbl; -count ------ - 0 -(1 row) - -step rc1: select count(*) from gin_tbl where p @> array[800]; -count ------ - 1 -(1 row) - -step wo1: insert into other_tbl values (1); -step c1: commit; -step wb2: insert into gin_tbl values (array[2]); -step c2: commit; - -starting permutation: ro2 ra1 wo1 wc2 c1 c2 -step ro2: select count(*) from other_tbl; -count ------ - 0 -(1 row) - -step ra1: select * from gin_tbl where p @> array[1] limit 1; -p ---- -{1} -(1 row) - -step wo1: insert into other_tbl values (1); -step wc2: insert into gin_tbl values (array[800]); -step c1: commit; -step c2: commit; - -starting permutation: rb1 ro2 wc2 wo1 c1 c2 -step rb1: select count(*) from gin_tbl where p @> array[2]; -count ------ - 1 -(1 row) - -step ro2: select count(*) from other_tbl; -count ------ - 0 -(1 row) - -step wc2: insert into gin_tbl values (array[800]); -step wo1: insert into other_tbl values (1); -step c1: commit; -step c2: commit; - -starting permutation: fu ra1 ro2 wo1 c1 wa2 c2 -step fu: alter index ginidx set (fastupdate = on); -step ra1: select * from gin_tbl where p @> array[1] limit 1; -p ---- -{1} -(1 row) - -step ro2: select count(*) from other_tbl; -count ------ - 0 -(1 row) - -step wo1: insert into other_tbl values (1); -step c1: commit; -step wa2: insert into gin_tbl values (array[1]); -ERROR: could not serialize access due to read/write dependencies among transactions -step c2: commit; - -starting permutation: fu ra1 ro2 wo1 c1 wb2 c2 -step fu: alter index ginidx set (fastupdate = on); -step ra1: select * from gin_tbl where p @> array[1] limit 1; -p ---- -{1} -(1 row) - -step ro2: select count(*) from other_tbl; -count ------ - 0 -(1 row) - -step wo1: insert into other_tbl values (1); -step c1: commit; -step wb2: insert into gin_tbl values (array[2]); -ERROR: could not serialize access due to read/write dependencies among transactions -step c2: commit; - -starting permutation: ra1 ro2 wo1 c1 fu wa2 c2 -step ra1: select * from gin_tbl where p @> array[1] limit 1; -p ---- -{1} -(1 row) - -step ro2: select count(*) from other_tbl; -count ------ - 0 -(1 row) - -step wo1: insert into other_tbl values (1); -step c1: commit; -step fu: alter index ginidx set (fastupdate = on); -step wa2: insert into gin_tbl values (array[1]); -ERROR: could not serialize access due to read/write dependencies among transactions -step c2: commit; - -starting permutation: rd1 ro2 wo1 c1 wd2 c2 -step rd1: select count(*) from gin_tbl where p @> array[2000]; -count ------ - 0 -(1 row) - -step ro2: select count(*) from other_tbl; -count ------ - 0 -(1 row) - -step wo1: insert into other_tbl values (1); -step c1: commit; -step wd2: insert into gin_tbl values (array[2000]); -ERROR: could not serialize access due to read/write dependencies among transactions -step c2: commit; - -starting permutation: ro2 rd1 wo1 c1 wd2 c2 -step ro2: select count(*) from other_tbl; -count ------ - 0 -(1 row) - -step rd1: select count(*) from gin_tbl where p @> array[2000]; -count ------ - 0 -(1 row) - -step wo1: insert into other_tbl values (1); -step c1: commit; -step wd2: insert into gin_tbl values (array[2000]); -ERROR: could not serialize access due to read/write dependencies among transactions -step c2: commit; - -starting permutation: ro2 rd1 wo1 wd2 c1 c2 -step ro2: select count(*) from other_tbl; -count ------ - 0 -(1 row) - -step rd1: select count(*) from gin_tbl where p @> array[2000]; -count ------ - 0 -(1 row) - -step wo1: insert into other_tbl values (1); -step wd2: insert into gin_tbl values (array[2000]); -step c1: commit; -step c2: commit; -ERROR: could not serialize access due to read/write dependencies among transactions - -starting permutation: rd1 ro2 wd2 wo1 c1 c2 -step rd1: select count(*) from gin_tbl where p @> array[2000]; -count ------ - 0 -(1 row) - -step ro2: select count(*) from other_tbl; -count ------ - 0 -(1 row) - -step wd2: insert into gin_tbl values (array[2000]); -step wo1: insert into other_tbl values (1); -step c1: commit; -step c2: commit; -ERROR: could not serialize access due to read/write dependencies among transactions +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/partition-concurrent-attach.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/partition-concurrent-attach.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/partition-concurrent-attach.out 2024-03-29 10:06:51.879270891 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/partition-concurrent-attach.out 2024-03-29 10:13:20.459275137 +0000 @@ -1,55 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1b s1a s2b s2i s1c s2c s2s -step s1b: begin; -step s1a: alter table tpart attach partition tpart_2 for values from (100) to (200); -step s2b: begin; -step s2i: insert into tpart values (110,'xxx'), (120, 'yyy'), (150, 'zzz'); -step s1c: commit; -step s2i: <... completed> -ERROR: new row for relation "tpart_default" violates partition constraint -step s2c: commit; -step s2s: select tableoid::regclass, * from tpart; -tableoid| i|j ---------+---+--- -tpart_2 |110|xxx -tpart_2 |120|yyy -tpart_2 |150|zzz -(3 rows) - - -starting permutation: s1b s1a s2b s2i2 s1c s2c s2s -step s1b: begin; -step s1a: alter table tpart attach partition tpart_2 for values from (100) to (200); -step s2b: begin; -step s2i2: insert into tpart_default (i, j) values (110, 'xxx'), (120, 'yyy'), (150, 'zzz'); -step s1c: commit; -step s2i2: <... completed> -ERROR: new row for relation "tpart_default" violates partition constraint -step s2c: commit; -step s2s: select tableoid::regclass, * from tpart; -tableoid| i|j ---------+---+--- -tpart_2 |110|xxx -tpart_2 |120|yyy -tpart_2 |150|zzz -(3 rows) - - -starting permutation: s1b s2b s2i s1a s2c s1c s2s -step s1b: begin; -step s2b: begin; -step s2i: insert into tpart values (110,'xxx'), (120, 'yyy'), (150, 'zzz'); -step s1a: alter table tpart attach partition tpart_2 for values from (100) to (200); -step s2c: commit; -step s1a: <... completed> -ERROR: updated partition constraint for default partition "tpart_default_default" would be violated by some row -step s1c: commit; -step s2s: select tableoid::regclass, * from tpart; -tableoid | i|j ----------------------+---+--- -tpart_default_default|110|xxx -tpart_default_default|120|yyy -tpart_default_default|150|zzz -(3 rows) - +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/partition-drop-index-locking.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/partition-drop-index-locking.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/partition-drop-index-locking.out 2024-03-29 10:06:51.879270891 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/partition-drop-index-locking.out 2024-03-29 10:13:20.467275136 +0000 @@ -1,100 +1,3 @@ Parsed test spec with 3 sessions - -starting permutation: s1begin s1lock s2begin s2drop s1select s3getlocks s1commit s3getlocks s2commit -step s1begin: BEGIN; -step s1lock: LOCK TABLE part_drop_index_locking_subpart_child IN ACCESS SHARE MODE; -step s2begin: BEGIN; -step s2drop: DROP INDEX part_drop_index_locking_idx; -step s1select: SELECT * FROM part_drop_index_locking_subpart_child; -id --- -(0 rows) - -step s3getlocks: - SELECT s.query, c.relname, l.mode, l.granted - FROM pg_locks l - JOIN pg_class c ON l.relation = c.oid - JOIN pg_stat_activity s ON l.pid = s.pid - WHERE c.relname LIKE 'part_drop_index_locking%' - ORDER BY s.query, c.relname, l.mode, l.granted; - -query |relname |mode |granted -----------------------------------------------------+---------------------------------------------+-------------------+------- -DROP INDEX part_drop_index_locking_idx; |part_drop_index_locking |AccessExclusiveLock|t -DROP INDEX part_drop_index_locking_idx; |part_drop_index_locking_idx |AccessExclusiveLock|t -DROP INDEX part_drop_index_locking_idx; |part_drop_index_locking_subpart |AccessExclusiveLock|t -DROP INDEX part_drop_index_locking_idx; |part_drop_index_locking_subpart_child |AccessExclusiveLock|f -SELECT * FROM part_drop_index_locking_subpart_child;|part_drop_index_locking_subpart_child |AccessShareLock |t -SELECT * FROM part_drop_index_locking_subpart_child;|part_drop_index_locking_subpart_child_id_idx |AccessShareLock |t -SELECT * FROM part_drop_index_locking_subpart_child;|part_drop_index_locking_subpart_child_id_idx1|AccessShareLock |t -(7 rows) - -step s1commit: COMMIT; -step s2drop: <... completed> -step s3getlocks: - SELECT s.query, c.relname, l.mode, l.granted - FROM pg_locks l - JOIN pg_class c ON l.relation = c.oid - JOIN pg_stat_activity s ON l.pid = s.pid - WHERE c.relname LIKE 'part_drop_index_locking%' - ORDER BY s.query, c.relname, l.mode, l.granted; - -query |relname |mode |granted ----------------------------------------+--------------------------------------------+-------------------+------- -DROP INDEX part_drop_index_locking_idx;|part_drop_index_locking |AccessExclusiveLock|t -DROP INDEX part_drop_index_locking_idx;|part_drop_index_locking_idx |AccessExclusiveLock|t -DROP INDEX part_drop_index_locking_idx;|part_drop_index_locking_subpart |AccessExclusiveLock|t -DROP INDEX part_drop_index_locking_idx;|part_drop_index_locking_subpart_child |AccessExclusiveLock|t -DROP INDEX part_drop_index_locking_idx;|part_drop_index_locking_subpart_child_id_idx|AccessExclusiveLock|t -DROP INDEX part_drop_index_locking_idx;|part_drop_index_locking_subpart_id_idx |AccessExclusiveLock|t -(6 rows) - -step s2commit: COMMIT; - -starting permutation: s1begin s1lock s2begin s2dropsub s1select s3getlocks s1commit s3getlocks s2commit -step s1begin: BEGIN; -step s1lock: LOCK TABLE part_drop_index_locking_subpart_child IN ACCESS SHARE MODE; -step s2begin: BEGIN; -step s2dropsub: DROP INDEX part_drop_index_locking_subpart_idx; -step s1select: SELECT * FROM part_drop_index_locking_subpart_child; -id --- -(0 rows) - -step s3getlocks: - SELECT s.query, c.relname, l.mode, l.granted - FROM pg_locks l - JOIN pg_class c ON l.relation = c.oid - JOIN pg_stat_activity s ON l.pid = s.pid - WHERE c.relname LIKE 'part_drop_index_locking%' - ORDER BY s.query, c.relname, l.mode, l.granted; - -query |relname |mode |granted -----------------------------------------------------+---------------------------------------------+-------------------+------- -DROP INDEX part_drop_index_locking_subpart_idx; |part_drop_index_locking_subpart |AccessExclusiveLock|t -DROP INDEX part_drop_index_locking_subpart_idx; |part_drop_index_locking_subpart_child |AccessExclusiveLock|f -DROP INDEX part_drop_index_locking_subpart_idx; |part_drop_index_locking_subpart_idx |AccessExclusiveLock|t -SELECT * FROM part_drop_index_locking_subpart_child;|part_drop_index_locking_subpart_child |AccessShareLock |t -SELECT * FROM part_drop_index_locking_subpart_child;|part_drop_index_locking_subpart_child_id_idx |AccessShareLock |t -SELECT * FROM part_drop_index_locking_subpart_child;|part_drop_index_locking_subpart_child_id_idx1|AccessShareLock |t -(6 rows) - -step s1commit: COMMIT; -step s2dropsub: <... completed> -step s3getlocks: - SELECT s.query, c.relname, l.mode, l.granted - FROM pg_locks l - JOIN pg_class c ON l.relation = c.oid - JOIN pg_stat_activity s ON l.pid = s.pid - WHERE c.relname LIKE 'part_drop_index_locking%' - ORDER BY s.query, c.relname, l.mode, l.granted; - -query |relname |mode |granted ------------------------------------------------+---------------------------------------------+-------------------+------- -DROP INDEX part_drop_index_locking_subpart_idx;|part_drop_index_locking_subpart |AccessExclusiveLock|t -DROP INDEX part_drop_index_locking_subpart_idx;|part_drop_index_locking_subpart_child |AccessExclusiveLock|t -DROP INDEX part_drop_index_locking_subpart_idx;|part_drop_index_locking_subpart_child_id_idx1|AccessExclusiveLock|t -DROP INDEX part_drop_index_locking_subpart_idx;|part_drop_index_locking_subpart_idx |AccessExclusiveLock|t -(4 rows) - -step s2commit: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/partition-key-update-1.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/partition-key-update-1.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/partition-key-update-1.out 2024-03-29 10:06:51.879270891 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/partition-key-update-1.out 2024-03-29 10:13:20.491275131 +0000 @@ -1,129 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1b s2b s1u s1c s2d s2c -step s1b: BEGIN ISOLATION LEVEL READ COMMITTED; -step s2b: BEGIN ISOLATION LEVEL READ COMMITTED; -step s1u: UPDATE foo SET a=2 WHERE a=1; -step s1c: COMMIT; -step s2d: DELETE FROM foo WHERE a=1; -step s2c: COMMIT; - -starting permutation: s1b s2b s1u s2d s1c s2c -step s1b: BEGIN ISOLATION LEVEL READ COMMITTED; -step s2b: BEGIN ISOLATION LEVEL READ COMMITTED; -step s1u: UPDATE foo SET a=2 WHERE a=1; -step s2d: DELETE FROM foo WHERE a=1; -step s1c: COMMIT; -step s2d: <... completed> -ERROR: tuple to be locked was already moved to another partition due to concurrent update -step s2c: COMMIT; - -starting permutation: s1b s2b s1u s2u s1c s2c -step s1b: BEGIN ISOLATION LEVEL READ COMMITTED; -step s2b: BEGIN ISOLATION LEVEL READ COMMITTED; -step s1u: UPDATE foo SET a=2 WHERE a=1; -step s2u: UPDATE foo SET b='EFG' WHERE a=1; -step s1c: COMMIT; -step s2u: <... completed> -ERROR: tuple to be locked was already moved to another partition due to concurrent update -step s2c: COMMIT; - -starting permutation: s1b s2b s2d s1u s2c s1c -step s1b: BEGIN ISOLATION LEVEL READ COMMITTED; -step s2b: BEGIN ISOLATION LEVEL READ COMMITTED; -step s2d: DELETE FROM foo WHERE a=1; -step s1u: UPDATE foo SET a=2 WHERE a=1; -step s2c: COMMIT; -step s1u: <... completed> -step s1c: COMMIT; - -starting permutation: s1b s2b s1u2 s1c s2u2 s2c -step s1b: BEGIN ISOLATION LEVEL READ COMMITTED; -step s2b: BEGIN ISOLATION LEVEL READ COMMITTED; -step s1u2: UPDATE footrg SET b='EFG' WHERE a=1; -step s1c: COMMIT; -step s2u2: UPDATE footrg SET b='XYZ' WHERE a=1; -step s2c: COMMIT; - -starting permutation: s1b s2b s1u2 s2u2 s1c s2c -step s1b: BEGIN ISOLATION LEVEL READ COMMITTED; -step s2b: BEGIN ISOLATION LEVEL READ COMMITTED; -step s1u2: UPDATE footrg SET b='EFG' WHERE a=1; -step s2u2: UPDATE footrg SET b='XYZ' WHERE a=1; -step s1c: COMMIT; -step s2u2: <... completed> -ERROR: tuple to be locked was already moved to another partition due to concurrent update -step s2c: COMMIT; - -starting permutation: s1b s2b s2u2 s1u2 s2c s1c -step s1b: BEGIN ISOLATION LEVEL READ COMMITTED; -step s2b: BEGIN ISOLATION LEVEL READ COMMITTED; -step s2u2: UPDATE footrg SET b='XYZ' WHERE a=1; -step s1u2: UPDATE footrg SET b='EFG' WHERE a=1; -step s2c: COMMIT; -step s1u2: <... completed> -ERROR: tuple to be locked was already moved to another partition due to concurrent update -step s1c: COMMIT; - -starting permutation: s1b s2b s1u3pc s2i s1c s2c -step s1b: BEGIN ISOLATION LEVEL READ COMMITTED; -step s2b: BEGIN ISOLATION LEVEL READ COMMITTED; -step s1u3pc: UPDATE foo_range_parted SET a=11 WHERE a=7; -step s2i: INSERT INTO bar VALUES(7); -step s1c: COMMIT; -step s2i: <... completed> -ERROR: tuple to be locked was already moved to another partition due to concurrent update -step s2c: COMMIT; - -starting permutation: s1b s2b s1u3pc s2i s1r s2c -step s1b: BEGIN ISOLATION LEVEL READ COMMITTED; -step s2b: BEGIN ISOLATION LEVEL READ COMMITTED; -step s1u3pc: UPDATE foo_range_parted SET a=11 WHERE a=7; -step s2i: INSERT INTO bar VALUES(7); -step s1r: ROLLBACK; -step s2i: <... completed> -step s2c: COMMIT; - -starting permutation: s1b s2b s1u3npc s1u3pc s2i s1c s2c -step s1b: BEGIN ISOLATION LEVEL READ COMMITTED; -step s2b: BEGIN ISOLATION LEVEL READ COMMITTED; -step s1u3npc: UPDATE foo_range_parted SET b='XYZ' WHERE a=7; -step s1u3pc: UPDATE foo_range_parted SET a=11 WHERE a=7; -step s2i: INSERT INTO bar VALUES(7); -step s1c: COMMIT; -step s2i: <... completed> -ERROR: tuple to be locked was already moved to another partition due to concurrent update -step s2c: COMMIT; - -starting permutation: s1b s2b s1u3npc s1u3pc s2i s1r s2c -step s1b: BEGIN ISOLATION LEVEL READ COMMITTED; -step s2b: BEGIN ISOLATION LEVEL READ COMMITTED; -step s1u3npc: UPDATE foo_range_parted SET b='XYZ' WHERE a=7; -step s1u3pc: UPDATE foo_range_parted SET a=11 WHERE a=7; -step s2i: INSERT INTO bar VALUES(7); -step s1r: ROLLBACK; -step s2i: <... completed> -step s2c: COMMIT; - -starting permutation: s1b s2b s1u3npc s1u3pc s1u3pc s2i s1c s2c -step s1b: BEGIN ISOLATION LEVEL READ COMMITTED; -step s2b: BEGIN ISOLATION LEVEL READ COMMITTED; -step s1u3npc: UPDATE foo_range_parted SET b='XYZ' WHERE a=7; -step s1u3pc: UPDATE foo_range_parted SET a=11 WHERE a=7; -step s1u3pc: UPDATE foo_range_parted SET a=11 WHERE a=7; -step s2i: INSERT INTO bar VALUES(7); -step s1c: COMMIT; -step s2i: <... completed> -ERROR: tuple to be locked was already moved to another partition due to concurrent update -step s2c: COMMIT; - -starting permutation: s1b s2b s1u3npc s1u3pc s1u3pc s2i s1r s2c -step s1b: BEGIN ISOLATION LEVEL READ COMMITTED; -step s2b: BEGIN ISOLATION LEVEL READ COMMITTED; -step s1u3npc: UPDATE foo_range_parted SET b='XYZ' WHERE a=7; -step s1u3pc: UPDATE foo_range_parted SET a=11 WHERE a=7; -step s1u3pc: UPDATE foo_range_parted SET a=11 WHERE a=7; -step s2i: INSERT INTO bar VALUES(7); -step s1r: ROLLBACK; -step s2i: <... completed> -step s2c: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/partition-key-update-2.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/partition-key-update-2.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/partition-key-update-2.out 2024-03-29 10:06:51.879270891 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/partition-key-update-2.out 2024-03-29 10:13:20.547275120 +0000 @@ -1,33 +1,3 @@ Parsed test spec with 3 sessions - -starting permutation: s1u s2donothing s3donothing s1c s2c s3select s3c -step s1u: UPDATE foo SET a=2, b=b || ' -> moved by session-1' WHERE a=1; -step s2donothing: INSERT INTO foo VALUES(1, 'session-2 donothing') ON CONFLICT DO NOTHING; -step s3donothing: INSERT INTO foo VALUES(2, 'session-3 donothing') ON CONFLICT DO NOTHING; -step s1c: COMMIT; -step s2donothing: <... completed> -step s3donothing: <... completed> -step s2c: COMMIT; -step s3select: SELECT * FROM foo ORDER BY a; -a|b --+----------------------------------- -1|session-2 donothing -2|initial tuple -> moved by session-1 -(2 rows) - -step s3c: COMMIT; - -starting permutation: s2donothing s1u s3donothing s1c s2c s3select s3c -step s2donothing: INSERT INTO foo VALUES(1, 'session-2 donothing') ON CONFLICT DO NOTHING; -step s1u: UPDATE foo SET a=2, b=b || ' -> moved by session-1' WHERE a=1; -step s3donothing: INSERT INTO foo VALUES(2, 'session-3 donothing') ON CONFLICT DO NOTHING; -step s1c: COMMIT; -step s3donothing: <... completed> -step s2c: COMMIT; -step s3select: SELECT * FROM foo ORDER BY a; -a|b --+----------------------------------- -2|initial tuple -> moved by session-1 -(1 row) - -step s3c: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/partition-key-update-3.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/partition-key-update-3.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/partition-key-update-3.out 2024-03-29 10:06:51.879270891 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/partition-key-update-3.out 2024-03-29 10:13:20.579275114 +0000 @@ -1,155 +1,3 @@ Parsed test spec with 3 sessions - -starting permutation: s2beginrr s3beginrr s1u s2donothing s1c s2c s3donothing s3c s2select -step s2beginrr: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s3beginrr: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s1u: UPDATE foo SET a=2, b=b || ' -> moved by session-1' WHERE a=1; -step s2donothing: INSERT INTO foo VALUES(1, 'session-2 donothing') ON CONFLICT DO NOTHING; -step s1c: COMMIT; -step s2donothing: <... completed> -step s2c: COMMIT; -step s3donothing: INSERT INTO foo VALUES(2, 'session-3 donothing'), (2, 'session-3 donothing2') ON CONFLICT DO NOTHING; -step s3c: COMMIT; -step s2select: SELECT * FROM foo ORDER BY a; -a|b --+----------------------------------- -1|session-2 donothing -2|initial tuple -> moved by session-1 -(2 rows) - - -starting permutation: s2beginrr s3beginrr s1u s3donothing s1c s3c s2donothing s2c s2select -step s2beginrr: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s3beginrr: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s1u: UPDATE foo SET a=2, b=b || ' -> moved by session-1' WHERE a=1; -step s3donothing: INSERT INTO foo VALUES(2, 'session-3 donothing'), (2, 'session-3 donothing2') ON CONFLICT DO NOTHING; -step s1c: COMMIT; -step s3donothing: <... completed> -ERROR: could not serialize access due to concurrent update -step s3c: COMMIT; -step s2donothing: INSERT INTO foo VALUES(1, 'session-2 donothing') ON CONFLICT DO NOTHING; -step s2c: COMMIT; -step s2select: SELECT * FROM foo ORDER BY a; -a|b --+----------------------------------- -1|session-2 donothing -2|initial tuple -> moved by session-1 -(2 rows) - - -starting permutation: s2beginrr s3beginrr s1u s2donothing s3donothing s1c s2c s3c s2select -step s2beginrr: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s3beginrr: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s1u: UPDATE foo SET a=2, b=b || ' -> moved by session-1' WHERE a=1; -step s2donothing: INSERT INTO foo VALUES(1, 'session-2 donothing') ON CONFLICT DO NOTHING; -step s3donothing: INSERT INTO foo VALUES(2, 'session-3 donothing'), (2, 'session-3 donothing2') ON CONFLICT DO NOTHING; -step s1c: COMMIT; -step s2donothing: <... completed> -step s3donothing: <... completed> -ERROR: could not serialize access due to concurrent update -step s2c: COMMIT; -step s3c: COMMIT; -step s2select: SELECT * FROM foo ORDER BY a; -a|b --+----------------------------------- -1|session-2 donothing -2|initial tuple -> moved by session-1 -(2 rows) - - -starting permutation: s2beginrr s3beginrr s1u s3donothing s2donothing s1c s3c s2c s2select -step s2beginrr: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s3beginrr: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s1u: UPDATE foo SET a=2, b=b || ' -> moved by session-1' WHERE a=1; -step s3donothing: INSERT INTO foo VALUES(2, 'session-3 donothing'), (2, 'session-3 donothing2') ON CONFLICT DO NOTHING; -step s2donothing: INSERT INTO foo VALUES(1, 'session-2 donothing') ON CONFLICT DO NOTHING; -step s1c: COMMIT; -step s3donothing: <... completed> -ERROR: could not serialize access due to concurrent update -step s2donothing: <... completed> -step s3c: COMMIT; -step s2c: COMMIT; -step s2select: SELECT * FROM foo ORDER BY a; -a|b --+----------------------------------- -1|session-2 donothing -2|initial tuple -> moved by session-1 -(2 rows) - - -starting permutation: s2begins s3begins s1u s2donothing s1c s2c s3donothing s3c s2select -step s2begins: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s3begins: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s1u: UPDATE foo SET a=2, b=b || ' -> moved by session-1' WHERE a=1; -step s2donothing: INSERT INTO foo VALUES(1, 'session-2 donothing') ON CONFLICT DO NOTHING; -step s1c: COMMIT; -step s2donothing: <... completed> -step s2c: COMMIT; -step s3donothing: INSERT INTO foo VALUES(2, 'session-3 donothing'), (2, 'session-3 donothing2') ON CONFLICT DO NOTHING; -step s3c: COMMIT; -step s2select: SELECT * FROM foo ORDER BY a; -a|b --+----------------------------------- -1|session-2 donothing -2|initial tuple -> moved by session-1 -(2 rows) - - -starting permutation: s2begins s3begins s1u s3donothing s1c s3c s2donothing s2c s2select -step s2begins: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s3begins: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s1u: UPDATE foo SET a=2, b=b || ' -> moved by session-1' WHERE a=1; -step s3donothing: INSERT INTO foo VALUES(2, 'session-3 donothing'), (2, 'session-3 donothing2') ON CONFLICT DO NOTHING; -step s1c: COMMIT; -step s3donothing: <... completed> -ERROR: could not serialize access due to concurrent update -step s3c: COMMIT; -step s2donothing: INSERT INTO foo VALUES(1, 'session-2 donothing') ON CONFLICT DO NOTHING; -step s2c: COMMIT; -step s2select: SELECT * FROM foo ORDER BY a; -a|b --+----------------------------------- -1|session-2 donothing -2|initial tuple -> moved by session-1 -(2 rows) - - -starting permutation: s2begins s3begins s1u s2donothing s3donothing s1c s2c s3c s2select -step s2begins: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s3begins: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s1u: UPDATE foo SET a=2, b=b || ' -> moved by session-1' WHERE a=1; -step s2donothing: INSERT INTO foo VALUES(1, 'session-2 donothing') ON CONFLICT DO NOTHING; -step s3donothing: INSERT INTO foo VALUES(2, 'session-3 donothing'), (2, 'session-3 donothing2') ON CONFLICT DO NOTHING; -step s1c: COMMIT; -step s2donothing: <... completed> -step s3donothing: <... completed> -ERROR: could not serialize access due to concurrent update -step s2c: COMMIT; -step s3c: COMMIT; -step s2select: SELECT * FROM foo ORDER BY a; -a|b --+----------------------------------- -1|session-2 donothing -2|initial tuple -> moved by session-1 -(2 rows) - - -starting permutation: s2begins s3begins s1u s3donothing s2donothing s1c s3c s2c s2select -step s2begins: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s3begins: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s1u: UPDATE foo SET a=2, b=b || ' -> moved by session-1' WHERE a=1; -step s3donothing: INSERT INTO foo VALUES(2, 'session-3 donothing'), (2, 'session-3 donothing2') ON CONFLICT DO NOTHING; -step s2donothing: INSERT INTO foo VALUES(1, 'session-2 donothing') ON CONFLICT DO NOTHING; -step s1c: COMMIT; -step s3donothing: <... completed> -ERROR: could not serialize access due to concurrent update -step s2donothing: <... completed> -step s3c: COMMIT; -step s2c: COMMIT; -step s2select: SELECT * FROM foo ORDER BY a; -a|b --+----------------------------------- -1|session-2 donothing -2|initial tuple -> moved by session-1 -(2 rows) - +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/partition-key-update-4.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/partition-key-update-4.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/partition-key-update-4.out 2024-03-29 10:06:51.879270891 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/partition-key-update-4.out 2024-03-29 10:13:20.607275109 +0000 @@ -1,72 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1b s2b s2u1 s1u s2c s1c s1s -step s1b: BEGIN ISOLATION LEVEL READ COMMITTED; -step s2b: BEGIN ISOLATION LEVEL READ COMMITTED; -step s2u1: UPDATE foo SET b = b || ' update2' WHERE a = 1; -step s1u: UPDATE foo SET a = a + 1, b = b || ' update1' WHERE b like '%ABC%'; -step s2c: COMMIT; -step s1u: <... completed> -step s1c: COMMIT; -step s1s: SELECT tableoid::regclass, * FROM foo ORDER BY a; -tableoid|a|b ---------+-+------------------- -foo2 |2|ABC update2 update1 -(1 row) - - -starting permutation: s1b s2b s2ut1 s1ut s2c s1c s1st s1stl -step s1b: BEGIN ISOLATION LEVEL READ COMMITTED; -step s2b: BEGIN ISOLATION LEVEL READ COMMITTED; -step s2ut1: UPDATE footrg SET b = b || ' update2' WHERE a = 1; -step s1ut: UPDATE footrg SET a = a + 1, b = b || ' update1' WHERE b like '%ABC%'; -step s2c: COMMIT; -step s1ut: <... completed> -step s1c: COMMIT; -step s1st: SELECT tableoid::regclass, * FROM footrg ORDER BY a; -tableoid|a|b ---------+-+------------------- -footrg2 |2|ABC update2 update1 -(1 row) - -step s1stl: SELECT * FROM triglog ORDER BY a; -a|b --+------------------- -1|ABC update2 trigger -(1 row) - - -starting permutation: s1b s2b s2u2 s1u s2c s1c s1s -step s1b: BEGIN ISOLATION LEVEL READ COMMITTED; -step s2b: BEGIN ISOLATION LEVEL READ COMMITTED; -step s2u2: UPDATE foo SET b = 'EFG' WHERE a = 1; -step s1u: UPDATE foo SET a = a + 1, b = b || ' update1' WHERE b like '%ABC%'; -step s2c: COMMIT; -step s1u: <... completed> -step s1c: COMMIT; -step s1s: SELECT tableoid::regclass, * FROM foo ORDER BY a; -tableoid|a|b ---------+-+--- -foo1 |1|EFG -(1 row) - - -starting permutation: s1b s2b s2ut2 s1ut s2c s1c s1st s1stl -step s1b: BEGIN ISOLATION LEVEL READ COMMITTED; -step s2b: BEGIN ISOLATION LEVEL READ COMMITTED; -step s2ut2: UPDATE footrg SET b = 'EFG' WHERE a = 1; -step s1ut: UPDATE footrg SET a = a + 1, b = b || ' update1' WHERE b like '%ABC%'; -step s2c: COMMIT; -step s1ut: <... completed> -step s1c: COMMIT; -step s1st: SELECT tableoid::regclass, * FROM footrg ORDER BY a; -tableoid|a|b ---------+-+--- -footrg1 |1|EFG -(1 row) - -step s1stl: SELECT * FROM triglog ORDER BY a; -a|b --+- -(0 rows) - +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/plpgsql-toast.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/plpgsql-toast.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/plpgsql-toast.out 2024-03-29 10:06:51.879270891 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/plpgsql-toast.out 2024-03-29 10:13:20.643275102 +0000 @@ -1,316 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: lock assign1 vacuum unlock -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - -step lock: - SELECT pg_advisory_lock(1); - -pg_advisory_lock ----------------- - -(1 row) - -step assign1: -do $$ - declare - x text; - begin - select test1.b into x from test1; - delete from test1; - commit; - perform pg_advisory_lock(1); - raise notice 'length(x) = %', length(x); - end; -$$; - -step vacuum: - VACUUM test1; - -step unlock: - SELECT pg_advisory_unlock(1); - -pg_advisory_unlock ------------------- -t -(1 row) - -s1: NOTICE: length(x) = 6000 -step assign1: <... completed> - -starting permutation: lock assign2 vacuum unlock -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - -step lock: - SELECT pg_advisory_lock(1); - -pg_advisory_lock ----------------- - -(1 row) - -step assign2: -do $$ - declare - x text; - begin - x := (select test1.b from test1); - delete from test1; - commit; - perform pg_advisory_lock(1); - raise notice 'length(x) = %', length(x); - end; -$$; - -step vacuum: - VACUUM test1; - -step unlock: - SELECT pg_advisory_unlock(1); - -pg_advisory_unlock ------------------- -t -(1 row) - -s1: NOTICE: length(x) = 6000 -step assign2: <... completed> - -starting permutation: lock assign3 vacuum unlock -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - -step lock: - SELECT pg_advisory_lock(1); - -pg_advisory_lock ----------------- - -(1 row) - -step assign3: -do $$ - declare - r record; - begin - select * into r from test1; - r.b := (select test1.b from test1); - delete from test1; - commit; - perform pg_advisory_lock(1); - raise notice 'length(r) = %', length(r::text); - end; -$$; - -step vacuum: - VACUUM test1; - -step unlock: - SELECT pg_advisory_unlock(1); - -pg_advisory_unlock ------------------- -t -(1 row) - -s1: NOTICE: length(r) = 6004 -step assign3: <... completed> - -starting permutation: lock assign4 vacuum unlock -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - -step lock: - SELECT pg_advisory_lock(1); - -pg_advisory_lock ----------------- - -(1 row) - -step assign4: -do $$ - declare - r test2; - begin - select * into r from test1; - delete from test1; - commit; - perform pg_advisory_lock(1); - raise notice 'length(r) = %', length(r::text); - end; -$$; - -step vacuum: - VACUUM test1; - -step unlock: - SELECT pg_advisory_unlock(1); - -pg_advisory_unlock ------------------- -t -(1 row) - -s1: NOTICE: length(r) = 6004 -step assign4: <... completed> - -starting permutation: lock assign5 vacuum unlock -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - -step lock: - SELECT pg_advisory_lock(1); - -pg_advisory_lock ----------------- - -(1 row) - -step assign5: -do $$ - declare - r record; - begin - for r in select test1.b from test1 loop - null; - end loop; - delete from test1; - commit; - perform pg_advisory_lock(1); - raise notice 'length(r) = %', length(r::text); - end; -$$; - -step vacuum: - VACUUM test1; - -step unlock: - SELECT pg_advisory_unlock(1); - -pg_advisory_unlock ------------------- -t -(1 row) - -s1: NOTICE: length(r) = 6002 -step assign5: <... completed> - -starting permutation: lock assign6 vacuum unlock -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - -step lock: - SELECT pg_advisory_lock(1); - -pg_advisory_lock ----------------- - -(1 row) - -step assign6: -do $$ - declare - r record; - begin - insert into test1 values (2, repeat('bar', 3000)); - insert into test1 values (3, repeat('baz', 4000)); - for r in select test1.b from test1 loop - delete from test1; - commit; - perform pg_advisory_lock(1); - raise notice 'length(r) = %', length(r::text); - end loop; - end; -$$; - -step vacuum: - VACUUM test1; - -step unlock: - SELECT pg_advisory_unlock(1); - -pg_advisory_unlock ------------------- -t -(1 row) - -s1: NOTICE: length(r) = 6002 -s1: NOTICE: length(r) = 9002 -s1: NOTICE: length(r) = 12002 -step assign6: <... completed> - -starting permutation: fetch-after-commit -pg_advisory_unlock_all ----------------------- - -(1 row) - -pg_advisory_unlock_all ----------------------- - -(1 row) - -s1: NOTICE: length(t) = 6000 -s1: NOTICE: length(t) = 9000 -s1: NOTICE: length(t) = 12000 -step fetch-after-commit: -do $$ - declare - r record; - t text; - begin - insert into test1 values (2, repeat('bar', 3000)); - insert into test1 values (3, repeat('baz', 4000)); - for r in select test1.a from test1 loop - commit; - select b into t from test1 where a = r.a; - raise notice 'length(t) = %', length(t); - end loop; - end; -$$; - +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/cluster-conflict.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/cluster-conflict.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/cluster-conflict.out 2024-03-29 10:06:51.871270899 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/cluster-conflict.out 2024-03-29 10:13:20.671275096 +0000 @@ -1,19 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1_begin s1_lock s2_auth s2_cluster s1_commit s2_reset -step s1_begin: BEGIN; -step s1_lock: LOCK cluster_tab IN SHARE UPDATE EXCLUSIVE MODE; -step s2_auth: SET ROLE regress_cluster_conflict; -step s2_cluster: CLUSTER cluster_tab USING cluster_ind; -step s1_commit: COMMIT; -step s2_cluster: <... completed> -step s2_reset: RESET ROLE; - -starting permutation: s1_begin s2_auth s1_lock s2_cluster s1_commit s2_reset -step s1_begin: BEGIN; -step s2_auth: SET ROLE regress_cluster_conflict; -step s1_lock: LOCK cluster_tab IN SHARE UPDATE EXCLUSIVE MODE; -step s2_cluster: CLUSTER cluster_tab USING cluster_ind; -step s1_commit: COMMIT; -step s2_cluster: <... completed> -step s2_reset: RESET ROLE; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/cluster-conflict-partition.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/cluster-conflict-partition.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/cluster-conflict-partition.out 2024-03-29 10:06:51.871270899 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/cluster-conflict-partition.out 2024-03-29 10:13:20.679275095 +0000 @@ -1,35 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1_begin s1_lock_parent s2_auth s2_cluster s1_commit s2_reset -step s1_begin: BEGIN; -step s1_lock_parent: LOCK cluster_part_tab IN SHARE UPDATE EXCLUSIVE MODE; -step s2_auth: SET ROLE regress_cluster_part; SET client_min_messages = ERROR; -step s2_cluster: CLUSTER cluster_part_tab USING cluster_part_ind; -step s1_commit: COMMIT; -step s2_cluster: <... completed> -step s2_reset: RESET ROLE; - -starting permutation: s1_begin s2_auth s1_lock_parent s2_cluster s1_commit s2_reset -step s1_begin: BEGIN; -step s2_auth: SET ROLE regress_cluster_part; SET client_min_messages = ERROR; -step s1_lock_parent: LOCK cluster_part_tab IN SHARE UPDATE EXCLUSIVE MODE; -step s2_cluster: CLUSTER cluster_part_tab USING cluster_part_ind; -step s1_commit: COMMIT; -step s2_cluster: <... completed> -step s2_reset: RESET ROLE; - -starting permutation: s1_begin s1_lock_child s2_auth s2_cluster s1_commit s2_reset -step s1_begin: BEGIN; -step s1_lock_child: LOCK cluster_part_tab1 IN SHARE UPDATE EXCLUSIVE MODE; -step s2_auth: SET ROLE regress_cluster_part; SET client_min_messages = ERROR; -step s2_cluster: CLUSTER cluster_part_tab USING cluster_part_ind; -step s1_commit: COMMIT; -step s2_reset: RESET ROLE; - -starting permutation: s1_begin s2_auth s1_lock_child s2_cluster s1_commit s2_reset -step s1_begin: BEGIN; -step s2_auth: SET ROLE regress_cluster_part; SET client_min_messages = ERROR; -step s1_lock_child: LOCK cluster_part_tab1 IN SHARE UPDATE EXCLUSIVE MODE; -step s2_cluster: CLUSTER cluster_part_tab USING cluster_part_ind; -step s1_commit: COMMIT; -step s2_reset: RESET ROLE; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/truncate-conflict.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/truncate-conflict.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/truncate-conflict.out 2024-03-29 10:06:51.887270884 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/truncate-conflict.out 2024-03-29 10:13:20.707275090 +0000 @@ -1,115 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1_begin s1_tab_lookup s2_auth s2_truncate s1_commit s2_reset -step s1_begin: BEGIN; -step s1_tab_lookup: SELECT count(*) >= 0 FROM truncate_tab; -?column? --------- -t -(1 row) - -step s2_auth: SET ROLE regress_truncate_conflict; -step s2_truncate: TRUNCATE truncate_tab; -ERROR: permission denied for table truncate_tab -step s1_commit: COMMIT; -step s2_reset: RESET ROLE; - -starting permutation: s1_begin s2_auth s2_truncate s1_tab_lookup s1_commit s2_reset -step s1_begin: BEGIN; -step s2_auth: SET ROLE regress_truncate_conflict; -step s2_truncate: TRUNCATE truncate_tab; -ERROR: permission denied for table truncate_tab -step s1_tab_lookup: SELECT count(*) >= 0 FROM truncate_tab; -?column? --------- -t -(1 row) - -step s1_commit: COMMIT; -step s2_reset: RESET ROLE; - -starting permutation: s1_begin s2_auth s1_tab_lookup s2_truncate s1_commit s2_reset -step s1_begin: BEGIN; -step s2_auth: SET ROLE regress_truncate_conflict; -step s1_tab_lookup: SELECT count(*) >= 0 FROM truncate_tab; -?column? --------- -t -(1 row) - -step s2_truncate: TRUNCATE truncate_tab; -ERROR: permission denied for table truncate_tab -step s1_commit: COMMIT; -step s2_reset: RESET ROLE; - -starting permutation: s2_auth s2_truncate s1_begin s1_tab_lookup s1_commit s2_reset -step s2_auth: SET ROLE regress_truncate_conflict; -step s2_truncate: TRUNCATE truncate_tab; -ERROR: permission denied for table truncate_tab -step s1_begin: BEGIN; -step s1_tab_lookup: SELECT count(*) >= 0 FROM truncate_tab; -?column? --------- -t -(1 row) - -step s1_commit: COMMIT; -step s2_reset: RESET ROLE; - -starting permutation: s1_begin s1_tab_lookup s2_grant s2_auth s2_truncate s1_commit s2_reset -step s1_begin: BEGIN; -step s1_tab_lookup: SELECT count(*) >= 0 FROM truncate_tab; -?column? --------- -t -(1 row) - -step s2_grant: GRANT TRUNCATE ON truncate_tab TO regress_truncate_conflict; -step s2_auth: SET ROLE regress_truncate_conflict; -step s2_truncate: TRUNCATE truncate_tab; -step s1_commit: COMMIT; -step s2_truncate: <... completed> -step s2_reset: RESET ROLE; - -starting permutation: s1_begin s2_grant s2_auth s2_truncate s1_tab_lookup s1_commit s2_reset -step s1_begin: BEGIN; -step s2_grant: GRANT TRUNCATE ON truncate_tab TO regress_truncate_conflict; -step s2_auth: SET ROLE regress_truncate_conflict; -step s2_truncate: TRUNCATE truncate_tab; -step s1_tab_lookup: SELECT count(*) >= 0 FROM truncate_tab; -?column? --------- -t -(1 row) - -step s1_commit: COMMIT; -step s2_reset: RESET ROLE; - -starting permutation: s1_begin s2_grant s2_auth s1_tab_lookup s2_truncate s1_commit s2_reset -step s1_begin: BEGIN; -step s2_grant: GRANT TRUNCATE ON truncate_tab TO regress_truncate_conflict; -step s2_auth: SET ROLE regress_truncate_conflict; -step s1_tab_lookup: SELECT count(*) >= 0 FROM truncate_tab; -?column? --------- -t -(1 row) - -step s2_truncate: TRUNCATE truncate_tab; -step s1_commit: COMMIT; -step s2_truncate: <... completed> -step s2_reset: RESET ROLE; - -starting permutation: s2_grant s2_auth s2_truncate s1_begin s1_tab_lookup s1_commit s2_reset -step s2_grant: GRANT TRUNCATE ON truncate_tab TO regress_truncate_conflict; -step s2_auth: SET ROLE regress_truncate_conflict; -step s2_truncate: TRUNCATE truncate_tab; -step s1_begin: BEGIN; -step s1_tab_lookup: SELECT count(*) >= 0 FROM truncate_tab; -?column? --------- -t -(1 row) - -step s1_commit: COMMIT; -step s2_reset: RESET ROLE; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/serializable-parallel.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/serializable-parallel.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/serializable-parallel.out 2024-03-29 10:06:51.887270884 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/serializable-parallel.out 2024-03-29 10:13:20.751275081 +0000 @@ -1,58 +1,3 @@ Parsed test spec with 3 sessions - -starting permutation: s2rx s2ry s1ry s1wy s1c s2wx s2c s3c -step s2rx: SELECT balance FROM bank_account WHERE id = 'X'; -balance -------- - 0 -(1 row) - -step s2ry: SELECT balance FROM bank_account WHERE id = 'Y'; -balance -------- - 0 -(1 row) - -step s1ry: SELECT balance FROM bank_account WHERE id = 'Y'; -balance -------- - 0 -(1 row) - -step s1wy: UPDATE bank_account SET balance = 20 WHERE id = 'Y'; -step s1c: COMMIT; -step s2wx: UPDATE bank_account SET balance = -11 WHERE id = 'X'; -step s2c: COMMIT; -step s3c: COMMIT; - -starting permutation: s2rx s2ry s1ry s1wy s1c s3r s3c s2wx -step s2rx: SELECT balance FROM bank_account WHERE id = 'X'; -balance -------- - 0 -(1 row) - -step s2ry: SELECT balance FROM bank_account WHERE id = 'Y'; -balance -------- - 0 -(1 row) - -step s1ry: SELECT balance FROM bank_account WHERE id = 'Y'; -balance -------- - 0 -(1 row) - -step s1wy: UPDATE bank_account SET balance = 20 WHERE id = 'Y'; -step s1c: COMMIT; -step s3r: SELECT id, balance FROM bank_account WHERE id IN ('X', 'Y') ORDER BY id; -id|balance ---+------- -X | 0 -Y | 20 -(2 rows) - -step s3c: COMMIT; -step s2wx: UPDATE bank_account SET balance = -11 WHERE id = 'X'; -ERROR: could not serialize access due to read/write dependencies among transactions +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/serializable-parallel-2.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/serializable-parallel-2.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/serializable-parallel-2.out 2024-03-29 10:06:51.887270884 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/serializable-parallel-2.out 2024-03-29 10:13:20.779275076 +0000 @@ -1,23 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1r s2r1 s1c s2r2 s2c -step s1r: SELECT COUNT(*) FROM foo; -count ------ - 100 -(1 row) - -step s2r1: SELECT COUNT(*) FROM foo; -count ------ - 100 -(1 row) - -step s1c: COMMIT; -step s2r2: SELECT COUNT(*) FROM foo; -count ------ - 100 -(1 row) - -step s2c: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/serializable-parallel-3.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/serializable-parallel-3.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/serializable-parallel-3.out 2024-03-29 10:06:51.887270884 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/serializable-parallel-3.out 2024-03-29 10:13:20.787275075 +0000 @@ -1,97 +1,3 @@ Parsed test spec with 4 sessions - -starting permutation: s1r s3r s2r1 s4r1 s1c s2r2 s3c s4r2 s4c s2c -step s1r: SELECT * FROM foo; - a --- - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 -10 -(10 rows) - -step s3r: SELECT * FROM foo; - a --- - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 -10 -(10 rows) - -step s2r1: SELECT * FROM foo; - a --- - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 -10 -(10 rows) - -step s4r1: SELECT * FROM foo; - a --- - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 -10 -(10 rows) - -step s1c: COMMIT; -step s2r2: SELECT * FROM foo; - a --- - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 -10 -(10 rows) - -step s3c: COMMIT; -step s4r2: SELECT * FROM foo; - a --- - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 -10 -(10 rows) - -step s4c: COMMIT; -step s2c: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/matview-write-skew.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/matview-write-skew.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/matview-write-skew.out 2024-03-29 10:06:51.875270895 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/matview-write-skew.out 2024-03-29 10:13:20.803275071 +0000 @@ -1,121 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1_begin s2_begin s1_refresh s2_read s2_insert s1_commit s2_commit -step s1_begin: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s2_begin: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s1_refresh: REFRESH MATERIALIZED VIEW CONCURRENTLY order_summary; -step s2_read: SELECT max(date) FROM order_summary; - max ----------- -04-01-2022 -(1 row) - -step s2_insert: INSERT INTO orders VALUES ('2022-04-02', 'orange', 15); -step s1_commit: COMMIT; -step s2_commit: COMMIT; -ERROR: could not serialize access due to read/write dependencies among transactions - -starting permutation: s1_begin s2_begin s1_refresh s2_read s2_update s1_commit s2_commit -step s1_begin: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s2_begin: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s1_refresh: REFRESH MATERIALIZED VIEW CONCURRENTLY order_summary; -step s2_read: SELECT max(date) FROM order_summary; - max ----------- -04-01-2022 -(1 row) - -step s2_update: UPDATE orders SET num = num + 1; -step s1_commit: COMMIT; -step s2_commit: COMMIT; -ERROR: could not serialize access due to read/write dependencies among transactions - -starting permutation: s1_begin s2_begin s2_read s1_refresh s2_insert s1_commit s2_commit -step s1_begin: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s2_begin: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s2_read: SELECT max(date) FROM order_summary; - max ----------- -04-01-2022 -(1 row) - -step s1_refresh: REFRESH MATERIALIZED VIEW CONCURRENTLY order_summary; -step s2_insert: INSERT INTO orders VALUES ('2022-04-02', 'orange', 15); -step s1_commit: COMMIT; -step s2_commit: COMMIT; -ERROR: could not serialize access due to read/write dependencies among transactions - -starting permutation: s1_begin s2_begin s2_read s1_refresh s2_update s1_commit s2_commit -step s1_begin: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s2_begin: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s2_read: SELECT max(date) FROM order_summary; - max ----------- -04-01-2022 -(1 row) - -step s1_refresh: REFRESH MATERIALIZED VIEW CONCURRENTLY order_summary; -step s2_update: UPDATE orders SET num = num + 1; -step s1_commit: COMMIT; -step s2_commit: COMMIT; -ERROR: could not serialize access due to read/write dependencies among transactions - -starting permutation: s1_begin s2_begin s2_read s2_insert s1_refresh s1_commit s2_commit -step s1_begin: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s2_begin: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s2_read: SELECT max(date) FROM order_summary; - max ----------- -04-01-2022 -(1 row) - -step s2_insert: INSERT INTO orders VALUES ('2022-04-02', 'orange', 15); -step s1_refresh: REFRESH MATERIALIZED VIEW CONCURRENTLY order_summary; -step s1_commit: COMMIT; -step s2_commit: COMMIT; -ERROR: could not serialize access due to read/write dependencies among transactions - -starting permutation: s1_begin s2_begin s2_read s2_update s1_refresh s1_commit s2_commit -step s1_begin: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s2_begin: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s2_read: SELECT max(date) FROM order_summary; - max ----------- -04-01-2022 -(1 row) - -step s2_update: UPDATE orders SET num = num + 1; -step s1_refresh: REFRESH MATERIALIZED VIEW CONCURRENTLY order_summary; -step s1_commit: COMMIT; -step s2_commit: COMMIT; -ERROR: could not serialize access due to read/write dependencies among transactions - -starting permutation: s1_begin s2_begin s1_refresh s2_insert s2_read s1_commit s2_commit -step s1_begin: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s2_begin: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s1_refresh: REFRESH MATERIALIZED VIEW CONCURRENTLY order_summary; -step s2_insert: INSERT INTO orders VALUES ('2022-04-02', 'orange', 15); -step s2_read: SELECT max(date) FROM order_summary; - max ----------- -04-01-2022 -(1 row) - -step s1_commit: COMMIT; -step s2_commit: COMMIT; -ERROR: could not serialize access due to read/write dependencies among transactions - -starting permutation: s1_begin s2_begin s1_refresh s2_update s2_read s1_commit s2_commit -step s1_begin: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s2_begin: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s1_refresh: REFRESH MATERIALIZED VIEW CONCURRENTLY order_summary; -step s2_update: UPDATE orders SET num = num + 1; -step s2_read: SELECT max(date) FROM order_summary; - max ----------- -04-01-2022 -(1 row) - -step s1_commit: COMMIT; -step s2_commit: COMMIT; -ERROR: could not serialize access due to read/write dependencies among transactions +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/lock-nowait.out /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/lock-nowait.out --- /tmp/cirrus-ci-build/src/test/isolation/expected/lock-nowait.out 2024-03-29 10:06:51.875270895 +0000 +++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/lock-nowait.out 2024-03-29 10:13:20.811275069 +0000 @@ -1,9 +1,3 @@ Parsed test spec with 2 sessions - -starting permutation: s1a s2a s1b s1c s2c -step s1a: LOCK TABLE a1 IN ACCESS EXCLUSIVE MODE; -step s2a: LOCK TABLE a1 IN EXCLUSIVE MODE; -step s1b: LOCK TABLE a1 IN SHARE ROW EXCLUSIVE MODE NOWAIT; -step s1c: COMMIT; -step s2a: <... completed> -step s2c: COMMIT; +Connection 0 failed: connection to server on socket "/tmp/pg_regress-jaLERP/.s.PGSQL.40052" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached.