starting permutation: s1_init s1_begin s1_insert_tbl1 s2_alter_tbl2_float s1_insert_tbl2 s1_commit s2_get_changes
step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?
+?column?
+--------
+init
+(1 row)
-init
step s1_begin: BEGIN;
step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
step s2_alter_tbl2_float: ALTER TABLE tbl2 ALTER COLUMN val2 TYPE float;
step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1);
step s1_commit: COMMIT;
step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
-table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
+data
+-------------------------------------------------------------------
+BEGIN
+table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
table public.tbl2: INSERT: val1[integer]:1 val2[double precision]:1
-COMMIT
-?column?
+COMMIT
+(4 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
starting permutation: s1_init s1_begin s1_insert_tbl1 s2_alter_tbl1_float s1_insert_tbl2 s1_commit s2_get_changes
step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?
+?column?
+--------
+init
+(1 row)
-init
step s1_begin: BEGIN;
step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
step s2_alter_tbl1_float: ALTER TABLE tbl1 ALTER COLUMN val2 TYPE float; <waiting ...>
step s1_commit: COMMIT;
step s2_alter_tbl1_float: <... completed>
step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
+data
+----------------------------------------------------------
+BEGIN
table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1
-COMMIT
-?column?
+COMMIT
+(4 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
starting permutation: s1_init s1_begin s1_insert_tbl1 s2_alter_tbl2_char s1_insert_tbl2 s1_commit s2_get_changes
step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?
+?column?
+--------
+init
+(1 row)
-init
step s1_begin: BEGIN;
step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
step s2_alter_tbl2_char: ALTER TABLE tbl2 ALTER COLUMN val2 TYPE character varying;
step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1);
step s1_commit: COMMIT;
step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
-table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
+data
+----------------------------------------------------------------------
+BEGIN
+table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
table public.tbl2: INSERT: val1[integer]:1 val2[character varying]:'1'
-COMMIT
-?column?
+COMMIT
+(4 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
starting permutation: s1_init s1_begin s1_insert_tbl1 s2_alter_tbl1_char s1_insert_tbl2 s1_commit s2_get_changes
step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?
+?column?
+--------
+init
+(1 row)
-init
step s1_begin: BEGIN;
step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
step s2_alter_tbl1_char: ALTER TABLE tbl1 ALTER COLUMN val2 TYPE character varying; <waiting ...>
step s1_commit: COMMIT;
step s2_alter_tbl1_char: <... completed>
step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
+data
+----------------------------------------------------------
+BEGIN
table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1
-COMMIT
-?column?
+COMMIT
+(4 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
starting permutation: s1_init s1_begin s1_insert_tbl1 s1_insert_tbl2 s2_alter_tbl1_float s1_commit s2_get_changes
step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?
+?column?
+--------
+init
+(1 row)
-init
step s1_begin: BEGIN;
step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1);
step s1_commit: COMMIT;
step s2_alter_tbl1_float: <... completed>
step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
+data
+----------------------------------------------------------
+BEGIN
table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1
-COMMIT
-?column?
+COMMIT
+(4 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
starting permutation: s1_init s1_begin s1_insert_tbl1 s1_insert_tbl2 s2_alter_tbl1_char s1_commit s2_get_changes
step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?
+?column?
+--------
+init
+(1 row)
-init
step s1_begin: BEGIN;
step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1);
step s1_commit: COMMIT;
step s2_alter_tbl1_char: <... completed>
step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
+data
+----------------------------------------------------------
+BEGIN
table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1
-COMMIT
-?column?
+COMMIT
+(4 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
starting permutation: s1_init s1_begin s1_insert_tbl1 s2_alter_tbl2_float s1_insert_tbl2 s2_alter_tbl1_float s1_commit s2_get_changes
step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?
+?column?
+--------
+init
+(1 row)
-init
step s1_begin: BEGIN;
step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
step s2_alter_tbl2_float: ALTER TABLE tbl2 ALTER COLUMN val2 TYPE float;
step s1_commit: COMMIT;
step s2_alter_tbl1_float: <... completed>
step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
-table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
+data
+-------------------------------------------------------------------
+BEGIN
+table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
table public.tbl2: INSERT: val1[integer]:1 val2[double precision]:1
-COMMIT
-?column?
+COMMIT
+(4 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
starting permutation: s1_init s1_begin s1_insert_tbl1 s2_alter_tbl2_char s1_insert_tbl2 s2_alter_tbl1_char s1_commit s2_get_changes
step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?
+?column?
+--------
+init
+(1 row)
-init
step s1_begin: BEGIN;
step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
step s2_alter_tbl2_char: ALTER TABLE tbl2 ALTER COLUMN val2 TYPE character varying;
step s1_commit: COMMIT;
step s2_alter_tbl1_char: <... completed>
step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
-table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
+data
+----------------------------------------------------------------------
+BEGIN
+table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
table public.tbl2: INSERT: val1[integer]:1 val2[character varying]:'1'
-COMMIT
-?column?
+COMMIT
+(4 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
starting permutation: s1_init s2_alter_tbl2_char s1_begin s1_insert_tbl1 s2_alter_tbl2_text s1_insert_tbl2 s1_commit s2_get_changes
step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?
+?column?
+--------
+init
+(1 row)
-init
step s2_alter_tbl2_char: ALTER TABLE tbl2 ALTER COLUMN val2 TYPE character varying;
step s1_begin: BEGIN;
step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1);
step s1_commit: COMMIT;
step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
+data
+----------------------------------------------------------
+BEGIN
table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
-table public.tbl2: INSERT: val1[integer]:1 val2[text]:'1'
-COMMIT
-?column?
+table public.tbl2: INSERT: val1[integer]:1 val2[text]:'1'
+COMMIT
+(4 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
starting permutation: s1_init s2_alter_tbl2_char s1_begin s1_insert_tbl1 s2_alter_tbl2_text s1_insert_tbl2 s2_alter_tbl1_char s1_commit s2_get_changes
step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?
+?column?
+--------
+init
+(1 row)
-init
step s2_alter_tbl2_char: ALTER TABLE tbl2 ALTER COLUMN val2 TYPE character varying;
step s1_begin: BEGIN;
step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
step s1_commit: COMMIT;
step s2_alter_tbl1_char: <... completed>
step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
+data
+----------------------------------------------------------
+BEGIN
table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
-table public.tbl2: INSERT: val1[integer]:1 val2[text]:'1'
-COMMIT
-?column?
+table public.tbl2: INSERT: val1[integer]:1 val2[text]:'1'
+COMMIT
+(4 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
starting permutation: s1_init s1_begin s1_insert_tbl1 s2_alter_tbl2_boolean s1_insert_tbl2 s1_commit s2_get_changes
step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?
+?column?
+--------
+init
+(1 row)
-init
step s1_begin: BEGIN;
step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
step s2_alter_tbl2_boolean: ALTER TABLE tbl2 ALTER COLUMN val2 TYPE boolean;
step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1);
step s1_commit: COMMIT;
step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
+data
+----------------------------------------------------------
+BEGIN
table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1
-COMMIT
-?column?
+COMMIT
+(4 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
starting permutation: s1_init s1_begin s1_insert_tbl1 s2_alter_tbl2_boolean s1_insert_tbl2 s2_alter_tbl1_boolean s1_commit s2_get_changes
step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?
+?column?
+--------
+init
+(1 row)
-init
step s1_begin: BEGIN;
step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
step s2_alter_tbl2_boolean: ALTER TABLE tbl2 ALTER COLUMN val2 TYPE boolean;
step s2_alter_tbl1_boolean: <... completed>
ERROR: column "val2" cannot be cast automatically to type boolean
step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
+data
+----------------------------------------------------------
+BEGIN
table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1
-COMMIT
-?column?
+COMMIT
+(4 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
starting permutation: s1_init s1_begin s1_insert_tbl1 s2_alter_tbl2_add_int s1_insert_tbl2_3col s1_commit s2_get_changes
step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?
+?column?
+--------
+init
+(1 row)
-init
step s1_begin: BEGIN;
step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
step s2_alter_tbl2_add_int: ALTER TABLE tbl2 ADD COLUMN val3 INTEGER;
step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1);
step s1_commit: COMMIT;
step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
-table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
+data
+--------------------------------------------------------------------------
+BEGIN
+table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[integer]:1
-COMMIT
-?column?
+COMMIT
+(4 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
starting permutation: s1_init s1_begin s1_insert_tbl1 s1_insert_tbl2 s1_commit s1_begin s2_alter_tbl2_add_int s1_insert_tbl2_3col s1_commit s2_get_changes
step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?
+?column?
+--------
+init
+(1 row)
-init
step s1_begin: BEGIN;
step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1);
step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1);
step s1_commit: COMMIT;
step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
-table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
-table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1
-COMMIT
-BEGIN
+data
+--------------------------------------------------------------------------
+BEGIN
+table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
+table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1
+COMMIT
+BEGIN
table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[integer]:1
-COMMIT
-?column?
+COMMIT
+(7 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
starting permutation: s1_init s1_begin s1_insert_tbl1 s2_alter_tbl2_add_float s1_insert_tbl2_3col s1_commit s2_get_changes
step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?
+?column?
+--------
+init
+(1 row)
-init
step s1_begin: BEGIN;
step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
step s2_alter_tbl2_add_float: ALTER TABLE tbl2 ADD COLUMN val3 FLOAT;
step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1);
step s1_commit: COMMIT;
step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
-table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
+data
+-----------------------------------------------------------------------------------
+BEGIN
+table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[double precision]:1
-COMMIT
-?column?
+COMMIT
+(4 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
starting permutation: s1_init s1_begin s1_insert_tbl1 s1_insert_tbl2 s1_commit s1_begin s2_alter_tbl2_add_float s1_insert_tbl2_3col s1_commit s2_get_changes
step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?
+?column?
+--------
+init
+(1 row)
-init
step s1_begin: BEGIN;
step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1);
step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1);
step s1_commit: COMMIT;
step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
-table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
-table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1
-COMMIT
-BEGIN
+data
+-----------------------------------------------------------------------------------
+BEGIN
+table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
+table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1
+COMMIT
+BEGIN
table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[double precision]:1
-COMMIT
-?column?
+COMMIT
+(7 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
starting permutation: s1_init s1_begin s1_insert_tbl1 s2_alter_tbl2_add_char s1_insert_tbl2_3col s1_commit s2_get_changes
step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?
+?column?
+--------
+init
+(1 row)
-init
step s1_begin: BEGIN;
step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
step s2_alter_tbl2_add_char: ALTER TABLE tbl2 ADD COLUMN val3 character varying;
step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1);
step s1_commit: COMMIT;
step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
-table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
+data
+--------------------------------------------------------------------------------------
+BEGIN
+table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[character varying]:'1'
-COMMIT
-?column?
+COMMIT
+(4 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
starting permutation: s1_init s1_begin s1_insert_tbl1 s1_insert_tbl2 s1_commit s1_begin s2_alter_tbl2_add_char s1_insert_tbl2_3col s1_commit s2_get_changes
step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?
+?column?
+--------
+init
+(1 row)
-init
step s1_begin: BEGIN;
step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1);
step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1);
step s1_commit: COMMIT;
step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
-table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
-table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1
-COMMIT
-BEGIN
+data
+--------------------------------------------------------------------------------------
+BEGIN
+table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
+table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1
+COMMIT
+BEGIN
table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[character varying]:'1'
-COMMIT
-?column?
+COMMIT
+(7 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
starting permutation: s1_init s2_alter_tbl2_add_int s1_begin s1_insert_tbl2_3col s2_alter_tbl2_drop_3rd_col s1_commit s2_get_changes
step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?
+?column?
+--------
+init
+(1 row)
-init
step s2_alter_tbl2_add_int: ALTER TABLE tbl2 ADD COLUMN val3 INTEGER;
step s1_begin: BEGIN;
step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1);
step s1_commit: COMMIT;
step s2_alter_tbl2_drop_3rd_col: <... completed>
step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
+data
+--------------------------------------------------------------------------
+BEGIN
table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[integer]:1
-COMMIT
-?column?
+COMMIT
+(3 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
starting permutation: s1_init s2_alter_tbl2_add_int s1_begin s1_insert_tbl2_3col s2_alter_tbl2_drop_3rd_col s1_insert_tbl2 s1_commit s1_insert_tbl2 s2_get_changes
step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?
+?column?
+--------
+init
+(1 row)
-init
step s2_alter_tbl2_add_int: ALTER TABLE tbl2 ADD COLUMN val3 INTEGER;
step s1_begin: BEGIN;
step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1);
step s2_alter_tbl2_drop_3rd_col: <... completed>
step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1);
step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
-table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[integer]:1
+data
+-----------------------------------------------------------------------------
+BEGIN
+table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[integer]:1
table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[integer]:null
-COMMIT
-BEGIN
-table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1
-COMMIT
-?column?
+COMMIT
+BEGIN
+table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1
+COMMIT
+(7 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
starting permutation: s1_init s2_alter_tbl2_add_int s1_begin s1_insert_tbl2_3col s2_alter_tbl2_drop_3rd_col s1_commit s2_get_changes s2_alter_tbl2_add_text s1_begin s1_insert_tbl2_3col s2_alter_tbl2_3rd_char s1_insert_tbl2_3col s1_commit s2_get_changes s2_alter_tbl2_3rd_int s1_insert_tbl2_3col s2_get_changes
step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?
+?column?
+--------
+init
+(1 row)
-init
step s2_alter_tbl2_add_int: ALTER TABLE tbl2 ADD COLUMN val3 INTEGER;
step s1_begin: BEGIN;
step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1);
step s1_commit: COMMIT;
step s2_alter_tbl2_drop_3rd_col: <... completed>
step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
+data
+--------------------------------------------------------------------------
+BEGIN
table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[integer]:1
-COMMIT
+COMMIT
+(3 rows)
+
step s2_alter_tbl2_add_text: ALTER TABLE tbl2 ADD COLUMN val3 TEXT;
step s1_begin: BEGIN;
step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1);
step s1_commit: COMMIT;
step s2_alter_tbl2_3rd_char: <... completed>
step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
+data
+-------------------------------------------------------------------------
+BEGIN
table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[text]:'1'
table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[text]:'1'
-COMMIT
+COMMIT
+(4 rows)
+
step s2_alter_tbl2_3rd_int: ALTER TABLE tbl2 ALTER COLUMN val3 TYPE int USING val3::integer;
step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1);
step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
+data
+--------------------------------------------------------------------------
+BEGIN
table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[integer]:1
-COMMIT
-?column?
+COMMIT
+(3 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
starting permutation: s1_init s2_alter_tbl2_add_char s1_begin s1_insert_tbl1 s1_insert_tbl2_3col s2_alter_tbl2_3rd_text s1_insert_tbl2_3col s1_commit s1_insert_tbl2_3col s2_get_changes
step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?
+?column?
+--------
+init
+(1 row)
-init
step s2_alter_tbl2_add_char: ALTER TABLE tbl2 ADD COLUMN val3 character varying;
step s1_begin: BEGIN;
step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
step s2_alter_tbl2_3rd_text: <... completed>
step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1);
step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
-table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
+data
+--------------------------------------------------------------------------------------
+BEGIN
+table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[character varying]:'1'
table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[character varying]:'1'
-COMMIT
-BEGIN
-table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[text]:'1'
-COMMIT
-?column?
+COMMIT
+BEGIN
+table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[text]:'1'
+COMMIT
+(8 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
starting permutation: s1_init s2_alter_tbl2_add_text s1_begin s1_insert_tbl1 s1_insert_tbl2_3col s2_alter_tbl2_3rd_char s1_insert_tbl2_3col s1_commit s1_insert_tbl2_3col s2_get_changes
step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?
+?column?
+--------
+init
+(1 row)
-init
step s2_alter_tbl2_add_text: ALTER TABLE tbl2 ADD COLUMN val3 TEXT;
step s1_begin: BEGIN;
step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
step s2_alter_tbl2_3rd_char: <... completed>
step s1_insert_tbl2_3col: INSERT INTO tbl2 (val1, val2, val3) VALUES (1, 1, 1);
step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
-table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
-table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[text]:'1'
-table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[text]:'1'
-COMMIT
-BEGIN
+data
+--------------------------------------------------------------------------------------
+BEGIN
+table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
+table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[text]:'1'
+table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[text]:'1'
+COMMIT
+BEGIN
table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[character varying]:'1'
-COMMIT
-?column?
+COMMIT
+(8 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
starting permutation: s1_init s2_alter_tbl2_add_char s1_begin s1_insert_tbl1 s2_alter_tbl2_3rd_text s1_insert_tbl2_3col s1_commit s2_alter_tbl2_drop_3rd_col s1_insert_tbl2 s2_get_changes
step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?
+?column?
+--------
+init
+(1 row)
-init
step s2_alter_tbl2_add_char: ALTER TABLE tbl2 ADD COLUMN val3 character varying;
step s1_begin: BEGIN;
step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
step s2_alter_tbl2_drop_3rd_col: ALTER TABLE tbl2 DROP COLUMN val3;
step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1);
step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
-table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
+data
+-------------------------------------------------------------------------
+BEGIN
+table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[text]:'1'
-COMMIT
-BEGIN
-table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1
-COMMIT
-?column?
+COMMIT
+BEGIN
+table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1
+COMMIT
+(7 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
starting permutation: s1_init s2_alter_tbl2_add_text s1_begin s1_insert_tbl1 s2_alter_tbl2_3rd_char s1_insert_tbl2_3col s1_commit s2_alter_tbl2_drop_3rd_col s1_insert_tbl2 s2_get_changes
step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?
+?column?
+--------
+init
+(1 row)
-init
step s2_alter_tbl2_add_text: ALTER TABLE tbl2 ADD COLUMN val3 TEXT;
step s1_begin: BEGIN;
step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
step s2_alter_tbl2_drop_3rd_col: ALTER TABLE tbl2 DROP COLUMN val3;
step s1_insert_tbl2: INSERT INTO tbl2 (val1, val2) VALUES (1, 1);
step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
-table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
+data
+--------------------------------------------------------------------------------------
+BEGIN
+table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1 val3[character varying]:'1'
-COMMIT
-BEGIN
-table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1
-COMMIT
-?column?
+COMMIT
+BEGIN
+table public.tbl2: INSERT: val1[integer]:1 val2[integer]:1
+COMMIT
+(7 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
starting permutation: s1_init s2_alter_tbl2_add_char s1_begin s1_insert_tbl1 s2_alter_tbl2_drop_3rd_col s1_insert_tbl1 s1_commit s2_get_changes
step s1_init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?
+?column?
+--------
+init
+(1 row)
-init
step s2_alter_tbl2_add_char: ALTER TABLE tbl2 ADD COLUMN val3 character varying;
step s1_begin: BEGIN;
step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
step s1_insert_tbl1: INSERT INTO tbl1 (val1, val2) VALUES (1, 1);
step s1_commit: COMMIT;
step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
+data
+----------------------------------------------------------
+BEGIN
table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
table public.tbl1: INSERT: val1[integer]:1 val2[integer]:1
-COMMIT
-?column?
+COMMIT
+(4 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
step s2_ddl: CREATE TABLE stream_test2(data text);
step s1_commit: COMMIT;
step s1_get_stream_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL,NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'stream-changes', '1');
-data
-
+data
+----------------------------------------
opening a streamed block for transaction
-streaming change for transaction
+streaming change for transaction
closing a streamed block for transaction
-committing streamed transaction
-?column?
+committing streamed transaction
+(4 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
step s2init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding'); <waiting ...>
step s1c: COMMIT;
step s2init: <... completed>
-?column?
+?column?
+--------
+init
+(1 row)
-init
step s2start: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false');
-data
+data
+----
+(0 rows)
step s1b: BEGIN ISOLATION LEVEL SERIALIZABLE;
step s1w: INSERT INTO do_write DEFAULT VALUES;
step s1c: COMMIT;
step s2start: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false');
-data
-
-BEGIN
+data
+--------------------------------------------
+BEGIN
table public.do_write: INSERT: id[integer]:2
-COMMIT
+COMMIT
+(3 rows)
+
step s1b: BEGIN ISOLATION LEVEL SERIALIZABLE;
step s1w: INSERT INTO do_write DEFAULT VALUES;
step s2start: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false');
-data
+data
+----
+(0 rows)
step s1c: COMMIT;
step s2start: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false');
-data
-
-BEGIN
+data
+--------------------------------------------
+BEGIN
table public.do_write: INSERT: id[integer]:3
-COMMIT
-?column?
+COMMIT
+(3 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
starting permutation: s0init s0start s1begin s1sharepgclass s2begin s2sharepgclass s0w s0start s2commit s1commit
step s0init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?
+?column?
+--------
+init
+(1 row)
-init
step s0start: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false');
-data
+data
+----
+(0 rows)
step s1begin: BEGIN;
step s1sharepgclass: SELECT count(*) > 1 FROM (SELECT * FROM pg_class FOR SHARE) s;
-?column?
+?column?
+--------
+t
+(1 row)
-t
step s2begin: BEGIN;
step s2sharepgclass: SELECT count(*) > 1 FROM (SELECT * FROM pg_class FOR SHARE) s;
-?column?
+?column?
+--------
+t
+(1 row)
-t
step s0w: INSERT INTO do_write DEFAULT VALUES;
step s0start: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false');
-data
-
-BEGIN
+data
+--------------------------------------------
+BEGIN
table public.do_write: INSERT: id[integer]:1
-COMMIT
+COMMIT
+(3 rows)
+
step s2commit: COMMIT;
step s1commit: COMMIT;
-?column?
+?column?
+--------
+stop
+(1 row)
-stop
starting permutation: s0init s0start s1begin s1keysharepgclass s2begin s2keysharepgclass s0alter s0w s0start s2commit s1commit
step s0init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');
-?column?
+?column?
+--------
+init
+(1 row)
-init
step s0start: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false');
-data
+data
+----
+(0 rows)
step s1begin: BEGIN;
step s1keysharepgclass: SELECT count(*) > 1 FROM (SELECT * FROM pg_class FOR KEY SHARE) s;
-?column?
+?column?
+--------
+t
+(1 row)
-t
step s2begin: BEGIN;
step s2keysharepgclass: SELECT count(*) > 1 FROM (SELECT * FROM pg_class FOR KEY SHARE) s;
-?column?
+?column?
+--------
+t
+(1 row)
-t
step s0alter: ALTER TABLE do_write ADD column ts timestamptz;
step s0w: INSERT INTO do_write DEFAULT VALUES;
step s0start: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false');
-data
-
-BEGIN
-COMMIT
-BEGIN
+data
+------------------------------------------------------------------------------
+BEGIN
+COMMIT
+BEGIN
table public.do_write: INSERT: id[integer]:1 ts[timestamp with time zone]:null
-COMMIT
+COMMIT
+(5 rows)
+
step s2commit: COMMIT;
step s1commit: COMMIT;
-?column?
+?column?
+--------
+stop
+(1 row)
-stop
starting permutation: s0_begin s0_getxid s1_begin s1_insert s0_alter s0_commit s0_checkpoint s0_get_changes s0_get_changes s1_commit s0_vacuum s0_get_changes
step s0_begin: BEGIN;
step s0_getxid: SELECT pg_current_xact_id() IS NULL;
-?column?
+?column?
+--------
+f
+(1 row)
-f
step s1_begin: BEGIN;
step s1_insert: INSERT INTO harvest VALUES ((1, 2, 3));
step s0_alter: ALTER TYPE basket DROP ATTRIBUTE mangos;
step s0_commit: COMMIT;
step s0_checkpoint: CHECKPOINT;
step s0_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
+data
+----
+(0 rows)
step s0_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
+data
+----
+(0 rows)
step s1_commit: COMMIT;
step s0_vacuum: VACUUM pg_attribute;
step s0_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
+data
+------------------------------------------------------
+BEGIN
table public.harvest: INSERT: fruits[basket]:'(1,2,3)'
-COMMIT
-?column?
+COMMIT
+(3 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
starting permutation: s2b s2txid s1init s3b s3txid s2alter s2c s2b s2txid s3c s2c s1insert s1checkpoint s1start s1insert s1alter s1insert s1start
step s2b: BEGIN;
step s2txid: SELECT pg_current_xact_id() IS NULL;
-?column?
+?column?
+--------
+f
+(1 row)
-f
step s1init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding'); <waiting ...>
step s3b: BEGIN;
step s3txid: SELECT pg_current_xact_id() IS NULL;
-?column?
+?column?
+--------
+f
+(1 row)
-f
step s2alter: ALTER TABLE do_write ADD COLUMN addedbys2 int;
step s2c: COMMIT;
step s2b: BEGIN;
step s2txid: SELECT pg_current_xact_id() IS NULL;
-?column?
+?column?
+--------
+f
+(1 row)
-f
step s3c: COMMIT;
step s1init: <... completed>
-?column?
+?column?
+--------
+init
+(1 row)
-init
step s2c: COMMIT;
step s1insert: INSERT INTO do_write DEFAULT VALUES;
step s1checkpoint: CHECKPOINT;
step s1start: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false');
-data
-
-BEGIN
+data
+--------------------------------------------------------------------
+BEGIN
table public.do_write: INSERT: id[integer]:1 addedbys2[integer]:null
-COMMIT
+COMMIT
+(3 rows)
+
step s1insert: INSERT INTO do_write DEFAULT VALUES;
step s1alter: ALTER TABLE do_write ADD COLUMN addedbys1 int;
step s1insert: INSERT INTO do_write DEFAULT VALUES;
step s1start: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false');
-data
-
-BEGIN
-table public.do_write: INSERT: id[integer]:2 addedbys2[integer]:null
-COMMIT
-BEGIN
-COMMIT
-BEGIN
+data
+--------------------------------------------------------------------------------------------
+BEGIN
+table public.do_write: INSERT: id[integer]:2 addedbys2[integer]:null
+COMMIT
+BEGIN
+COMMIT
+BEGIN
table public.do_write: INSERT: id[integer]:3 addedbys2[integer]:null addedbys1[integer]:null
-COMMIT
-?column?
+COMMIT
+(8 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
step s0_begin: BEGIN;
step s0_begin_sub0: SAVEPOINT s0;
step s0_log_assignment: SELECT pg_current_xact_id() IS NULL;
-?column?
+?column?
+--------
+f
+(1 row)
-f
step s0_sub_get_base_snap: INSERT INTO dummy VALUES (0);
step s1_produce_new_snap: ALTER TABLE harvest ADD COLUMN mangos int;
step s0_insert: INSERT INTO harvest VALUES (1, 2, 3);
step s0_end_sub0: RELEASE SAVEPOINT s0;
step s0_commit: COMMIT;
step s0_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
-table public.dummy: INSERT: i[integer]:0
+data
+----------------------------------------------------------------------------------
+BEGIN
+table public.dummy: INSERT: i[integer]:0
table public.harvest: INSERT: apples[integer]:1 pears[integer]:2 mangos[integer]:3
-COMMIT
-?column?
+COMMIT
+(4 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
starting permutation: s0_begin s0_begin_sub0 s0_log_assignment s0_begin_sub1 s0_sub_get_base_snap s1_produce_new_snap s0_insert s0_end_sub1 s0_end_sub0 s0_commit s0_get_changes
step s0_begin: BEGIN;
step s0_begin_sub0: SAVEPOINT s0;
step s0_log_assignment: SELECT pg_current_xact_id() IS NULL;
-?column?
+?column?
+--------
+f
+(1 row)
-f
step s0_begin_sub1: SAVEPOINT s1;
step s0_sub_get_base_snap: INSERT INTO dummy VALUES (0);
step s1_produce_new_snap: ALTER TABLE harvest ADD COLUMN mangos int;
step s0_end_sub0: RELEASE SAVEPOINT s0;
step s0_commit: COMMIT;
step s0_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
-table public.dummy: INSERT: i[integer]:0
+data
+----------------------------------------------------------------------------------
+BEGIN
+table public.dummy: INSERT: i[integer]:0
table public.harvest: INSERT: apples[integer]:1 pears[integer]:2 mangos[integer]:3
-COMMIT
-?column?
+COMMIT
+(4 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
step s1_begin: BEGIN;
step s1_dml: INSERT INTO harvest VALUES (43);
step s0_many_subxacts: select subxacts();
-subxacts
+subxacts
+--------
+
+(1 row)
-
step s0_commit: COMMIT;
step s2_checkpoint: CHECKPOINT;
step s2_get_changes_suppress_output: SELECT null n FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1') GROUP BY n;
-n
+n
+-
+
+(1 row)
-
step s2_get_changes_suppress_output: SELECT null n FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1') GROUP BY n;
-n
+n
+-
+(0 rows)
step s1_commit: COMMIT;
step s2_get_changes: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
-data
-
-BEGIN
+data
+------------------------------------------------
+BEGIN
table public.harvest: INSERT: apples[integer]:43
-COMMIT
-?column?
+COMMIT
+(3 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
starting permutation: s2b s2txid s1init s3b s3txid s2c s2b s2insert s2p s3c s1insert s1start s2cp s1start
step s2b: BEGIN;
step s2txid: SELECT pg_current_xact_id() IS NULL;
-?column?
+?column?
+--------
+f
+(1 row)
-f
step s1init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding', false, true); <waiting ...>
step s3b: BEGIN;
step s3txid: SELECT pg_current_xact_id() IS NULL;
-?column?
+?column?
+--------
+f
+(1 row)
-f
step s2c: COMMIT;
step s2b: BEGIN;
step s2insert: INSERT INTO do_write DEFAULT VALUES;
step s2p: PREPARE TRANSACTION 'test1';
step s3c: COMMIT;
step s1init: <... completed>
-?column?
+?column?
+--------
+init
+(1 row)
-init
step s1insert: INSERT INTO do_write DEFAULT VALUES;
step s1start: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false', 'skip-empty-xacts', '1');
-data
-
-BEGIN
+data
+--------------------------------------------
+BEGIN
table public.do_write: INSERT: id[integer]:2
-COMMIT
+COMMIT
+(3 rows)
+
step s2cp: COMMIT PREPARED 'test1';
step s1start: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false', 'skip-empty-xacts', '1');
-data
-
-BEGIN
+data
+--------------------------------------------
+BEGIN
table public.do_write: INSERT: id[integer]:1
-PREPARE TRANSACTION 'test1'
-COMMIT PREPARED 'test1'
-?column?
+PREPARE TRANSACTION 'test1'
+COMMIT PREPARED 'test1'
+(4 rows)
+
+?column?
+--------
+stop
+(1 row)
-stop
step s1u: UPDATE foo SET key = 2;
step s1r: ROLLBACK TO f;
step s1l: SELECT * FROM foo FOR KEY SHARE;
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s1c: COMMIT;
step s2l: SELECT * FROM foo FOR KEY SHARE;
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s2c: COMMIT;
starting permutation: s1s s1u s1r s1l s2l s1c s2c
step s1u: UPDATE foo SET key = 2;
step s1r: ROLLBACK TO f;
step s1l: SELECT * FROM foo FOR KEY SHARE;
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s2l: SELECT * FROM foo FOR KEY SHARE;
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s1c: COMMIT;
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
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s2l: SELECT * FROM foo FOR KEY SHARE;
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s2c: COMMIT;
step s1c: COMMIT;
step s1u: UPDATE foo SET key = 2;
step s1r: ROLLBACK TO f;
step s2l: SELECT * FROM foo FOR KEY SHARE;
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s1l: SELECT * FROM foo FOR KEY SHARE;
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s1c: COMMIT;
step s2c: COMMIT;
step s1u: UPDATE foo SET key = 2;
step s1r: ROLLBACK TO f;
step s2l: SELECT * FROM foo FOR KEY SHARE;
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s1l: SELECT * FROM foo FOR KEY SHARE;
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s2c: COMMIT;
step s1c: COMMIT;
step s1u: UPDATE foo SET key = 2;
step s1r: ROLLBACK TO f;
step s2l: SELECT * FROM foo FOR KEY SHARE;
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s2c: COMMIT;
step s1l: SELECT * FROM foo FOR KEY SHARE;
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s1c: COMMIT;
starting permutation: s1s s1u s2l s1r s1l s1c s2c
step s2l: SELECT * FROM foo FOR KEY SHARE; <waiting ...>
step s1r: ROLLBACK TO f;
step s2l: <... completed>
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s1l: SELECT * FROM foo FOR KEY SHARE;
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s1c: COMMIT;
step s2c: COMMIT;
step s2l: SELECT * FROM foo FOR KEY SHARE; <waiting ...>
step s1r: ROLLBACK TO f;
step s2l: <... completed>
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s1l: SELECT * FROM foo FOR KEY SHARE;
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s2c: COMMIT;
step s1c: COMMIT;
step s2l: SELECT * FROM foo FOR KEY SHARE; <waiting ...>
step s1r: ROLLBACK TO f;
step s2l: <... completed>
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s2c: COMMIT;
step s1l: SELECT * FROM foo FOR KEY SHARE;
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
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
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s1u: UPDATE foo SET key = 2; <waiting ...>
step s2c: COMMIT;
step s1u: <... completed>
step s1r: ROLLBACK TO f;
step s1l: SELECT * FROM foo FOR KEY SHARE;
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
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
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
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
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s1c: COMMIT;
starting permutation: s2l s1s s1u s2c s1r s1l s1c
step s2l: SELECT * FROM foo FOR KEY SHARE;
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s1s: SAVEPOINT f;
step s1u: UPDATE foo SET key = 2; <waiting ...>
step s2c: COMMIT;
step s1u: <... completed>
step s1r: ROLLBACK TO f;
step s1l: SELECT * FROM foo FOR KEY SHARE;
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s1c: COMMIT;
starting permutation: s2l s1s s2c s1u s1r s1l s1c
step s2l: SELECT * FROM foo FOR KEY SHARE;
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
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
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s1c: COMMIT;
starting permutation: s2l s2c s1s s1u s1r s1l s1c
step s2l: SELECT * FROM foo FOR KEY SHARE;
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
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
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s1c: COMMIT;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step sc2: COMMIT;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id
+a_id
+----
+ 1
+(1 row)
-1
step wx: INSERT INTO b VALUES (0);
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
starting permutation: s1 at1 sc1 s2 at2 rx1 sc2 wx rx3 c2
step s2: BEGIN;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id
+a_id
+----
+ 1
+(1 row)
-1
step sc2: COMMIT;
step wx: INSERT INTO b VALUES (0);
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
starting permutation: s1 at1 sc1 s2 at2 rx1 wx sc2 rx3 c2
step s2: BEGIN;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id
+a_id
+----
+ 1
+(1 row)
-1
step wx: INSERT INTO b VALUES (0);
step sc2: COMMIT;
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
starting permutation: s1 at1 sc1 s2 at2 rx1 wx rx3 sc2 c2
step s2: BEGIN;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id
+a_id
+----
+ 1
+(1 row)
-1
step wx: INSERT INTO b VALUES (0);
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step sc2: COMMIT;
step c2: 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
+a_id
+----
+ 1
+(1 row)
-1
step wx: INSERT INTO b VALUES (0);
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
step sc2: COMMIT;
step sc1: COMMIT;
step s2: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
starting permutation: s1 at1 sc1 s2 rx1 at2 wx sc2 rx3 c2
step sc1: COMMIT;
step s2: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
starting permutation: s1 at1 sc1 s2 rx1 at2 wx rx3 sc2 c2
step sc1: COMMIT;
step s2: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step sc2: COMMIT;
step c2: COMMIT;
step sc1: COMMIT;
step s2: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
step sc2: COMMIT;
step sc1: COMMIT;
step s2: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
starting permutation: s1 at1 sc1 s2 rx1 wx at2 rx3 sc2 c2
step sc1: COMMIT;
step s2: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step sc2: COMMIT;
step c2: COMMIT;
step sc1: COMMIT;
step s2: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
step sc2: COMMIT;
step sc1: COMMIT;
step s2: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id
+a_id
+----
+ 1
+(1 row)
-1
step wx: INSERT INTO b VALUES (0);
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step sc2: COMMIT;
step c2: COMMIT;
step sc1: COMMIT;
step s2: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id
+a_id
+----
+ 1
+(1 row)
-1
step wx: INSERT INTO b VALUES (0);
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step c2: COMMIT;
step sc2: COMMIT;
step sc1: COMMIT;
step s2: BEGIN;
step rx1: SELECT * FROM b WHERE a_id = 1 LIMIT 1;
-a_id
+a_id
+----
+ 1
+(1 row)
-1
step wx: INSERT INTO b VALUES (0);
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step sc2: COMMIT;
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
starting permutation: s1 at1 sc1 rx1 s2 at2 wx sc2 rx3 c2
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
starting permutation: s1 at1 sc1 rx1 s2 at2 wx rx3 sc2 c2
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step sc2: COMMIT;
step c2: COMMIT;
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
step sc2: COMMIT;
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
starting permutation: s1 at1 sc1 rx1 s2 wx at2 rx3 sc2 c2
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step sc2: COMMIT;
step c2: COMMIT;
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
step sc2: COMMIT;
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
+a_id
+----
+ 1
+(1 row)
-1
step s2: BEGIN;
step wx: INSERT INTO b VALUES (0);
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step sc2: COMMIT;
step c2: COMMIT;
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
+a_id
+----
+ 1
+(1 row)
-1
step s2: BEGIN;
step wx: INSERT INTO b VALUES (0);
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step c2: COMMIT;
step sc2: COMMIT;
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
+a_id
+----
+ 1
+(1 row)
-1
step s2: BEGIN;
step wx: INSERT INTO b VALUES (0);
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step sc2: COMMIT;
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
starting permutation: s1 at1 sc1 rx1 wx s2 at2 rx3 sc2 c2
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step sc2: COMMIT;
step c2: COMMIT;
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
step sc2: COMMIT;
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
+a_id
+----
+ 1
+(1 row)
-1
step wx: INSERT INTO b VALUES (0);
step s2: BEGIN;
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step sc2: COMMIT;
step c2: COMMIT;
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
+a_id
+----
+ 1
+(1 row)
-1
step wx: INSERT INTO b VALUES (0);
step s2: BEGIN;
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step c2: COMMIT;
step sc2: COMMIT;
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
+a_id
+----
+ 1
+(1 row)
-1
step wx: INSERT INTO b VALUES (0);
step s2: BEGIN;
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step sc2: COMMIT;
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
+a_id
+----
+ 1
+(1 row)
-1
step wx: INSERT INTO b VALUES (0);
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step s2: BEGIN;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step sc2: COMMIT;
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
+a_id
+----
+ 1
+(1 row)
-1
step wx: INSERT INTO b VALUES (0);
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step s2: BEGIN;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step c2: COMMIT;
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
+a_id
+----
+ 1
+(1 row)
-1
step wx: INSERT INTO b VALUES (0);
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step s2: BEGIN;
step c2: COMMIT;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
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
+a_id
+----
+ 1
+(1 row)
-1
step wx: INSERT INTO b VALUES (0);
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
step s2: BEGIN;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step sc2: COMMIT;
step c2: COMMIT;
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
step sc2: COMMIT;
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step sc2: COMMIT;
step c2: COMMIT;
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
step sc2: COMMIT;
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step sc2: COMMIT;
step c2: COMMIT;
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step c2: COMMIT;
step sc2: COMMIT;
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step sc2: COMMIT;
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step sc2: COMMIT;
step c2: COMMIT;
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
step sc2: COMMIT;
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step sc2: COMMIT;
step c2: COMMIT;
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step c2: COMMIT;
step sc2: COMMIT;
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step sc2: COMMIT;
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
+a_id
+----
+ 1
+(1 row)
-1
step sc1: COMMIT;
step wx: INSERT INTO b VALUES (0);
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step s2: BEGIN;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step sc2: COMMIT;
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
+a_id
+----
+ 1
+(1 row)
-1
step sc1: COMMIT;
step wx: INSERT INTO b VALUES (0);
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step s2: BEGIN;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step c2: COMMIT;
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
+a_id
+----
+ 1
+(1 row)
-1
step sc1: COMMIT;
step wx: INSERT INTO b VALUES (0);
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step s2: BEGIN;
step c2: COMMIT;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
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
+a_id
+----
+ 1
+(1 row)
-1
step sc1: COMMIT;
step wx: INSERT INTO b VALUES (0);
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
step s2: BEGIN;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
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
+a_id
+----
+ 1
+(1 row)
-1
step wx: INSERT INTO b VALUES (0); <waiting ...>
step sc1: COMMIT;
step wx: <... completed>
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step sc2: COMMIT;
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
step wx: INSERT INTO b VALUES (0); <waiting ...>
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step sc2: COMMIT;
step c2: COMMIT;
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
+a_id
+----
+ 1
+(1 row)
-1
step wx: INSERT INTO b VALUES (0); <waiting ...>
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
step sc2: COMMIT;
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
+a_id
+----
+ 1
+(1 row)
-1
step wx: INSERT INTO b VALUES (0); <waiting ...>
step sc1: COMMIT;
step wx: <... completed>
step s2: BEGIN;
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step sc2: COMMIT;
step c2: COMMIT;
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
+a_id
+----
+ 1
+(1 row)
-1
step wx: INSERT INTO b VALUES (0); <waiting ...>
step sc1: COMMIT;
step wx: <... completed>
step s2: BEGIN;
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step c2: COMMIT;
step sc2: COMMIT;
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
+a_id
+----
+ 1
+(1 row)
-1
step wx: INSERT INTO b VALUES (0); <waiting ...>
step sc1: COMMIT;
step wx: <... completed>
step s2: BEGIN;
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step sc2: COMMIT;
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
+a_id
+----
+ 1
+(1 row)
-1
step wx: INSERT INTO b VALUES (0); <waiting ...>
step sc1: COMMIT;
step wx: <... completed>
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step s2: BEGIN;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step sc2: COMMIT;
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
+a_id
+----
+ 1
+(1 row)
-1
step wx: INSERT INTO b VALUES (0); <waiting ...>
step sc1: COMMIT;
step wx: <... completed>
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step s2: BEGIN;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step c2: COMMIT;
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
+a_id
+----
+ 1
+(1 row)
-1
step wx: INSERT INTO b VALUES (0); <waiting ...>
step sc1: COMMIT;
step wx: <... completed>
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step s2: BEGIN;
step c2: COMMIT;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
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
+a_id
+----
+ 1
+(1 row)
-1
step wx: INSERT INTO b VALUES (0); <waiting ...>
step sc1: COMMIT;
step wx: <... completed>
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
step s2: BEGIN;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
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
+a_id
+----
+ 1
+(1 row)
-1
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
step sc1: COMMIT;
step s2: BEGIN;
step sc2: COMMIT;
step wx: INSERT INTO b VALUES (0);
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
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 sc2: COMMIT;
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
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 rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
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 at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step sc2: COMMIT;
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step s2: BEGIN;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step sc2: 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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step s2: BEGIN;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step c2: 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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step s2: BEGIN;
step c2: COMMIT;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
step s2: BEGIN;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
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
+a_id
+----
+ 1
+(1 row)
-1
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
step wx: INSERT INTO b VALUES (0); <waiting ...>
step sc1: COMMIT;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step sc2: COMMIT;
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
step wx: INSERT INTO b VALUES (0); <waiting ...>
step sc1: COMMIT;
step s2: BEGIN;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
step wx: INSERT INTO b VALUES (0); <waiting ...>
step sc1: COMMIT;
step s2: BEGIN;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
step wx: INSERT INTO b VALUES (0); <waiting ...>
step sc1: COMMIT;
step wx: <... completed>
step s2: BEGIN;
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
step wx: INSERT INTO b VALUES (0); <waiting ...>
step sc1: COMMIT;
step wx: <... completed>
step s2: BEGIN;
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
step wx: INSERT INTO b VALUES (0); <waiting ...>
step sc1: COMMIT;
step wx: <... completed>
step s2: BEGIN;
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
step wx: INSERT INTO b VALUES (0); <waiting ...>
step sc1: COMMIT;
step wx: <... completed>
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step s2: BEGIN;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step sc2: 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
+a_id
+----
+ 1
+(1 row)
-1
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
step wx: INSERT INTO b VALUES (0); <waiting ...>
step sc1: COMMIT;
step wx: <... completed>
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step s2: BEGIN;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step c2: 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
+a_id
+----
+ 1
+(1 row)
-1
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
step wx: INSERT INTO b VALUES (0); <waiting ...>
step sc1: COMMIT;
step wx: <... completed>
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step s2: BEGIN;
step c2: COMMIT;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
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
+a_id
+----
+ 1
+(1 row)
-1
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
step wx: INSERT INTO b VALUES (0); <waiting ...>
step sc1: COMMIT;
step wx: <... completed>
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
step s2: BEGIN;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
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
+a_id
+----
+ 1
+(1 row)
-1
step wx: INSERT INTO b VALUES (0);
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
step at1: <... completed>
step sc1: 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
+a_id
+----
+ 1
+(1 row)
-1
step wx: INSERT INTO b VALUES (0);
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
step c2: COMMIT;
step at1: <... completed>
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
+a_id
+----
+ 1
+(1 row)
-1
step wx: INSERT INTO b VALUES (0);
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
step sc1: 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
+a_id
+----
+ 1
+(1 row)
-1
step s1: BEGIN;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
step sc1: COMMIT;
step sc2: COMMIT;
step wx: INSERT INTO b VALUES (0);
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
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 sc2: COMMIT;
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
step s1: BEGIN;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
step sc1: COMMIT;
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
step s1: BEGIN;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
step sc1: COMMIT;
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
step s1: BEGIN;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
step sc1: COMMIT;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step sc2: COMMIT;
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
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 at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
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 at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
step s1: BEGIN;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
step sc1: COMMIT;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step sc2: COMMIT;
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
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 rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
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 rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step s2: BEGIN;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step sc2: 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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step s2: BEGIN;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step c2: 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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step s2: BEGIN;
step c2: COMMIT;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
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
+a_id
+----
+ 1
+(1 row)
-1
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
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
step s2: BEGIN;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
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
+a_id
+----
+ 1
+(1 row)
-1
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); <waiting ...>
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step sc2: COMMIT;
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
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); <waiting ...>
step s2: BEGIN;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
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); <waiting ...>
step s2: BEGIN;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
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); <waiting ...>
step wx: <... completed>
step s2: BEGIN;
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
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); <waiting ...>
step wx: <... completed>
step s2: BEGIN;
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
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); <waiting ...>
step wx: <... completed>
step s2: BEGIN;
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
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
+a_id
+----
+ 1
+(1 row)
-1
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); <waiting ...>
step sc1: COMMIT;
step wx: <... completed>
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step s2: BEGIN;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step sc2: 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
+a_id
+----
+ 1
+(1 row)
-1
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); <waiting ...>
step sc1: COMMIT;
step wx: <... completed>
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step s2: BEGIN;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
step c2: 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
+a_id
+----
+ 1
+(1 row)
-1
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); <waiting ...>
step sc1: COMMIT;
step wx: <... completed>
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step s2: BEGIN;
step c2: COMMIT;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
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
+a_id
+----
+ 1
+(1 row)
-1
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); <waiting ...>
step sc1: COMMIT;
step wx: <... completed>
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
step s2: BEGIN;
step at2: ALTER TABLE b VALIDATE CONSTRAINT bfk;
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
+a_id
+----
+ 1
+(1 row)
-1
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; <waiting ...>
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
step at1: <... completed>
step sc1: 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
+a_id
+----
+ 1
+(1 row)
-1
step s1: BEGIN;
step wx: INSERT INTO b VALUES (0);
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
step c2: COMMIT;
step at1: <... completed>
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
+a_id
+----
+ 1
+(1 row)
-1
step s1: BEGIN;
step wx: INSERT INTO b VALUES (0);
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
step sc1: 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
+a_id
+----
+ 1
+(1 row)
-1
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; <waiting ...>
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
step at1: <... completed>
step sc1: 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
+a_id
+----
+ 1
+(1 row)
-1
step wx: INSERT INTO b VALUES (0);
step s1: BEGIN;
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
step c2: COMMIT;
step at1: <... completed>
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
+a_id
+----
+ 1
+(1 row)
-1
step wx: INSERT INTO b VALUES (0);
step s1: BEGIN;
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
step sc1: 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
+a_id
+----
+ 1
+(1 row)
-1
step wx: INSERT INTO b VALUES (0);
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step s1: BEGIN;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
step c2: 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
+a_id
+----
+ 1
+(1 row)
-1
step wx: INSERT INTO b VALUES (0);
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step s1: BEGIN;
step c2: COMMIT;
step at1: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
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
+a_id
+----
+ 1
+(1 row)
-1
step wx: INSERT INTO b VALUES (0);
step rx3: SELECT * FROM b WHERE a_id = 3 LIMIT 3;
-a_id
+a_id
+----
+ 3
+ 3
+ 3
+(3 rows)
-3
-3
-3
step c2: COMMIT;
step s1: BEGIN;
step at1: 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
+i
+-
+1
+(1 row)
-1
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
step s2d: INSERT INTO b VALUES (0);
step s2e: INSERT INTO a VALUES (4);
step s2f: COMMIT;
step s2a: BEGIN;
step s1c: COMMIT;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
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 s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s1c: COMMIT;
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
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 s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
step s1c: COMMIT;
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 s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
step s2d: INSERT INTO b VALUES (0); <waiting ...>
step s1c: COMMIT;
step s2d: <... completed>
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
+i
+-
+1
+(1 row)
-1
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
step s2d: INSERT INTO b VALUES (0);
step s2e: INSERT INTO a VALUES (4);
step s2f: COMMIT;
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
+i
+-
+1
+(1 row)
-1
step s1c: COMMIT;
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
step s2d: INSERT INTO b VALUES (0);
step s2e: INSERT INTO a VALUES (4);
step s2f: COMMIT;
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
+i
+-
+1
+(1 row)
-1
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
step s1c: COMMIT;
step s2d: INSERT INTO b VALUES (0);
step s2e: INSERT INTO a VALUES (4);
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
+i
+-
+1
+(1 row)
-1
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
step s2d: INSERT INTO b VALUES (0); <waiting ...>
step s1c: COMMIT;
step s2d: <... completed>
step s1a: BEGIN;
step s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
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
+a_id
+----
+ 3
+(1 row)
-3
step s2d: INSERT INTO b VALUES (0);
step s2e: INSERT INTO a VALUES (4);
step s2f: COMMIT;
step s1a: BEGIN;
step s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
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
+a_id
+----
+ 3
+(1 row)
-3
step s1c: COMMIT;
step s2d: INSERT INTO b VALUES (0);
step s2e: INSERT INTO a VALUES (4);
step s1a: BEGIN;
step s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
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
+a_id
+----
+ 3
+(1 row)
-3
step s2d: INSERT INTO b VALUES (0); <waiting ...>
step s1c: COMMIT;
step s2d: <... completed>
step s1a: BEGIN;
step s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
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 s1a: BEGIN;
step s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
step s2d: INSERT INTO b VALUES (0); <waiting ...>
step s1c: COMMIT;
step s1a: BEGIN;
step s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
step s2d: INSERT INTO b VALUES (0);
step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
step s2e: INSERT INTO a VALUES (4);
step s1a: BEGIN;
step s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
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; <waiting ...>
step s1a: BEGIN;
step s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
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;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
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 s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s1c: COMMIT;
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
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 s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
step s1c: COMMIT;
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 s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
step s2d: INSERT INTO b VALUES (0); <waiting ...>
step s1c: COMMIT;
step s2d: <... completed>
step s2a: BEGIN;
step s1a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
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
+a_id
+----
+ 3
+(1 row)
-3
step s2d: INSERT INTO b VALUES (0);
step s2e: INSERT INTO a VALUES (4);
step s2f: COMMIT;
step s2a: BEGIN;
step s1a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
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
+a_id
+----
+ 3
+(1 row)
-3
step s1c: COMMIT;
step s2d: INSERT INTO b VALUES (0);
step s2e: INSERT INTO a VALUES (4);
step s2a: BEGIN;
step s1a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
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
+a_id
+----
+ 3
+(1 row)
-3
step s2d: INSERT INTO b VALUES (0); <waiting ...>
step s1c: COMMIT;
step s2d: <... completed>
step s2a: BEGIN;
step s1a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
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 s2a: BEGIN;
step s1a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
step s2d: INSERT INTO b VALUES (0); <waiting ...>
step s1c: COMMIT;
step s2a: BEGIN;
step s1a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
step s2d: INSERT INTO b VALUES (0);
step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
step s2e: INSERT INTO a VALUES (4);
step s2a: BEGIN;
step s1a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
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; <waiting ...>
step s2a: BEGIN;
step s1a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
step s2d: INSERT INTO b VALUES (0);
step s2e: INSERT INTO a VALUES (4);
step s2f: 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
+i
+-
+1
+(1 row)
-1
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
+a_id
+----
+ 3
+(1 row)
-3
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
+i
+-
+1
+(1 row)
-1
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
+a_id
+----
+ 3
+(1 row)
-3
step s1c: COMMIT;
step s2d: INSERT INTO b VALUES (0);
step s2e: INSERT INTO a VALUES (4);
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
+i
+-
+1
+(1 row)
-1
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
+a_id
+----
+ 3
+(1 row)
-3
step s2d: INSERT INTO b VALUES (0); <waiting ...>
step s1c: COMMIT;
step s2d: <... completed>
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
+i
+-
+1
+(1 row)
-1
step s1a: BEGIN;
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
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);
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
+i
+-
+1
+(1 row)
-1
step s1a: BEGIN;
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID;
step s2d: INSERT INTO b VALUES (0); <waiting ...>
step s1c: 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
+i
+-
+1
+(1 row)
-1
step s1a: BEGIN;
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
step s2d: INSERT INTO b VALUES (0);
step s1b: ALTER TABLE b ADD CONSTRAINT bfk FOREIGN KEY (a_id) REFERENCES a (i) NOT VALID; <waiting ...>
step s2e: INSERT INTO a VALUES (4);
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
+i
+-
+1
+(1 row)
-1
step s1a: BEGIN;
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
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; <waiting ...>
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
+i
+-
+1
+(1 row)
-1
step s1a: BEGIN;
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
step s2d: INSERT INTO b VALUES (0);
step s2e: INSERT INTO a VALUES (4);
step s2f: 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
+i
+-
+1
+(1 row)
-1
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
step s1a: BEGIN;
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 s2d s1c s2e s2f
step s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
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); <waiting ...>
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
+i
+-
+1
+(1 row)
-1
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
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; <waiting ...>
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
+i
+-
+1
+(1 row)
-1
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
step s1a: BEGIN;
step s2d: INSERT INTO b VALUES (0);
step s2e: INSERT INTO a VALUES (4);
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
+i
+-
+1
+(1 row)
-1
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
step s1a: BEGIN;
step s2d: INSERT INTO b VALUES (0);
step s2e: INSERT INTO a VALUES (4);
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
+i
+-
+1
+(1 row)
-1
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
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; <waiting ...>
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
+i
+-
+1
+(1 row)
-1
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
step s2d: INSERT INTO b VALUES (0);
step s1a: BEGIN;
step s2e: INSERT INTO a VALUES (4);
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
+i
+-
+1
+(1 row)
-1
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
step s2d: INSERT INTO b VALUES (0);
step s1a: BEGIN;
step s2e: INSERT INTO a VALUES (4);
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
+i
+-
+1
+(1 row)
-1
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
step s2d: INSERT INTO b VALUES (0);
step s2e: INSERT INTO a VALUES (4);
step s1a: BEGIN;
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
+i
+-
+1
+(1 row)
-1
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
step s2d: INSERT INTO b VALUES (0);
step s2e: INSERT INTO a VALUES (4);
step s1a: BEGIN;
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
+i
+-
+1
+(1 row)
-1
step s2c: SELECT * FROM b WHERE a_id = 3 LIMIT 1 FOR UPDATE;
-a_id
+a_id
+----
+ 3
+(1 row)
-3
step s2d: INSERT INTO b VALUES (0);
step s2e: INSERT INTO a VALUES (4);
step s2f: COMMIT;
step s1d: COMMIT;
step s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
step s2d: COMMIT;
step s2a: BEGIN;
step s1d: COMMIT;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
step s2d: COMMIT;
step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s1d: COMMIT;
step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s2c: INSERT INTO a VALUES (0); <waiting ...>
step s1d: COMMIT;
step s2c: <... completed>
step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s1d: COMMIT;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
step s2d: COMMIT;
step s2a: BEGIN;
step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s1d: COMMIT;
step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
step s2a: BEGIN;
step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s2c: INSERT INTO a VALUES (0); <waiting ...>
step s1d: COMMIT;
step s2c: <... completed>
step s1b: ALTER TABLE a DISABLE TRIGGER t;
step s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s1d: COMMIT;
step s2c: INSERT INTO a VALUES (0);
step s1b: ALTER TABLE a DISABLE TRIGGER t;
step s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s2c: INSERT INTO a VALUES (0); <waiting ...>
step s1d: COMMIT;
step s1b: ALTER TABLE a DISABLE TRIGGER t;
step s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s2c: INSERT INTO a VALUES (0); <waiting ...>
step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s1d: COMMIT;
step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s1d: COMMIT;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
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 s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s1d: COMMIT;
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 s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s2c: INSERT INTO a VALUES (0); <waiting ...>
step s1d: COMMIT;
step s2c: <... completed>
step s2a: BEGIN;
step s1b: ALTER TABLE a DISABLE TRIGGER t;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s1d: COMMIT;
step s2c: INSERT INTO a VALUES (0);
step s2a: BEGIN;
step s1b: ALTER TABLE a DISABLE TRIGGER t;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s2c: INSERT INTO a VALUES (0); <waiting ...>
step s1d: COMMIT;
step s2a: BEGIN;
step s1b: ALTER TABLE a DISABLE TRIGGER t;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s2c: INSERT INTO a VALUES (0); <waiting ...>
step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s1d: COMMIT;
step s1a: BEGIN;
step s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s1b: ALTER TABLE a DISABLE TRIGGER t;
step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s1d: COMMIT;
step s1a: BEGIN;
step s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s1b: ALTER TABLE a DISABLE TRIGGER t;
step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s2c: INSERT INTO a VALUES (0); <waiting ...>
step s1a: BEGIN;
step s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s1b: ALTER TABLE a DISABLE TRIGGER t;
step s2c: INSERT INTO a VALUES (0); <waiting ...>
step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s1a: BEGIN;
step s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
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 s1a: BEGIN;
step s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
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 s1a: BEGIN;
step s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
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 s1a: BEGIN;
step s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
step s2d: COMMIT;
step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s1d: COMMIT;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
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 s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s1d: COMMIT;
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 s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s2c: INSERT INTO a VALUES (0); <waiting ...>
step s1d: COMMIT;
step s2c: <... completed>
step s1a: BEGIN;
step s1b: ALTER TABLE a DISABLE TRIGGER t;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s1d: COMMIT;
step s2c: INSERT INTO a VALUES (0);
step s1a: BEGIN;
step s1b: ALTER TABLE a DISABLE TRIGGER t;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s2c: INSERT INTO a VALUES (0); <waiting ...>
step s1d: COMMIT;
step s1a: BEGIN;
step s1b: ALTER TABLE a DISABLE TRIGGER t;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s2c: INSERT INTO a VALUES (0); <waiting ...>
step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s1d: COMMIT;
step s2a: BEGIN;
step s1a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s1b: ALTER TABLE a DISABLE TRIGGER t;
step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s1d: COMMIT;
step s2a: BEGIN;
step s1a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s1b: ALTER TABLE a DISABLE TRIGGER t;
step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s2c: INSERT INTO a VALUES (0); <waiting ...>
step s2a: BEGIN;
step s1a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s1b: ALTER TABLE a DISABLE TRIGGER t;
step s2c: INSERT INTO a VALUES (0); <waiting ...>
step s1c: ALTER TABLE a ENABLE TRIGGER t;
step s2a: BEGIN;
step s1a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
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 s2a: BEGIN;
step s1a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
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 s2a: BEGIN;
step s1a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
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 s2a: BEGIN;
step s1a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
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 s1d s2c s2d
step s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 LIMIT 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s1a: BEGIN;
step s1b: ALTER TABLE a DISABLE TRIGGER t;
step s1c: ALTER TABLE a ENABLE TRIGGER t;
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
+i
+-
+1
+(1 row)
-1
step s1a: BEGIN;
step s1b: ALTER TABLE a DISABLE TRIGGER t;
step s1c: ALTER TABLE a ENABLE TRIGGER t;
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
+i
+-
+1
+(1 row)
-1
step s1a: BEGIN;
step s1b: ALTER TABLE a DISABLE TRIGGER t;
step s2c: INSERT INTO a VALUES (0); <waiting ...>
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
+i
+-
+1
+(1 row)
-1
step s1a: BEGIN;
step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
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
+i
+-
+1
+(1 row)
-1
step s1a: BEGIN;
step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
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
+i
+-
+1
+(1 row)
-1
step s1a: BEGIN;
step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
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
+i
+-
+1
+(1 row)
-1
step s1a: BEGIN;
step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
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
+i
+-
+1
+(1 row)
-1
step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
step s1a: BEGIN;
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
+i
+-
+1
+(1 row)
-1
step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
step s1a: BEGIN;
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
+i
+-
+1
+(1 row)
-1
step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
step s1a: BEGIN;
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
+i
+-
+1
+(1 row)
-1
step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
step s1a: BEGIN;
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
+i
+-
+1
+(1 row)
-1
step s2c: INSERT INTO a VALUES (0);
ERROR: duplicate key value violates unique constraint "a_pkey"
step s2d: COMMIT;
step s2sel: SELECT SUM(a) FROM p; <waiting ...>
step s1c: COMMIT;
step s2sel: <... completed>
-sum
+sum
+---
+ 11
+(1 row)
-11
step s2sel: SELECT SUM(a) FROM p;
-sum
+sum
+---
+ 1
+(1 row)
-1
starting permutation: s1b s1delc1 s1addc2 s2sel s1c s2sel
step s1b: BEGIN;
step s2sel: SELECT SUM(a) FROM p; <waiting ...>
step s1c: COMMIT;
step s2sel: <... completed>
-sum
+sum
+---
+ 11
+(1 row)
-11
step s2sel: SELECT SUM(a) FROM p;
-sum
+sum
+---
+101
+(1 row)
-101
starting permutation: s1b s1dropc1 s2sel s1c s2sel
step s1b: BEGIN;
step s2sel: SELECT SUM(a) FROM p; <waiting ...>
step s1c: COMMIT;
step s2sel: <... completed>
-sum
+sum
+---
+ 1
+(1 row)
-1
step s2sel: SELECT SUM(a) FROM p;
-sum
+sum
+---
+ 1
+(1 row)
-1
starting permutation: s1b s1delc1 s1modc1a s2sel s1c s2sel
step s1b: BEGIN;
step s2sel: <... completed>
ERROR: attribute "a" of relation "c1" does not match parent's type
step s2sel: SELECT SUM(a) FROM p;
-sum
+sum
+---
+ 1
+(1 row)
-1
notifier: NOTIFY "c2" with payload "payload" from notifier
step notify3: NOTIFY c3, 'payload3';
step notifyf: SELECT pg_notify('c2', NULL);
-pg_notify
+pg_notify
+---------
+
+(1 row)
-
notifier: NOTIFY "c2" with payload "" from notifier
starting permutation: listenc notifyd1 notifyd2 notifys1
step notify2: NOTIFY c2, 'payload';
step notify3: NOTIFY c3, 'payload3';
step notifyf: SELECT pg_notify('c2', NULL);
-pg_notify
+pg_notify
+---------
+
+(1 row)
-
step lcheck: SELECT 1 AS x;
-x
+x
+-
+1
+(1 row)
-1
listener: NOTIFY "c1" with payload "" from notifier
listener: NOTIFY "c2" with payload "payload" from notifier
listener: NOTIFY "c2" with payload "" from notifier
notifier: NOTIFY "c2" with payload "payload" from notifier
step notify3: NOTIFY c3, 'payload3';
step notifyf: SELECT pg_notify('c2', NULL);
-pg_notify
+pg_notify
+---------
+
+(1 row)
-
notifier: NOTIFY "c2" with payload "" from notifier
step lcheck: SELECT 1 AS x;
-x
+x
+-
+1
+(1 row)
-1
listener: NOTIFY "c1" with payload "" from notifier
listener: NOTIFY "c2" with payload "payload" from notifier
listener: NOTIFY "c2" with payload "" from notifier
step llisten: LISTEN c1; LISTEN c2;
step lbegin: BEGIN;
step usage: SELECT pg_notification_queue_usage() > 0 AS nonzero;
-nonzero
+nonzero
+-------
+f
+(1 row)
-f
step bignotify: SELECT count(pg_notify('c1', s::text)) FROM generate_series(1, 1000) s;
-count
+count
+-----
+ 1000
+(1 row)
-1000
step usage: SELECT pg_notification_queue_usage() > 0 AS nonzero;
-nonzero
+nonzero
+-------
+t
+(1 row)
-t
starting permutation: rx1 wy1 c1 ry2 wx2 c2
step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count
+count
+-----
+ 0
+(1 row)
-0
step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
step c1: COMMIT;
step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count
+count
+-----
+ 1
+(1 row)
-1
step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
step c2: COMMIT;
starting permutation: rx1 wy1 ry2 c1 wx2 c2
step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count
+count
+-----
+ 0
+(1 row)
-0
step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count
+count
+-----
+ 0
+(1 row)
-0
step c1: COMMIT;
step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
ERROR: could not serialize access due to read/write dependencies among transactions
starting permutation: rx1 wy1 ry2 wx2 c1 c2
step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count
+count
+-----
+ 0
+(1 row)
-0
step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count
+count
+-----
+ 0
+(1 row)
-0
step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
step c1: COMMIT;
step c2: COMMIT;
starting permutation: rx1 wy1 ry2 wx2 c2 c1
step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count
+count
+-----
+ 0
+(1 row)
-0
step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count
+count
+-----
+ 0
+(1 row)
-0
step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
step c2: COMMIT;
step c1: COMMIT;
starting permutation: rx1 ry2 wy1 c1 wx2 c2
step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count
+count
+-----
+ 0
+(1 row)
-0
step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count
+count
+-----
+ 0
+(1 row)
-0
step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
step c1: COMMIT;
step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
starting permutation: rx1 ry2 wy1 wx2 c1 c2
step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count
+count
+-----
+ 0
+(1 row)
-0
step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count
+count
+-----
+ 0
+(1 row)
-0
step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
step c1: COMMIT;
starting permutation: rx1 ry2 wy1 wx2 c2 c1
step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count
+count
+-----
+ 0
+(1 row)
-0
step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count
+count
+-----
+ 0
+(1 row)
-0
step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
step c2: COMMIT;
starting permutation: rx1 ry2 wx2 wy1 c1 c2
step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count
+count
+-----
+ 0
+(1 row)
-0
step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count
+count
+-----
+ 0
+(1 row)
-0
step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
step c1: COMMIT;
starting permutation: rx1 ry2 wx2 wy1 c2 c1
step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count
+count
+-----
+ 0
+(1 row)
-0
step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count
+count
+-----
+ 0
+(1 row)
-0
step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
step c2: COMMIT;
starting permutation: rx1 ry2 wx2 c2 wy1 c1
step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count
+count
+-----
+ 0
+(1 row)
-0
step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count
+count
+-----
+ 0
+(1 row)
-0
step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
step c2: COMMIT;
step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
starting permutation: ry2 rx1 wy1 c1 wx2 c2
step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count
+count
+-----
+ 0
+(1 row)
-0
step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count
+count
+-----
+ 0
+(1 row)
-0
step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
step c1: COMMIT;
step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
starting permutation: ry2 rx1 wy1 wx2 c1 c2
step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count
+count
+-----
+ 0
+(1 row)
-0
step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count
+count
+-----
+ 0
+(1 row)
-0
step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
step c1: COMMIT;
starting permutation: ry2 rx1 wy1 wx2 c2 c1
step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count
+count
+-----
+ 0
+(1 row)
-0
step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count
+count
+-----
+ 0
+(1 row)
-0
step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
step c2: COMMIT;
starting permutation: ry2 rx1 wx2 wy1 c1 c2
step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count
+count
+-----
+ 0
+(1 row)
-0
step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count
+count
+-----
+ 0
+(1 row)
-0
step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
step c1: COMMIT;
starting permutation: ry2 rx1 wx2 wy1 c2 c1
step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count
+count
+-----
+ 0
+(1 row)
-0
step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count
+count
+-----
+ 0
+(1 row)
-0
step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
step c2: COMMIT;
starting permutation: ry2 rx1 wx2 c2 wy1 c1
step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count
+count
+-----
+ 0
+(1 row)
-0
step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count
+count
+-----
+ 0
+(1 row)
-0
step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
step c2: COMMIT;
step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
starting permutation: ry2 wx2 rx1 wy1 c1 c2
step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count
+count
+-----
+ 0
+(1 row)
-0
step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count
+count
+-----
+ 0
+(1 row)
-0
step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
step c1: COMMIT;
step c2: COMMIT;
starting permutation: ry2 wx2 rx1 wy1 c2 c1
step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count
+count
+-----
+ 0
+(1 row)
-0
step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count
+count
+-----
+ 0
+(1 row)
-0
step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
step c2: COMMIT;
step c1: COMMIT;
starting permutation: ry2 wx2 rx1 c2 wy1 c1
step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count
+count
+-----
+ 0
+(1 row)
-0
step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count
+count
+-----
+ 0
+(1 row)
-0
step c2: COMMIT;
step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
ERROR: could not serialize access due to read/write dependencies among transactions
starting permutation: ry2 wx2 c2 rx1 wy1 c1
step ry2: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:30';
-count
+count
+-----
+ 0
+(1 row)
-0
step wx2: UPDATE room_reservation SET start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 13:30', end_time = TIMESTAMP WITH TIME ZONE '2010-04-01 14:30' WHERE room_id = '101' AND start_time = TIMESTAMP WITH TIME ZONE '2010-04-01 10:00';
step c2: COMMIT;
step rx1: SELECT count(*) FROM room_reservation WHERE room_id = '101' AND start_time < TIMESTAMP WITH TIME ZONE '2010-04-01 14:00' AND end_time > TIMESTAMP WITH TIME ZONE '2010-04-01 13:00';
-count
+count
+-----
+ 1
+(1 row)
-1
step wy1: INSERT INTO room_reservation VALUES ('101', TIMESTAMP WITH TIME ZONE '2010-04-01 13:00', TIMESTAMP WITH TIME ZONE '2010-04-01 14:00', 'Carol');
step c1: COMMIT;
step s1c: COMMIT;
step s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s2c: UPDATE a SET i = 4 WHERE i = 3;
step s2d: COMMIT;
step s2a: BEGIN;
step s1c: COMMIT;
step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
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 s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s1c: COMMIT;
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 s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s2c: UPDATE a SET i = 4 WHERE i = 3; <waiting ...>
step s1c: COMMIT;
step s2c: <... completed>
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
+i
+-
+1
+(1 row)
-1
step s2c: UPDATE a SET i = 4 WHERE i = 3;
step s2d: COMMIT;
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
+i
+-
+1
+(1 row)
-1
step s1c: COMMIT;
step s2c: UPDATE a SET i = 4 WHERE i = 3;
step s2d: COMMIT;
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
+i
+-
+1
+(1 row)
-1
step s2c: UPDATE a SET i = 4 WHERE i = 3; <waiting ...>
step s1c: COMMIT;
step s2c: <... completed>
step s1a: BEGIN;
step s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
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 s1a: BEGIN;
step s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f();
step s2c: UPDATE a SET i = 4 WHERE i = 3; <waiting ...>
step s1c: COMMIT;
step s1a: BEGIN;
step s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s2c: UPDATE a SET i = 4 WHERE i = 3;
step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f(); <waiting ...>
step s2d: COMMIT;
step s1a: BEGIN;
step s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
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 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
+i
+-
+1
+(1 row)
-1
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 s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s1c: COMMIT;
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 s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s2c: UPDATE a SET i = 4 WHERE i = 3; <waiting ...>
step s1c: COMMIT;
step s2c: <... completed>
step s2a: BEGIN;
step s1a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
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 s2a: BEGIN;
step s1a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f();
step s2c: UPDATE a SET i = 4 WHERE i = 3; <waiting ...>
step s1c: COMMIT;
step s2a: BEGIN;
step s1a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s2c: UPDATE a SET i = 4 WHERE i = 3;
step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f(); <waiting ...>
step s2d: COMMIT;
step s2a: BEGIN;
step s1a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
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();
starting permutation: s2a s2b s1a s1b s1c s2c s2d
step s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s1a: BEGIN;
step s1b: CREATE TRIGGER t AFTER UPDATE ON a EXECUTE PROCEDURE f();
step s1c: COMMIT;
starting permutation: s2a s2b s1a s1b s2c s1c s2d
step s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
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; <waiting ...>
starting permutation: s2a s2b s1a s2c s1b s2d s1c
step s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
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(); <waiting ...>
starting permutation: s2a s2b s1a s2c s2d s1b s1c
step s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s1a: BEGIN;
step s2c: UPDATE a SET i = 4 WHERE i = 3;
step s2d: COMMIT;
starting permutation: s2a s2b s2c s1a s1b s2d s1c
step s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
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(); <waiting ...>
starting permutation: s2a s2b s2c s1a s2d s1b s1c
step s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s2c: UPDATE a SET i = 4 WHERE i = 3;
step s1a: BEGIN;
step s2d: COMMIT;
starting permutation: s2a s2b s2c s2d s1a s1b s1c
step s2a: BEGIN;
step s2b: SELECT * FROM a WHERE i = 1 FOR UPDATE;
-i
+i
+-
+1
+(1 row)
-1
step s2c: UPDATE a SET i = 4 WHERE i = 3;
step s2d: COMMIT;
step s1a: BEGIN;
starting permutation: d1a1 d2a2 e1l e2l d1a2 d2a1 d1c e1c d2c e2c
step d1a1: SELECT lock_share(1,x), lock_excl(3,x) FROM bigt LIMIT 1;
-lock_share lock_excl
+lock_share|lock_excl
+----------+---------
+ 1| 1
+(1 row)
-1 1
step d2a2: select lock_share(2,x) FROM bigt LIMIT 1;
-lock_share
+lock_share
+----------
+ 1
+(1 row)
-1
step e1l: SELECT lock_excl(1,x) FROM bigt LIMIT 1; <waiting ...>
step e2l: SELECT lock_excl(2,x) FROM bigt LIMIT 1; <waiting ...>
step d1a2: SET force_parallel_mode = on;
RESET parallel_tuple_cost;
SELECT lock_share(3,x) FROM bigt LIMIT 1; <waiting ...>
step d1a2: <... completed>
-sum
+ sum
+-----
+10000
+(1 row)
-10000
step d1c: COMMIT;
step e1l: <... completed>
-lock_excl
+lock_excl
+---------
+ 1
+(1 row)
-1
step d2a1: <... completed>
-sum
+ sum
+-----
+10000
+(1 row)
-10000
-lock_share
+lock_share
+----------
+ 1
+(1 row)
-1
step e1c: COMMIT;
step d2c: COMMIT;
step e2l: <... completed>
-lock_excl
+lock_excl
+---------
+ 1
+(1 row)
-1
step e2c: COMMIT;
starting permutation: s1l s1svp s1d s1r s2l s1c s2c
step s1l: SELECT * FROM foo FOR KEY SHARE;
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s1svp: SAVEPOINT f;
step s1d: SELECT * FROM foo FOR NO KEY UPDATE;
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s1r: ROLLBACK TO f;
step s2l: SELECT * FROM foo FOR UPDATE; <waiting ...>
step s1c: COMMIT;
step s2l: <... completed>
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s2c: COMMIT;
starting permutation: s1l s1svp s1d s2l s1r s1c s2c
step s1l: SELECT * FROM foo FOR KEY SHARE;
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s1svp: SAVEPOINT f;
step s1d: SELECT * FROM foo FOR NO KEY UPDATE;
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s2l: SELECT * FROM foo FOR UPDATE; <waiting ...>
step s1r: ROLLBACK TO f;
step s1c: COMMIT;
step s2l: <... completed>
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s2c: COMMIT;
starting permutation: s1l s1svp s1d s1r s2l2 s1c s2c
step s1l: SELECT * FROM foo FOR KEY SHARE;
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s1svp: SAVEPOINT f;
step s1d: SELECT * FROM foo FOR NO KEY UPDATE;
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s1r: ROLLBACK TO f;
step s2l2: SELECT * FROM foo FOR NO KEY UPDATE;
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
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
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s1svp: SAVEPOINT f;
step s1d: SELECT * FROM foo FOR NO KEY UPDATE;
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s2l2: SELECT * FROM foo FOR NO KEY UPDATE; <waiting ...>
step s1r: ROLLBACK TO f;
step s2l2: <... completed>
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s1c: COMMIT;
step s2c: COMMIT;
starting permutation: s1l s1svp s1d s1r s1c s2l s2c
step s1l: SELECT * FROM foo FOR KEY SHARE;
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
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
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s2c: COMMIT;
starting permutation: s1l s1svp s1d s1r s2l s1c s2c
step s1l: SELECT * FROM foo FOR KEY SHARE;
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s1svp: SAVEPOINT f;
step s1d: DELETE FROM foo;
step s1r: ROLLBACK TO f;
step s2l: SELECT * FROM foo FOR UPDATE; <waiting ...>
step s1c: COMMIT;
step s2l: <... completed>
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s2c: COMMIT;
starting permutation: s1l s1svp s1d s2l s1r s1c s2c
step s1l: SELECT * FROM foo FOR KEY SHARE;
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s1svp: SAVEPOINT f;
step s1d: DELETE FROM foo;
step s2l: SELECT * FROM foo FOR UPDATE; <waiting ...>
step s1r: ROLLBACK TO f;
step s1c: COMMIT;
step s2l: <... completed>
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s2c: COMMIT;
starting permutation: s1l s1svp s2l s1d s1r s1c s2c
step s1l: SELECT * FROM foo FOR KEY SHARE;
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s1svp: SAVEPOINT f;
step s2l: SELECT * FROM foo FOR UPDATE; <waiting ...>
step s1d: DELETE FROM foo;
step s1r: ROLLBACK TO f;
step s1c: COMMIT;
step s2l: <... completed>
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s2c: COMMIT;
starting permutation: s1l s2l s1svp s1d s1r s1c s2c
step s1l: SELECT * FROM foo FOR KEY SHARE;
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s2l: SELECT * FROM foo FOR UPDATE; <waiting ...>
step s1svp: SAVEPOINT f;
step s1d: DELETE FROM foo;
step s1r: ROLLBACK TO f;
step s1c: COMMIT;
step s2l: <... completed>
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s2c: COMMIT;
starting permutation: s2l s1l s2c s1svp s1d s1r s1c
step s2l: SELECT * FROM foo FOR UPDATE;
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s1l: SELECT * FROM foo FOR KEY SHARE; <waiting ...>
step s2c: COMMIT;
step s1l: <... completed>
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s1svp: SAVEPOINT f;
step s1d: DELETE FROM foo;
step s1r: ROLLBACK TO f;
starting permutation: s2l s2c s1l s1svp s1d s1r s1c
step s2l: SELECT * FROM foo FOR UPDATE;
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s2c: COMMIT;
step s1l: SELECT * FROM foo FOR KEY SHARE;
-key value
+key|value
+---+-----
+ 1| 1
+(1 row)
-1 1
step s1svp: SAVEPOINT f;
step s1d: DELETE FROM foo;
step s1r: ROLLBACK TO f;
starting permutation: s1b s1s s2detach s1s s1c s1s
step s1b: BEGIN;
step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+2
+(2 rows)
-1
-2
step s2detach: ALTER TABLE d_listp DETACH PARTITION d_listp2 CONCURRENTLY; <waiting ...>
step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+(1 row)
-1
step s1c: COMMIT;
step s2detach: <... completed>
step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+(1 row)
-1
starting permutation: s1b s1s s2detach s1s s3s s3i s1c s3i s2drop s1s
step s1b: BEGIN;
step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+2
+(2 rows)
-1
-2
step s2detach: ALTER TABLE d_listp DETACH PARTITION d_listp2 CONCURRENTLY; <waiting ...>
step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+(1 row)
-1
step s3s: SELECT * FROM d_listp;
-a
+a
+-
+1
+(1 row)
-1
step s3i: SELECT relpartbound IS NULL FROM pg_class where relname = 'd_listp2';
-?column?
+?column?
+--------
+f
+(1 row)
-f
step s1c: COMMIT;
step s2detach: <... completed>
step s3i: SELECT relpartbound IS NULL FROM pg_class where relname = 'd_listp2';
-?column?
+?column?
+--------
+t
+(1 row)
-t
step s2drop: DROP TABLE d_listp2;
step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+(1 row)
-1
starting permutation: s1b s1s s2detach s1ins s1s s1c
step s1b: BEGIN;
step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+2
+(2 rows)
-1
-2
step s2detach: ALTER TABLE d_listp DETACH PARTITION d_listp2 CONCURRENTLY; <waiting ...>
step s1ins: INSERT INTO d_listp VALUES (1);
step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+1
+(2 rows)
-1
-1
step s1c: COMMIT;
step s2detach: <... completed>
starting permutation: s1b s1s s1ins2 s2detach s1ins s1s s1c
step s1b: BEGIN;
step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+2
+(2 rows)
-1
-2
step s1ins2: INSERT INTO d_listp VALUES (2);
step s2detach: ALTER TABLE d_listp DETACH PARTITION d_listp2 CONCURRENTLY; <waiting ...>
step s1ins: INSERT INTO d_listp VALUES (1);
step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+1
+(2 rows)
-1
-1
step s1c: COMMIT;
step s2detach: <... completed>
starting permutation: s1brr s1s s2detach s1ins s1s s1c
step s1brr: BEGIN ISOLATION LEVEL REPEATABLE READ;
step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+2
+(2 rows)
-1
-2
step s2detach: ALTER TABLE d_listp DETACH PARTITION d_listp2 CONCURRENTLY; <waiting ...>
step s1ins: INSERT INTO d_listp VALUES (1);
step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+1
+2
+(3 rows)
-1
-1
-2
step s1c: COMMIT;
step s2detach: <... completed>
starting permutation: s1brr s1s s2detach s1s s1c
step s1brr: BEGIN ISOLATION LEVEL REPEATABLE READ;
step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+2
+(2 rows)
-1
-2
step s2detach: ALTER TABLE d_listp DETACH PARTITION d_listp2 CONCURRENTLY; <waiting ...>
step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+2
+(2 rows)
-1
-2
step s1c: COMMIT;
step s2detach: <... completed>
step s1brr: BEGIN ISOLATION LEVEL REPEATABLE READ;
step s1prep: PREPARE f(int) AS INSERT INTO d_listp VALUES ($1);
step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+2
+(2 rows)
-1
-2
step s2detach: ALTER TABLE d_listp DETACH PARTITION d_listp2 CONCURRENTLY; <waiting ...>
step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+2
+(2 rows)
-1
-2
step s1exec1: EXECUTE f(1);
step s3s: SELECT * FROM d_listp;
-a
+a
+-
+1
+(1 row)
-1
step s1dealloc: DEALLOCATE f;
step s1c: COMMIT;
step s2detach: <... completed>
step s1exec2: EXECUTE f(2);
step s2detach: ALTER TABLE d_listp DETACH PARTITION d_listp2 CONCURRENTLY; <waiting ...>
step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+2
+2
+(3 rows)
-1
-2
-2
step s1exec2: EXECUTE f(2);
step s3s: SELECT * FROM d_listp;
-a
+a
+-
+1
+(1 row)
-1
step s1c: COMMIT;
step s2detach: <... completed>
step s1dealloc: DEALLOCATE f;
step s1brr: BEGIN ISOLATION LEVEL REPEATABLE READ;
step s1prep: PREPARE f(int) AS INSERT INTO d_listp VALUES ($1);
step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+2
+(2 rows)
-1
-2
step s2detach: ALTER TABLE d_listp DETACH PARTITION d_listp2 CONCURRENTLY; <waiting ...>
step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+2
+(2 rows)
-1
-2
step s1exec2: EXECUTE f(2);
step s1c: COMMIT;
step s2detach: <... completed>
step s1prep: PREPARE f(int) AS INSERT INTO d_listp VALUES ($1);
step s2detach: ALTER TABLE d_listp DETACH PARTITION d_listp2 CONCURRENTLY; <waiting ...>
step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+2
+(2 rows)
-1
-2
step s1exec2: EXECUTE f(2);
step s1c: COMMIT;
step s2detach: <... completed>
step s1prep1: PREPARE f(int) AS INSERT INTO d_listp VALUES (1);
step s2detach: ALTER TABLE d_listp DETACH PARTITION d_listp2 CONCURRENTLY; <waiting ...>
step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+2
+(2 rows)
-1
-2
step s1exec2: EXECUTE f(2);
step s1c: COMMIT;
step s2detach: <... completed>
step s1prep2: PREPARE f(int) AS INSERT INTO d_listp VALUES (2);
step s2detach: ALTER TABLE d_listp DETACH PARTITION d_listp2 CONCURRENTLY; <waiting ...>
step s1s: SELECT * FROM d_listp;
-a
+a
+-
+1
+2
+(2 rows)
-1
-2
step s1exec2: EXECUTE f(2);
step s1c: COMMIT;
step s2detach: <... completed>
starting permutation: s1b s1s s2d s3i1 s1c
step s1b: BEGIN;
step s1s: SELECT * FROM d_lp_fk;
-a
+a
+-
+1
+2
+(2 rows)
-1
-2
step s2d: ALTER TABLE d_lp_fk DETACH PARTITION d_lp_fk_1 CONCURRENTLY; <waiting ...>
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"
starting permutation: s1b s1s s2d s3i2 s3i2 s1c
step s1b: BEGIN;
step s1s: SELECT * FROM d_lp_fk;
-a
+a
+-
+1
+2
+(2 rows)
-1
-2
step s2d: ALTER TABLE d_lp_fk DETACH PARTITION d_lp_fk_1 CONCURRENTLY; <waiting ...>
step s3i2: INSERT INTO d_lp_fk_r VALUES (2);
step s3i2: INSERT INTO d_lp_fk_r VALUES (2);
starting permutation: s1b s1s s3i1 s2d s1c
step s1b: BEGIN;
step s1s: SELECT * FROM d_lp_fk;
-a
+a
+-
+1
+2
+(2 rows)
-1
-2
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"
starting permutation: s1b s1s s3i2 s2d s1c
step s1b: BEGIN;
step s1s: SELECT * FROM d_lp_fk;
-a
+a
+-
+1
+2
+(2 rows)
-1
-2
step s3i2: INSERT INTO d_lp_fk_r VALUES (2);
step s2d: ALTER TABLE d_lp_fk DETACH PARTITION d_lp_fk_1 CONCURRENTLY; <waiting ...>
step s1c: COMMIT;
starting permutation: s1b s1s s3b s2d s3i1 s1c s3c
step s1b: BEGIN;
step s1s: SELECT * FROM d_lp_fk;
-a
+a
+-
+1
+2
+(2 rows)
-1
-2
step s3b: BEGIN;
step s2d: ALTER TABLE d_lp_fk DETACH PARTITION d_lp_fk_1 CONCURRENTLY; <waiting ...>
step s3i1: INSERT INTO d_lp_fk_r VALUES (1);
step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
step s1b: BEGIN;
step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+(1 row)
-1
step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid;
pg_cancel_backend
+-----------------
+t
+(1 row)
-t
step s2detach: <... completed>
ERROR: canceling statement due to user request
step s1c: COMMIT;
step s1describe: SELECT 'd3_listp' AS root, * FROM pg_partition_tree('d3_listp')
UNION ALL SELECT 'd3_listp1', * FROM pg_partition_tree('d3_listp1');
-root relid parentrelid isleaf level
+root |relid |parentrelid|isleaf|level
+---------+---------+-----------+------+-----
+d3_listp |d3_listp | |f | 0
+d3_listp |d3_listp2|d3_listp |t | 1
+d3_listp1|d3_listp1| |t | 0
+(3 rows)
-d3_listp d3_listp f 0
-d3_listp d3_listp2 d3_listp t 1
-d3_listp1 d3_listp1 t 0
step s1alter: ALTER TABLE d3_listp1 ALTER a DROP NOT NULL;
ERROR: cannot alter partition "d3_listp1" with an incomplete detach
step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
step s1b: BEGIN;
step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+(1 row)
-1
step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid;
pg_cancel_backend
+-----------------
+t
+(1 row)
-t
step s2detach: <... completed>
ERROR: canceling statement due to user request
step s1insert: INSERT INTO d3_listp VALUES (1);
step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
step s1brr: BEGIN ISOLATION LEVEL REPEATABLE READ;
step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+(1 row)
-1
step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid;
pg_cancel_backend
+-----------------
+t
+(1 row)
-t
step s2detach: <... completed>
ERROR: canceling statement due to user request
step s1insert: INSERT INTO d3_listp VALUES (1);
step s1c: COMMIT;
step s1spart: SELECT * FROM d3_listp1;
-a
+a
+-
+1
+1
+(2 rows)
-1
-1
starting permutation: s2snitch s1b s1s s2detach s1cancel s1c s1insertpart
step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
step s1b: BEGIN;
step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+(1 row)
-1
step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid;
pg_cancel_backend
+-----------------
+t
+(1 row)
-t
step s2detach: <... completed>
ERROR: canceling statement due to user request
step s1c: COMMIT;
step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
step s1b: BEGIN;
step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+(1 row)
-1
step s2detach2: ALTER TABLE d3_listp DETACH PARTITION d3_listp2 CONCURRENTLY; <waiting ...>
step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid;
pg_cancel_backend
+-----------------
+t
+(1 row)
-t
step s2detach2: <... completed>
ERROR: canceling statement due to user request
step s1c: COMMIT;
step s1brr: BEGIN ISOLATION LEVEL REPEATABLE READ;
step s1insert: INSERT INTO d3_listp VALUES (1);
step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+1
+(2 rows)
-1
-1
step s1insert: INSERT INTO d3_listp VALUES (1);
step s1c: COMMIT;
step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
step s1b: BEGIN;
step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+(1 row)
-1
step s2detach2: ALTER TABLE d3_listp DETACH PARTITION d3_listp2 CONCURRENTLY; <waiting ...>
step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid;
pg_cancel_backend
+-----------------
+t
+(1 row)
-t
step s2detach2: <... completed>
ERROR: canceling statement due to user request
step s1c: COMMIT;
step s1brr: BEGIN ISOLATION LEVEL REPEATABLE READ;
step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+(1 row)
-1
step s1insert: INSERT INTO d3_listp VALUES (1);
step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+1
+(2 rows)
-1
-1
step s1c: COMMIT;
starting permutation: s2snitch s1b s1s s2detach s1cancel s1c s1drop s1list
step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
step s1b: BEGIN;
step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+(1 row)
-1
step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid;
pg_cancel_backend
+-----------------
+t
+(1 row)
-t
step s2detach: <... completed>
ERROR: canceling statement due to user request
step s1c: COMMIT;
step s1drop: DROP TABLE d3_listp;
step s1list: SELECT relname FROM pg_catalog.pg_class
WHERE relname LIKE 'd3_listp%' ORDER BY 1;
-relname
+relname
+-------
+(0 rows)
starting permutation: s2snitch s1b s1s s2detach s1cancel s1c s1trunc s1spart
step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
step s1b: BEGIN;
step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+(1 row)
-1
step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid;
pg_cancel_backend
+-----------------
+t
+(1 row)
-t
step s2detach: <... completed>
ERROR: canceling statement due to user request
step s1c: COMMIT;
step s1trunc: TRUNCATE TABLE d3_listp;
step s1spart: SELECT * FROM d3_listp1;
-a
+a
+-
+1
+(1 row)
-1
starting permutation: s2snitch s1b s1s s2detach s1cancel s1noop s2detach2 s1c
step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
step s1b: BEGIN;
step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+(1 row)
-1
step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid;
pg_cancel_backend
+-----------------
+t
+(1 row)
-t
step s2detach: <... completed>
ERROR: canceling statement due to user request
step s1noop:
step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
step s1b: BEGIN;
step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+(1 row)
-1
step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid;
pg_cancel_backend
+-----------------
+t
+(1 row)
-t
step s2detach: <... completed>
ERROR: canceling statement due to user request
step s1noop:
step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
step s1b: BEGIN;
step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+(1 row)
-1
step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid;
pg_cancel_backend
+-----------------
+t
+(1 row)
-t
step s2detach: <... completed>
ERROR: canceling statement due to user request
step s1c: COMMIT;
step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
step s1b: BEGIN;
step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+(1 row)
-1
step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid;
pg_cancel_backend
+-----------------
+t
+(1 row)
-t
step s2detach: <... completed>
ERROR: canceling statement due to user request
step s1c: COMMIT;
step s1s: SELECT * FROM d3_listp; <waiting ...>
step s2commit: COMMIT;
step s1s: <... completed>
-a
+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
+a
+-
+1
+(1 row)
-1
step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid;
pg_cancel_backend
+-----------------
+t
+(1 row)
-t
step s2detach: <... completed>
ERROR: canceling statement due to user request
step s1c: COMMIT;
step s1b: BEGIN;
step s1spart: SELECT * FROM d3_listp1;
-a
+a
+-
+1
+(1 row)
-1
step s2detachfinal: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 FINALIZE; <waiting ...>
step s1c: COMMIT;
step s2detachfinal: <... completed>
step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
step s1b: BEGIN;
step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+(1 row)
-1
step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid;
pg_cancel_backend
+-----------------
+t
+(1 row)
-t
step s2detach: <... completed>
ERROR: canceling statement due to user request
step s1c: COMMIT;
step s1b: BEGIN;
step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+(0 rows)
step s2detachfinal: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 FINALIZE;
step s1c: COMMIT;
step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
step s1b: BEGIN;
step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+(1 row)
-1
step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid;
pg_cancel_backend
+-----------------
+t
+(1 row)
-t
step s2detach: <... completed>
ERROR: canceling statement due to user request
step s1c: COMMIT;
step s1b: BEGIN;
step s1spart: SELECT * FROM d3_listp1;
-a
+a
+-
+1
+(1 row)
-1
step s2detachfinal: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 FINALIZE; <waiting ...>
step s1c: COMMIT;
step s2detachfinal: <... completed>
step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
step s1b: BEGIN;
step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+(1 row)
-1
step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid;
pg_cancel_backend
+-----------------
+t
+(1 row)
-t
step s2detach: <... completed>
ERROR: canceling statement due to user request
step s1c: COMMIT;
step s2snitch: INSERT INTO d3_pid SELECT pg_backend_pid();
step s1b: BEGIN;
step s1s: SELECT * FROM d3_listp;
-a
+a
+-
+1
+(1 row)
-1
step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid;
pg_cancel_backend
+-----------------
+t
+(1 row)
-t
step s2detach: <... completed>
ERROR: canceling statement due to user request
step s1c: COMMIT;
step s1spart: SELECT * FROM d3_listp1; <waiting ...>
step s2commit: COMMIT;
step s1spart: <... completed>
-a
+a
+-
+1
+(1 row)
-1
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
+a
+-
+1
+(1 row)
-1
step s2detach: ALTER TABLE d3_listp DETACH PARTITION d3_listp1 CONCURRENTLY; <waiting ...>
step s1cancel: SELECT pg_cancel_backend(pid) FROM d3_pid;
pg_cancel_backend
+-----------------
+t
+(1 row)
-t
step s2detach: <... completed>
ERROR: canceling statement due to user request
step s1c: COMMIT;
step s2snitch: insert into d4_pid select pg_backend_pid();
step s1b: begin;
step s1s: select * from d4_primary;
-a
+a
+-
+1
+2
+(2 rows)
-1
-2
step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; <waiting ...>
step s1cancel: select pg_cancel_backend(pid) from d4_pid;
pg_cancel_backend
+-----------------
+t
+(1 row)
-t
step s2detach: <... completed>
ERROR: canceling statement due to user request
step s1insert: insert into d4_fk values (1);
step s2snitch: insert into d4_pid select pg_backend_pid();
step s1b: begin;
step s1s: select * from d4_primary;
-a
+a
+-
+1
+2
+(2 rows)
-1
-2
step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; <waiting ...>
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 s2snitch: insert into d4_pid select pg_backend_pid();
step s1brr: begin isolation level repeatable read;
step s1s: select * from d4_primary;
-a
+a
+-
+1
+2
+(2 rows)
-1
-2
step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; <waiting ...>
step s1cancel: select pg_cancel_backend(pid) from d4_pid;
pg_cancel_backend
+-----------------
+t
+(1 row)
-t
step s2detach: <... completed>
ERROR: canceling statement due to user request
step s1insert: insert into d4_fk values (1);
step s2snitch: insert into d4_pid select pg_backend_pid();
step s1brr: begin isolation level repeatable read;
step s1s: select * from d4_primary;
-a
+a
+-
+1
+2
+(2 rows)
-1
-2
step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; <waiting ...>
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: alter table d4_primary detach partition d4_primary1 concurrently; <waiting ...>
step s1cancel: select pg_cancel_backend(pid) from d4_pid;
pg_cancel_backend
+-----------------
+t
+(1 row)
-t
step s2detach: <... completed>
ERROR: canceling statement due to user request
step s1fetchall: fetch all from f;
-a
+a
+-
+1
+2
+(2 rows)
-1
-2
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;
step s1declare: declare f cursor for select * from d4_primary;
step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; <waiting ...>
step s1fetchall: fetch all from f;
-a
+a
+-
+1
+2
+(2 rows)
-1
-2
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 s2detach: alter table d4_primary detach partition d4_primary1 concurrently; <waiting ...>
step s1cancel: select pg_cancel_backend(pid) from d4_pid;
pg_cancel_backend
+-----------------
+t
+(1 row)
-t
step s2detach: <... completed>
ERROR: canceling statement due to user request
step s1svpt: savepoint f;
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
+a
+-
+1
+2
+(2 rows)
-1
-2
step s1c: commit;
starting permutation: s2snitch s1b s1declare s2detach s1svpt s1insert s1rollback s1fetchall s1c
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
+a
+-
+1
+2
+(2 rows)
-1
-2
step s1c: commit;
step s2detach: <... completed>
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)
-t
step s1fetchall: fetch all from f;
-a
+a
+-
+2
+(1 row)
-2
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;
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
+a
+-
+2
+(1 row)
-2
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;
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)
-t
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
+a
+-
+2
+(1 row)
-2
step s1c: commit;
starting permutation: s2snitch s1b s2detach s1declare s1svpt s1insert s1rollback s1fetchall s1c
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
+a
+-
+2
+(1 row)
-2
step s1c: commit;
starting permutation: s2snitch s1brr s1declare2 s1fetchone s2detach s1cancel s1updcur s1c
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
+a
+-
+2
+(1 row)
-2
step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; <waiting ...>
step s1cancel: select pg_cancel_backend(pid) from d4_pid;
pg_cancel_backend
+-----------------
+t
+(1 row)
-t
step s2detach: <... completed>
ERROR: canceling statement due to user request
step s1updcur: update d4_fk set a = 1 where current of f;
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
+a
+-
+2
+(1 row)
-2
step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; <waiting ...>
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 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
+a
+-
+2
+(1 row)
-2
step s1updcur: update d4_fk set a = 1 where current of f;
step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; <waiting ...>
step s1c: commit;
step s2snitch: insert into d4_pid select pg_backend_pid();
step s1b: begin;
step s1s: select * from d4_primary;
-a
+a
+-
+1
+2
+(2 rows)
-1
-2
step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; <waiting ...>
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 s2snitch: insert into d4_pid select pg_backend_pid();
step s1b: begin;
step s1s: select * from d4_primary;
-a
+a
+-
+1
+2
+(2 rows)
-1
-2
step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; <waiting ...>
step s3brr: begin isolation level repeatable read;
step s3insert: insert into d4_fk values (1);
step s3commit: commit;
step s1cancel: select pg_cancel_backend(pid) from d4_pid;
pg_cancel_backend
+-----------------
+t
+(1 row)
-t
step s2detach: <... completed>
ERROR: canceling statement due to user request
step s1c: commit;
step s2snitch: insert into d4_pid select pg_backend_pid();
step s1b: begin;
step s1s: select * from d4_primary;
-a
+a
+-
+1
+2
+(2 rows)
-1
-2
step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; <waiting ...>
step s3brr: begin isolation level repeatable read;
step s3insert: insert into d4_fk values (1);
step s2snitch: insert into d4_pid select pg_backend_pid();
step s1brr: begin isolation level repeatable read;
step s1s: select * from d4_primary;
-a
+a
+-
+1
+2
+(2 rows)
-1
-2
step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; <waiting ...>
step s1cancel: select pg_cancel_backend(pid) from d4_pid;
pg_cancel_backend
+-----------------
+t
+(1 row)
-t
step s2detach: <... completed>
ERROR: canceling statement due to user request
step s1noop:
step s3vacfreeze: vacuum freeze pg_catalog.pg_inherits;
step s1s: select * from d4_primary;
-a
+a
+-
+1
+2
+(2 rows)
-1
-2
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;
step s2snitch: insert into d4_pid select pg_backend_pid();
step s1b: begin;
step s1s: select * from d4_primary;
-a
+a
+-
+1
+2
+(2 rows)
-1
-2
step s2detach: alter table d4_primary detach partition d4_primary1 concurrently; <waiting ...>
step s1cancel: select pg_cancel_backend(pid) from d4_pid;
pg_cancel_backend
+-----------------
+t
+(1 row)
-t
step s2detach: <... completed>
ERROR: canceling statement due to user request
step s1noop:
step s3vacfreeze: vacuum freeze pg_catalog.pg_inherits;
step s1s: select * from d4_primary;
-a
+a
+-
+2
+(1 row)
-2
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;
step noseq: SET enable_seqscan = false;
step chkiso: SELECT (setting in ('read committed','read uncommitted')) AS is_read_committed FROM pg_settings WHERE name = 'default_transaction_isolation';
is_read_committed
+-----------------
+t
+(1 row)
-t
step prepi: PREPARE getrow_idx AS SELECT * FROM test_dc WHERE data=34 ORDER BY id,data;
step preps: PREPARE getrow_seq AS SELECT * FROM test_dc WHERE data::text=34::text ORDER BY id,data;
step begin: BEGIN;
step explaini: EXPLAIN (COSTS OFF) EXECUTE getrow_idx;
-QUERY PLAN
-
-Sort
- Sort Key: id
+QUERY PLAN