citus/src/test/regress/expected/isolation_select_for_update...

462 lines
9.7 KiB
Plaintext

Parsed test spec with 2 sessions
starting permutation: s1-begin s1-select-from-t1-t2-for-update s2-begin s2-update-t1 s1-commit s2-commit
step s1-begin:
BEGIN;
step s1-select-from-t1-t2-for-update:
SELECT * FROM
test_table_1_rf1 as tt1 INNER JOIN test_table_2_rf1 as tt2 on tt1.id = tt2.id
WHERE tt1.id = 1
ORDER BY 1
FOR UPDATE;
id|val_1|id|val_1
---------------------------------------------------------------------
1| 2| 1| 2
(1 row)
step s2-begin:
BEGIN;
step s2-update-t1:
UPDATE test_table_1_rf1 SET val_1 = 5 WHERE id = 1;
<waiting ...>
step s1-commit:
COMMIT;
step s2-update-t1: <... completed>
step s2-commit:
COMMIT;
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s1-select-from-t1-t2-for-share s2-begin s2-delete-t1 s1-commit s2-commit
step s1-begin:
BEGIN;
step s1-select-from-t1-t2-for-share:
SELECT * FROM
test_table_1_rf1 as tt1 INNER JOIN test_table_2_rf1 as tt2 on tt1.id = tt2.id
WHERE tt1.id = 1
ORDER BY 1
FOR SHARE;
id|val_1|id|val_1
---------------------------------------------------------------------
1| 2| 1| 2
(1 row)
step s2-begin:
BEGIN;
step s2-delete-t1:
DELETE FROM test_table_1_rf1 WHERE id = 1;
<waiting ...>
step s1-commit:
COMMIT;
step s2-delete-t1: <... completed>
step s2-commit:
COMMIT;
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s1-select-from-t1-rt-for-update s2-begin s2-update-t1 s1-commit s2-commit
step s1-begin:
BEGIN;
step s1-select-from-t1-rt-for-update:
SELECT * FROM
test_table_1_rf1 as tt1 INNER JOIN ref_table as rt1 on tt1.id = rt1.id
WHERE tt1.id = 1
ORDER BY 1
FOR UPDATE;
id|val_1|id|val_1
---------------------------------------------------------------------
1| 2| 1| 2
(1 row)
step s2-begin:
BEGIN;
step s2-update-t1:
UPDATE test_table_1_rf1 SET val_1 = 5 WHERE id = 1;
<waiting ...>
step s1-commit:
COMMIT;
step s2-update-t1: <... completed>
step s2-commit:
COMMIT;
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s1-select-from-t1-rt-with-lc-for-update s2-begin s2-update-rt s1-commit s2-commit
step s1-begin:
BEGIN;
step s1-select-from-t1-rt-with-lc-for-update:
SELECT * FROM
test_table_1_rf1 as tt1 INNER JOIN ref_table as rt1 on tt1.id = rt1.id
WHERE tt1.id = 1
ORDER BY 1
FOR UPDATE
OF rt1;
id|val_1|id|val_1
---------------------------------------------------------------------
1| 2| 1| 2
(1 row)
step s2-begin:
BEGIN;
step s2-update-rt:
UPDATE ref_table SET val_1 = 5 WHERE id = 1;
<waiting ...>
step s1-commit:
COMMIT;
step s2-update-rt: <... completed>
step s2-commit:
COMMIT;
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s1-select-from-t1-rt-with-lc-for-update s2-begin s2-update-t1 s1-commit s2-commit
step s1-begin:
BEGIN;
step s1-select-from-t1-rt-with-lc-for-update:
SELECT * FROM
test_table_1_rf1 as tt1 INNER JOIN ref_table as rt1 on tt1.id = rt1.id
WHERE tt1.id = 1
ORDER BY 1
FOR UPDATE
OF rt1;
id|val_1|id|val_1
---------------------------------------------------------------------
1| 2| 1| 2
(1 row)
step s2-begin:
BEGIN;
step s2-update-t1:
UPDATE test_table_1_rf1 SET val_1 = 5 WHERE id = 1;
step s1-commit:
COMMIT;
step s2-commit:
COMMIT;
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s1-select-from-t1-t2-for-share s2-begin s2-select-from-t1-t2-for-share s1-commit s2-commit
step s1-begin:
BEGIN;
step s1-select-from-t1-t2-for-share:
SELECT * FROM
test_table_1_rf1 as tt1 INNER JOIN test_table_2_rf1 as tt2 on tt1.id = tt2.id
WHERE tt1.id = 1
ORDER BY 1
FOR SHARE;
id|val_1|id|val_1
---------------------------------------------------------------------
1| 2| 1| 2
(1 row)
step s2-begin:
BEGIN;
step s2-select-from-t1-t2-for-share:
SELECT * FROM
test_table_1_rf1 as tt1 INNER JOIN test_table_1_rf1 as tt2 on tt1.id = tt2.id
WHERE tt1.id = 1
ORDER BY 1
FOR SHARE;
id|val_1|id|val_1
---------------------------------------------------------------------
1| 2| 1| 2
(1 row)
step s1-commit:
COMMIT;
step s2-commit:
COMMIT;
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s1-select-from-t1-rt-for-update s2-begin s2-select-from-t1-t2-for-update s1-commit s2-commit
step s1-begin:
BEGIN;
step s1-select-from-t1-rt-for-update:
SELECT * FROM
test_table_1_rf1 as tt1 INNER JOIN ref_table as rt1 on tt1.id = rt1.id
WHERE tt1.id = 1
ORDER BY 1
FOR UPDATE;
id|val_1|id|val_1
---------------------------------------------------------------------
1| 2| 1| 2
(1 row)
step s2-begin:
BEGIN;
step s2-select-from-t1-t2-for-update:
SELECT * FROM
test_table_1_rf1 as tt1 INNER JOIN test_table_1_rf1 as tt2 on tt1.id = tt2.id
WHERE tt1.id = 1
ORDER BY 1
FOR UPDATE;
<waiting ...>
step s1-commit:
COMMIT;
step s2-select-from-t1-t2-for-update: <... completed>
id|val_1|id|val_1
---------------------------------------------------------------------
1| 2| 1| 2
(1 row)
step s2-commit:
COMMIT;
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s1-select-from-t1-within-cte s2-begin s2-select-from-t1-t2-for-update s1-commit s2-commit
step s1-begin:
BEGIN;
step s1-select-from-t1-within-cte:
WITH first_value AS (SELECT val_1 FROM test_table_1_rf1 WHERE id = 1 FOR UPDATE)
SELECT * FROM first_value WHERE EXISTS (SELECT * FROM first_value);
val_1
---------------------------------------------------------------------
2
(1 row)
step s2-begin:
BEGIN;
step s2-select-from-t1-t2-for-update:
SELECT * FROM
test_table_1_rf1 as tt1 INNER JOIN test_table_1_rf1 as tt2 on tt1.id = tt2.id
WHERE tt1.id = 1
ORDER BY 1
FOR UPDATE;
<waiting ...>
step s1-commit:
COMMIT;
step s2-select-from-t1-t2-for-update: <... completed>
id|val_1|id|val_1
---------------------------------------------------------------------
1| 2| 1| 2
(1 row)
step s2-commit:
COMMIT;
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s1-select-from-t1-within-cte s2-begin s2-update-t1 s1-commit s2-commit
step s1-begin:
BEGIN;
step s1-select-from-t1-within-cte:
WITH first_value AS (SELECT val_1 FROM test_table_1_rf1 WHERE id = 1 FOR UPDATE)
SELECT * FROM first_value WHERE EXISTS (SELECT * FROM first_value);
val_1
---------------------------------------------------------------------
2
(1 row)
step s2-begin:
BEGIN;
step s2-update-t1:
UPDATE test_table_1_rf1 SET val_1 = 5 WHERE id = 1;
<waiting ...>
step s1-commit:
COMMIT;
step s2-update-t1: <... completed>
step s2-commit:
COMMIT;
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s1-select-from-t1-with-subquery s2-begin s2-update-t1 s1-commit s2-commit
step s1-begin:
BEGIN;
DEBUG: Creating router plan
step s1-select-from-t1-with-subquery:
SET client_min_messages TO DEBUG2;
SELECT * FROM (SELECT * FROM test_table_1_rf1 FOR UPDATE) foo WHERE id = 1;
RESET client_min_messages;
DEBUG: query has a single distribution column value: 1
id|val_1
---------------------------------------------------------------------
1| 2
(1 row)
step s2-begin:
BEGIN;
step s2-update-t1:
UPDATE test_table_1_rf1 SET val_1 = 5 WHERE id = 1;
<waiting ...>
step s1-commit:
COMMIT;
step s2-update-t1: <... completed>
step s2-commit:
COMMIT;
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s1-select-from-rt-with-subquery s2-begin s2-update-rt s1-commit s2-commit
step s1-begin:
BEGIN;
step s1-select-from-rt-with-subquery:
SELECT * FROM (SELECT * FROM ref_table FOR UPDATE) foo WHERE id = 1;
id|val_1
---------------------------------------------------------------------
1| 2
(1 row)
step s2-begin:
BEGIN;
step s2-update-rt:
UPDATE ref_table SET val_1 = 5 WHERE id = 1;
<waiting ...>
step s1-commit:
COMMIT;
step s2-update-rt: <... completed>
step s2-commit:
COMMIT;
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s1-select-from-t1-with-view s2-begin s2-update-t1 s1-commit s2-commit
step s1-begin:
BEGIN;
step s1-select-from-t1-with-view:
SELECT * FROM test_1 WHERE id = 1 FOR UPDATE;
id|val_1
---------------------------------------------------------------------
1| 2
(1 row)
step s2-begin:
BEGIN;
step s2-update-t1:
UPDATE test_table_1_rf1 SET val_1 = 5 WHERE id = 1;
<waiting ...>
step s1-commit:
COMMIT;
step s2-update-t1: <... completed>
step s2-commit:
COMMIT;
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s1-update-rt-with-cte-select-from-rt s2-begin s2-update-rt s1-commit s2-commit
step s1-begin:
BEGIN;
step s1-update-rt-with-cte-select-from-rt:
WITH foo AS (SELECT * FROM ref_table FOR UPDATE)
UPDATE ref_table SET val_1 = 4 FROM foo WHERE ref_table.id = foo.id AND EXISTS (SELECT * FROM foo);
step s2-begin:
BEGIN;
step s2-update-rt:
UPDATE ref_table SET val_1 = 5 WHERE id = 1;
<waiting ...>
step s1-commit:
COMMIT;
step s2-update-rt: <... completed>
step s2-commit:
COMMIT;
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)