diff --git a/src/test/regress/expected/isolation_add_node_vs_reference_table_operations.out b/src/test/regress/expected/isolation_add_node_vs_reference_table_operations.out index 38eac91fd..8e99fc100 100644 --- a/src/test/regress/expected/isolation_add_node_vs_reference_table_operations.out +++ b/src/test/regress/expected/isolation_add_node_vs_reference_table_operations.out @@ -2,7 +2,9 @@ Parsed test spec with 2 sessions starting permutation: s1-do-not-replicate-on-activate s2-load-metadata-cache s1-begin s1-add-second-worker s2-copy-to-reference-table s1-commit s2-print-content create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-do-not-replicate-on-activate: SET citus.replicate_reference_tables_on_activate TO off; @@ -17,8 +19,10 @@ step s1-add-second-worker: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-copy-to-reference-table: COPY test_reference_table FROM PROGRAM 'echo 1 && echo 2 && echo 3 && echo 4 && echo 5'; @@ -33,17 +37,23 @@ step s2-print-content: ORDER BY nodeport; -nodeport success result +nodeport|success|result +--------------------------------------------------------------------- + 57637|t | 10 +(1 row) -57637 t 10 master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-do-not-replicate-on-activate s2-load-metadata-cache s2-begin s2-copy-to-reference-table s1-add-second-worker s2-commit s2-print-content create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-do-not-replicate-on-activate: SET citus.replicate_reference_tables_on_activate TO off; @@ -61,8 +71,10 @@ step s1-add-second-worker: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-commit: COMMIT; @@ -74,17 +86,23 @@ step s2-print-content: ORDER BY nodeport; -nodeport success result +nodeport|success|result +--------------------------------------------------------------------- + 57637|t | 10 +(1 row) -57637 t 10 master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-do-not-replicate-on-activate s2-load-metadata-cache s1-begin s1-add-second-worker s2-insert-to-reference-table s1-commit s2-print-content create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-do-not-replicate-on-activate: SET citus.replicate_reference_tables_on_activate TO off; @@ -99,8 +117,10 @@ step s1-add-second-worker: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-insert-to-reference-table: INSERT INTO test_reference_table VALUES (6); @@ -115,17 +135,23 @@ step s2-print-content: ORDER BY nodeport; -nodeport success result +nodeport|success|result +--------------------------------------------------------------------- + 57637|t | 6 +(1 row) -57637 t 6 master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-do-not-replicate-on-activate s2-load-metadata-cache s2-begin s2-insert-to-reference-table s1-add-second-worker s2-commit s2-print-content create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-do-not-replicate-on-activate: SET citus.replicate_reference_tables_on_activate TO off; @@ -143,8 +169,10 @@ step s1-add-second-worker: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-commit: COMMIT; @@ -156,17 +184,23 @@ step s2-print-content: ORDER BY nodeport; -nodeport success result +nodeport|success|result +--------------------------------------------------------------------- + 57637|t | 6 +(1 row) -57637 t 6 master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-do-not-replicate-on-activate s2-load-metadata-cache s1-begin s1-add-second-worker s2-ddl-on-reference-table s1-commit s2-print-index-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-do-not-replicate-on-activate: SET citus.replicate_reference_tables_on_activate TO off; @@ -181,8 +215,10 @@ step s1-add-second-worker: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-ddl-on-reference-table: CREATE INDEX reference_index ON test_reference_table(test_id); @@ -198,17 +234,23 @@ step s2-print-index-count: ORDER BY nodeport; -nodeport success result +nodeport|success|result +--------------------------------------------------------------------- + 57637|t | 1 +(1 row) -57637 t 1 master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-do-not-replicate-on-activate s2-load-metadata-cache s2-begin s2-ddl-on-reference-table s1-add-second-worker s2-commit s2-print-index-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-do-not-replicate-on-activate: SET citus.replicate_reference_tables_on_activate TO off; @@ -230,8 +272,10 @@ step s2-commit: step s1-add-second-worker: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-print-index-count: SELECT nodeport, success, result @@ -240,17 +284,23 @@ step s2-print-index-count: ORDER BY nodeport; -nodeport success result +nodeport|success|result +--------------------------------------------------------------------- + 57637|t | 1 +(1 row) -57637 t 1 master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-do-not-replicate-on-activate s2-load-metadata-cache s1-begin s1-add-second-worker s2-create-reference-table-2 s1-commit s2-print-content-2 create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-do-not-replicate-on-activate: SET citus.replicate_reference_tables_on_activate TO off; @@ -265,8 +315,10 @@ step s1-add-second-worker: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-create-reference-table-2: SELECT create_reference_table('test_reference_table_2'); @@ -275,7 +327,9 @@ step s1-commit: step s2-create-reference-table-2: <... completed> create_reference_table +--------------------------------------------------------------------- +(1 row) step s2-print-content-2: SELECT @@ -285,18 +339,24 @@ step s2-print-content-2: ORDER BY nodeport; -nodeport success result +nodeport|success|result +--------------------------------------------------------------------- + 57637|t | 1 + 57638|t | 1 +(2 rows) -57637 t 1 -57638 t 1 master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-do-not-replicate-on-activate s2-load-metadata-cache s2-begin s2-create-reference-table-2 s1-add-second-worker s2-commit s2-print-content-2 create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-do-not-replicate-on-activate: SET citus.replicate_reference_tables_on_activate TO off; @@ -311,7 +371,9 @@ step s2-create-reference-table-2: SELECT create_reference_table('test_reference_table_2'); create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-add-second-worker: SELECT 1 FROM master_add_node('localhost', 57638); @@ -321,8 +383,10 @@ step s2-commit: step s1-add-second-worker: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-print-content-2: SELECT nodeport, success, result @@ -331,17 +395,23 @@ step s2-print-content-2: ORDER BY nodeport; -nodeport success result +nodeport|success|result +--------------------------------------------------------------------- + 57637|t | 1 +(1 row) -57637 t 1 master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-do-not-replicate-on-activate s1-begin s1-add-second-worker s2-copy-to-reference-table s1-commit s2-print-content create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-do-not-replicate-on-activate: SET citus.replicate_reference_tables_on_activate TO off; @@ -353,8 +423,10 @@ step s1-add-second-worker: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-copy-to-reference-table: COPY test_reference_table FROM PROGRAM 'echo 1 && echo 2 && echo 3 && echo 4 && echo 5'; @@ -369,17 +441,23 @@ step s2-print-content: ORDER BY nodeport; -nodeport success result +nodeport|success|result +--------------------------------------------------------------------- + 57637|t | 5 +(1 row) -57637 t 5 master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-do-not-replicate-on-activate s2-begin s2-copy-to-reference-table s1-add-second-worker s2-commit s2-print-content create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-do-not-replicate-on-activate: SET citus.replicate_reference_tables_on_activate TO off; @@ -394,8 +472,10 @@ step s1-add-second-worker: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-commit: COMMIT; @@ -407,17 +487,23 @@ step s2-print-content: ORDER BY nodeport; -nodeport success result +nodeport|success|result +--------------------------------------------------------------------- + 57637|t | 5 +(1 row) -57637 t 5 master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-do-not-replicate-on-activate s1-begin s1-add-second-worker s2-insert-to-reference-table s1-commit s2-print-content create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-do-not-replicate-on-activate: SET citus.replicate_reference_tables_on_activate TO off; @@ -429,8 +515,10 @@ step s1-add-second-worker: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-insert-to-reference-table: INSERT INTO test_reference_table VALUES (6); @@ -445,17 +533,23 @@ step s2-print-content: ORDER BY nodeport; -nodeport success result +nodeport|success|result +--------------------------------------------------------------------- + 57637|t | 1 +(1 row) -57637 t 1 master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-do-not-replicate-on-activate s2-begin s2-insert-to-reference-table s1-add-second-worker s2-commit s2-print-content create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-do-not-replicate-on-activate: SET citus.replicate_reference_tables_on_activate TO off; @@ -470,8 +564,10 @@ step s1-add-second-worker: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-commit: COMMIT; @@ -483,17 +579,23 @@ step s2-print-content: ORDER BY nodeport; -nodeport success result +nodeport|success|result +--------------------------------------------------------------------- + 57637|t | 1 +(1 row) -57637 t 1 master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-do-not-replicate-on-activate s1-begin s1-add-second-worker s2-ddl-on-reference-table s1-commit s2-print-index-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-do-not-replicate-on-activate: SET citus.replicate_reference_tables_on_activate TO off; @@ -505,8 +607,10 @@ step s1-add-second-worker: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-ddl-on-reference-table: CREATE INDEX reference_index ON test_reference_table(test_id); @@ -522,17 +626,23 @@ step s2-print-index-count: ORDER BY nodeport; -nodeport success result +nodeport|success|result +--------------------------------------------------------------------- + 57637|t | 1 +(1 row) -57637 t 1 master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-do-not-replicate-on-activate s2-begin s2-ddl-on-reference-table s1-add-second-worker s2-commit s2-print-index-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-do-not-replicate-on-activate: SET citus.replicate_reference_tables_on_activate TO off; @@ -551,8 +661,10 @@ step s2-commit: step s1-add-second-worker: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-print-index-count: SELECT nodeport, success, result @@ -561,17 +673,23 @@ step s2-print-index-count: ORDER BY nodeport; -nodeport success result +nodeport|success|result +--------------------------------------------------------------------- + 57637|t | 1 +(1 row) -57637 t 1 master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-do-not-replicate-on-activate s1-begin s1-add-second-worker s2-create-reference-table-2 s1-commit s2-print-content-2 create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-do-not-replicate-on-activate: SET citus.replicate_reference_tables_on_activate TO off; @@ -583,8 +701,10 @@ step s1-add-second-worker: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-create-reference-table-2: SELECT create_reference_table('test_reference_table_2'); @@ -593,7 +713,9 @@ step s1-commit: step s2-create-reference-table-2: <... completed> create_reference_table +--------------------------------------------------------------------- +(1 row) step s2-print-content-2: SELECT @@ -603,18 +725,24 @@ step s2-print-content-2: ORDER BY nodeport; -nodeport success result +nodeport|success|result +--------------------------------------------------------------------- + 57637|t | 1 + 57638|t | 1 +(2 rows) -57637 t 1 -57638 t 1 master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-do-not-replicate-on-activate s2-begin s2-create-reference-table-2 s1-add-second-worker s2-commit s2-print-content-2 create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-do-not-replicate-on-activate: SET citus.replicate_reference_tables_on_activate TO off; @@ -626,7 +754,9 @@ step s2-create-reference-table-2: SELECT create_reference_table('test_reference_table_2'); create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-add-second-worker: SELECT 1 FROM master_add_node('localhost', 57638); @@ -636,8 +766,10 @@ step s2-commit: step s1-add-second-worker: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-print-content-2: SELECT nodeport, success, result @@ -646,17 +778,23 @@ step s2-print-content-2: ORDER BY nodeport; -nodeport success result +nodeport|success|result +--------------------------------------------------------------------- + 57637|t | 1 +(1 row) -57637 t 1 master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-replicate-on-activate s1-begin s1-add-second-worker s2-copy-to-reference-table s1-commit s2-print-content create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-replicate-on-activate: SET citus.replicate_reference_tables_on_activate TO on; @@ -668,8 +806,10 @@ step s1-add-second-worker: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-copy-to-reference-table: COPY test_reference_table FROM PROGRAM 'echo 1 && echo 2 && echo 3 && echo 4 && echo 5'; @@ -685,18 +825,24 @@ step s2-print-content: ORDER BY nodeport; -nodeport success result +nodeport|success|result +--------------------------------------------------------------------- + 57637|t | 5 + 57638|t | 5 +(2 rows) -57637 t 5 -57638 t 5 master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-replicate-on-activate s2-begin s2-copy-to-reference-table s1-add-second-worker s2-commit s2-print-content create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-replicate-on-activate: SET citus.replicate_reference_tables_on_activate TO on; @@ -715,8 +861,10 @@ step s2-commit: step s1-add-second-worker: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-print-content: SELECT nodeport, success, result @@ -725,18 +873,24 @@ step s2-print-content: ORDER BY nodeport; -nodeport success result +nodeport|success|result +--------------------------------------------------------------------- + 57637|t | 5 + 57638|t | 5 +(2 rows) -57637 t 5 -57638 t 5 master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-replicate-on-activate s1-begin s1-add-second-worker s2-insert-to-reference-table s1-commit s2-print-content create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-replicate-on-activate: SET citus.replicate_reference_tables_on_activate TO on; @@ -748,8 +902,10 @@ step s1-add-second-worker: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-insert-to-reference-table: INSERT INTO test_reference_table VALUES (6); @@ -765,18 +921,24 @@ step s2-print-content: ORDER BY nodeport; -nodeport success result +nodeport|success|result +--------------------------------------------------------------------- + 57637|t | 1 + 57638|t | 1 +(2 rows) -57637 t 1 -57638 t 1 master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-replicate-on-activate s2-begin s2-insert-to-reference-table s1-add-second-worker s2-commit s2-print-content create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-replicate-on-activate: SET citus.replicate_reference_tables_on_activate TO on; @@ -795,8 +957,10 @@ step s2-commit: step s1-add-second-worker: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-print-content: SELECT nodeport, success, result @@ -805,18 +969,24 @@ step s2-print-content: ORDER BY nodeport; -nodeport success result +nodeport|success|result +--------------------------------------------------------------------- + 57637|t | 1 + 57638|t | 1 +(2 rows) -57637 t 1 -57638 t 1 master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-replicate-on-activate s1-begin s1-add-second-worker s2-ddl-on-reference-table s1-commit s2-print-index-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-replicate-on-activate: SET citus.replicate_reference_tables_on_activate TO on; @@ -828,8 +998,10 @@ step s1-add-second-worker: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-ddl-on-reference-table: CREATE INDEX reference_index ON test_reference_table(test_id); @@ -845,18 +1017,24 @@ step s2-print-index-count: ORDER BY nodeport; -nodeport success result +nodeport|success|result +--------------------------------------------------------------------- + 57637|t | 1 + 57638|t | 1 +(2 rows) -57637 t 1 -57638 t 1 master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-replicate-on-activate s2-begin s2-ddl-on-reference-table s1-add-second-worker s2-commit s2-print-index-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-replicate-on-activate: SET citus.replicate_reference_tables_on_activate TO on; @@ -875,8 +1053,10 @@ step s2-commit: step s1-add-second-worker: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-print-index-count: SELECT nodeport, success, result @@ -885,18 +1065,24 @@ step s2-print-index-count: ORDER BY nodeport; -nodeport success result +nodeport|success|result +--------------------------------------------------------------------- + 57637|t | 1 + 57638|t | 1 +(2 rows) -57637 t 1 -57638 t 1 master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-replicate-on-activate s1-begin s1-add-second-worker s2-create-reference-table-2 s1-commit s2-print-content-2 create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-replicate-on-activate: SET citus.replicate_reference_tables_on_activate TO on; @@ -908,8 +1094,10 @@ step s1-add-second-worker: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-create-reference-table-2: SELECT create_reference_table('test_reference_table_2'); @@ -918,7 +1106,9 @@ step s1-commit: step s2-create-reference-table-2: <... completed> create_reference_table +--------------------------------------------------------------------- +(1 row) step s2-print-content-2: SELECT @@ -928,18 +1118,24 @@ step s2-print-content-2: ORDER BY nodeport; -nodeport success result +nodeport|success|result +--------------------------------------------------------------------- + 57637|t | 1 + 57638|t | 1 +(2 rows) -57637 t 1 -57638 t 1 master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-replicate-on-activate s2-begin s2-create-reference-table-2 s1-add-second-worker s2-commit s2-print-content-2 create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-replicate-on-activate: SET citus.replicate_reference_tables_on_activate TO on; @@ -951,7 +1147,9 @@ step s2-create-reference-table-2: SELECT create_reference_table('test_reference_table_2'); create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-add-second-worker: SELECT 1 FROM master_add_node('localhost', 57638); @@ -961,8 +1159,10 @@ step s2-commit: step s1-add-second-worker: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-print-content-2: SELECT nodeport, success, result @@ -971,18 +1171,24 @@ step s2-print-content-2: ORDER BY nodeport; -nodeport success result +nodeport|success|result +--------------------------------------------------------------------- + 57637|t | 1 + 57638|t | 1 +(2 rows) -57637 t 1 -57638 t 1 master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-do-not-replicate-on-activate s1-add-second-worker s2-begin s1-begin s1-drop-reference-table s2-replicate-reference-tables s1-commit s2-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-do-not-replicate-on-activate: SET citus.replicate_reference_tables_on_activate TO off; @@ -991,8 +1197,10 @@ step s1-add-second-worker: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-begin: BEGIN; @@ -1012,12 +1220,16 @@ step s1-commit: step s2-replicate-reference-tables: <... completed> replicate_reference_tables +--------------------------------------------------------------------- +(1 row) step s2-commit: COMMIT; master_remove_node +--------------------------------------------------------------------- +(2 rows) diff --git a/src/test/regress/expected/isolation_add_remove_node.out b/src/test/regress/expected/isolation_add_remove_node.out index bfb8591ac..b63147cc9 100644 --- a/src/test/regress/expected/isolation_add_remove_node.out +++ b/src/test/regress/expected/isolation_add_remove_node.out @@ -2,8 +2,10 @@ Parsed test spec with 2 sessions starting permutation: s1-begin s1-add-node-1 s2-remove-node-1 s1-commit s1-show-nodes ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: BEGIN; @@ -11,8 +13,10 @@ step s1-add-node-1: SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-remove-node-1: SELECT * FROM master_remove_node('localhost', 57637); @@ -21,20 +25,28 @@ step s1-commit: step s2-remove-node-1: <... completed> master_remove_node +--------------------------------------------------------------------- +(1 row) step s1-show-nodes: SELECT nodename, nodeport, isactive FROM pg_dist_node ORDER BY nodename, nodeport; -nodename nodeport isactive +nodename|nodeport|isactive +--------------------------------------------------------------------- +(0 rows) master_remove_node +--------------------------------------------------------------------- +(0 rows) starting permutation: s1-begin s1-add-node-1 s2-add-node-2 s1-commit s1-show-nodes ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: BEGIN; @@ -42,8 +54,10 @@ step s1-add-node-1: SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-add-node-2: SELECT 1 FROM master_add_node('localhost', 57638); @@ -52,24 +66,32 @@ step s1-commit: step s2-add-node-2: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-show-nodes: SELECT nodename, nodeport, isactive FROM pg_dist_node ORDER BY nodename, nodeport; -nodename nodeport isactive +nodename |nodeport|isactive +--------------------------------------------------------------------- +localhost| 57637|t +localhost| 57638|t +(2 rows) -localhost 57637 t -localhost 57638 t master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-begin s1-add-node-1 s2-add-node-1 s1-commit s1-show-nodes ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: BEGIN; @@ -77,8 +99,10 @@ step s1-add-node-1: SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-add-node-1: SELECT 1 FROM master_add_node('localhost', 57637); @@ -87,22 +111,30 @@ step s1-commit: step s2-add-node-1: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-show-nodes: SELECT nodename, nodeport, isactive FROM pg_dist_node ORDER BY nodename, nodeport; -nodename nodeport isactive +nodename |nodeport|isactive +--------------------------------------------------------------------- +localhost| 57637|t +(1 row) -localhost 57637 t master_remove_node +--------------------------------------------------------------------- +(1 row) starting permutation: s1-begin s1-add-node-1 s2-add-node-2 s1-abort s1-show-nodes ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: BEGIN; @@ -110,8 +142,10 @@ step s1-add-node-1: SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-add-node-2: SELECT 1 FROM master_add_node('localhost', 57638); @@ -120,22 +154,30 @@ step s1-abort: step s2-add-node-2: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-show-nodes: SELECT nodename, nodeport, isactive FROM pg_dist_node ORDER BY nodename, nodeport; -nodename nodeport isactive +nodename |nodeport|isactive +--------------------------------------------------------------------- +localhost| 57638|t +(1 row) -localhost 57638 t master_remove_node +--------------------------------------------------------------------- +(1 row) starting permutation: s1-begin s1-add-node-1 s2-add-node-1 s1-abort s1-show-nodes ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: BEGIN; @@ -143,8 +185,10 @@ step s1-add-node-1: SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-add-node-1: SELECT 1 FROM master_add_node('localhost', 57637); @@ -153,34 +197,46 @@ step s1-abort: step s2-add-node-1: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-show-nodes: SELECT nodename, nodeport, isactive FROM pg_dist_node ORDER BY nodename, nodeport; -nodename nodeport isactive +nodename |nodeport|isactive +--------------------------------------------------------------------- +localhost| 57637|t +(1 row) -localhost 57637 t master_remove_node +--------------------------------------------------------------------- +(1 row) starting permutation: s1-add-node-1 s1-add-node-2 s1-begin s1-remove-node-1 s2-remove-node-2 s1-commit s1-show-nodes ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-add-node-1: SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-add-node-2: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: BEGIN; @@ -188,7 +244,9 @@ step s1-remove-node-1: SELECT * FROM master_remove_node('localhost', 57637); master_remove_node +--------------------------------------------------------------------- +(1 row) step s2-remove-node-2: SELECT * FROM master_remove_node('localhost', 57638); @@ -198,26 +256,36 @@ step s1-commit: step s2-remove-node-2: <... completed> master_remove_node +--------------------------------------------------------------------- +(1 row) step s1-show-nodes: SELECT nodename, nodeport, isactive FROM pg_dist_node ORDER BY nodename, nodeport; -nodename nodeport isactive +nodename|nodeport|isactive +--------------------------------------------------------------------- +(0 rows) master_remove_node +--------------------------------------------------------------------- +(0 rows) starting permutation: s1-add-node-1 s1-begin s1-remove-node-1 s2-remove-node-1 s1-commit s1-show-nodes ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-add-node-1: SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: BEGIN; @@ -225,7 +293,9 @@ step s1-remove-node-1: SELECT * FROM master_remove_node('localhost', 57637); master_remove_node +--------------------------------------------------------------------- +(1 row) step s2-remove-node-1: SELECT * FROM master_remove_node('localhost', 57637); @@ -238,21 +308,29 @@ ERROR: node at "localhost:xxxxx" does not exist step s1-show-nodes: SELECT nodename, nodeport, isactive FROM pg_dist_node ORDER BY nodename, nodeport; -nodename nodeport isactive +nodename|nodeport|isactive +--------------------------------------------------------------------- +(0 rows) master_remove_node +--------------------------------------------------------------------- +(0 rows) starting permutation: s1-add-node-1 s1-begin s1-activate-node-1 s2-activate-node-1 s1-commit s1-show-nodes ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-add-node-1: SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: BEGIN; @@ -260,8 +338,10 @@ step s1-activate-node-1: SELECT 1 FROM master_activate_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-activate-node-1: SELECT 1 FROM master_activate_node('localhost', 57637); @@ -270,28 +350,38 @@ step s1-commit: step s2-activate-node-1: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-show-nodes: SELECT nodename, nodeport, isactive FROM pg_dist_node ORDER BY nodename, nodeport; -nodename nodeport isactive +nodename |nodeport|isactive +--------------------------------------------------------------------- +localhost| 57637|t +(1 row) -localhost 57637 t master_remove_node +--------------------------------------------------------------------- +(1 row) starting permutation: s1-add-node-1 s1-begin s1-disable-node-1 s2-disable-node-1 s1-commit s1-show-nodes ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-add-node-1: SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: BEGIN; @@ -299,8 +389,10 @@ step s1-disable-node-1: SELECT 1 FROM master_disable_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-disable-node-1: SELECT 1 FROM master_disable_node('localhost', 57637); @@ -309,28 +401,38 @@ step s1-commit: step s2-disable-node-1: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-show-nodes: SELECT nodename, nodeport, isactive FROM pg_dist_node ORDER BY nodename, nodeport; -nodename nodeport isactive +nodename |nodeport|isactive +--------------------------------------------------------------------- +localhost| 57637|f +(1 row) -localhost 57637 f master_remove_node +--------------------------------------------------------------------- +(1 row) starting permutation: s1-add-inactive-1 s1-begin s1-activate-node-1 s2-activate-node-1 s1-commit s1-show-nodes ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-add-inactive-1: SELECT 1 FROM master_add_inactive_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: BEGIN; @@ -338,8 +440,10 @@ step s1-activate-node-1: SELECT 1 FROM master_activate_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-activate-node-1: SELECT 1 FROM master_activate_node('localhost', 57637); @@ -348,28 +452,38 @@ step s1-commit: step s2-activate-node-1: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-show-nodes: SELECT nodename, nodeport, isactive FROM pg_dist_node ORDER BY nodename, nodeport; -nodename nodeport isactive +nodename |nodeport|isactive +--------------------------------------------------------------------- +localhost| 57637|t +(1 row) -localhost 57637 t master_remove_node +--------------------------------------------------------------------- +(1 row) starting permutation: s1-add-inactive-1 s1-begin s1-disable-node-1 s2-disable-node-1 s1-commit s1-show-nodes ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-add-inactive-1: SELECT 1 FROM master_add_inactive_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: BEGIN; @@ -377,8 +491,10 @@ step s1-disable-node-1: SELECT 1 FROM master_disable_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-disable-node-1: SELECT 1 FROM master_disable_node('localhost', 57637); @@ -387,28 +503,38 @@ step s1-commit: step s2-disable-node-1: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-show-nodes: SELECT nodename, nodeport, isactive FROM pg_dist_node ORDER BY nodename, nodeport; -nodename nodeport isactive +nodename |nodeport|isactive +--------------------------------------------------------------------- +localhost| 57637|f +(1 row) -localhost 57637 f master_remove_node +--------------------------------------------------------------------- +(1 row) starting permutation: s1-add-node-1 s1-begin s1-disable-node-1 s2-activate-node-1 s1-commit s1-show-nodes ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-add-node-1: SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: BEGIN; @@ -416,8 +542,10 @@ step s1-disable-node-1: SELECT 1 FROM master_disable_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-activate-node-1: SELECT 1 FROM master_activate_node('localhost', 57637); @@ -426,28 +554,38 @@ step s1-commit: step s2-activate-node-1: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-show-nodes: SELECT nodename, nodeport, isactive FROM pg_dist_node ORDER BY nodename, nodeport; -nodename nodeport isactive +nodename |nodeport|isactive +--------------------------------------------------------------------- +localhost| 57637|t +(1 row) -localhost 57637 t master_remove_node +--------------------------------------------------------------------- +(1 row) starting permutation: s1-add-node-1 s1-begin s1-activate-node-1 s2-disable-node-1 s1-commit s1-show-nodes ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-add-node-1: SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: BEGIN; @@ -455,8 +593,10 @@ step s1-activate-node-1: SELECT 1 FROM master_activate_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-disable-node-1: SELECT 1 FROM master_disable_node('localhost', 57637); @@ -465,28 +605,38 @@ step s1-commit: step s2-disable-node-1: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-show-nodes: SELECT nodename, nodeport, isactive FROM pg_dist_node ORDER BY nodename, nodeport; -nodename nodeport isactive +nodename |nodeport|isactive +--------------------------------------------------------------------- +localhost| 57637|f +(1 row) -localhost 57637 f master_remove_node +--------------------------------------------------------------------- +(1 row) starting permutation: s1-add-inactive-1 s1-begin s1-disable-node-1 s2-activate-node-1 s1-commit s1-show-nodes ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-add-inactive-1: SELECT 1 FROM master_add_inactive_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: BEGIN; @@ -494,8 +644,10 @@ step s1-disable-node-1: SELECT 1 FROM master_disable_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-activate-node-1: SELECT 1 FROM master_activate_node('localhost', 57637); @@ -504,28 +656,38 @@ step s1-commit: step s2-activate-node-1: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-show-nodes: SELECT nodename, nodeport, isactive FROM pg_dist_node ORDER BY nodename, nodeport; -nodename nodeport isactive +nodename |nodeport|isactive +--------------------------------------------------------------------- +localhost| 57637|t +(1 row) -localhost 57637 t master_remove_node +--------------------------------------------------------------------- +(1 row) starting permutation: s1-add-inactive-1 s1-begin s1-activate-node-1 s2-disable-node-1 s1-commit s1-show-nodes ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-add-inactive-1: SELECT 1 FROM master_add_inactive_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: BEGIN; @@ -533,8 +695,10 @@ step s1-activate-node-1: SELECT 1 FROM master_activate_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-disable-node-1: SELECT 1 FROM master_disable_node('localhost', 57637); @@ -543,28 +707,38 @@ step s1-commit: step s2-disable-node-1: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-show-nodes: SELECT nodename, nodeport, isactive FROM pg_dist_node ORDER BY nodename, nodeport; -nodename nodeport isactive +nodename |nodeport|isactive +--------------------------------------------------------------------- +localhost| 57637|f +(1 row) -localhost 57637 f master_remove_node +--------------------------------------------------------------------- +(1 row) starting permutation: s1-add-inactive-1 s1-begin s1-activate-node-1 s2-disable-node-1 s1-abort s1-show-nodes ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-add-inactive-1: SELECT 1 FROM master_add_inactive_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: BEGIN; @@ -572,8 +746,10 @@ step s1-activate-node-1: SELECT 1 FROM master_activate_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-disable-node-1: SELECT 1 FROM master_disable_node('localhost', 57637); @@ -582,28 +758,38 @@ step s1-abort: step s2-disable-node-1: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-show-nodes: SELECT nodename, nodeport, isactive FROM pg_dist_node ORDER BY nodename, nodeport; -nodename nodeport isactive +nodename |nodeport|isactive +--------------------------------------------------------------------- +localhost| 57637|f +(1 row) -localhost 57637 f master_remove_node +--------------------------------------------------------------------- +(1 row) starting permutation: s1-add-node-1 s1-begin s1-disable-node-1 s2-disable-node-1 s1-abort s1-show-nodes ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-add-node-1: SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: BEGIN; @@ -611,8 +797,10 @@ step s1-disable-node-1: SELECT 1 FROM master_disable_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-disable-node-1: SELECT 1 FROM master_disable_node('localhost', 57637); @@ -621,14 +809,20 @@ step s1-abort: step s2-disable-node-1: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-show-nodes: SELECT nodename, nodeport, isactive FROM pg_dist_node ORDER BY nodename, nodeport; -nodename nodeport isactive +nodename |nodeport|isactive +--------------------------------------------------------------------- +localhost| 57637|f +(1 row) -localhost 57637 f master_remove_node +--------------------------------------------------------------------- +(1 row) diff --git a/src/test/regress/expected/isolation_append_copy_vs_all.out b/src/test/regress/expected/isolation_append_copy_vs_all.out index 9b0f612b0..cf5fa1176 100644 --- a/src/test/regress/expected/isolation_append_copy_vs_all.out +++ b/src/test/regress/expected/isolation_append_copy_vs_all.out @@ -2,7 +2,9 @@ Parsed test spec with 2 sessions starting permutation: s1-initialize s1-begin s1-copy s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -11,50 +13,66 @@ step s2-copy: COPY append_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && ech step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM append_copy; count +--------------------------------------------------------------------- + 15 +(1 row) -15 starting permutation: s1-initialize s1-begin s1-copy s2-router-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-copy: COPY append_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s2-router-select: SELECT * FROM append_copy WHERE id = 1; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM append_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-copy s2-real-time-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-copy: COPY append_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s2-real-time-select: SELECT * FROM append_copy ORDER BY 1, 2; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM append_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-copy s2-adaptive-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -63,22 +81,28 @@ step s2-adaptive-select: SET citus.enable_repartition_joins TO ON; SELECT * FROM append_copy AS t1 JOIN append_copy AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM append_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-copy s2-insert s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -87,12 +111,16 @@ step s2-insert: INSERT INTO append_copy VALUES(0, 'k', 0); step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM append_copy; count +--------------------------------------------------------------------- + 11 +(1 row) -11 starting permutation: s1-initialize s1-begin s1-copy s2-insert-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -101,12 +129,16 @@ step s2-insert-select: INSERT INTO append_copy SELECT * FROM append_copy; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM append_copy; count +--------------------------------------------------------------------- + 15 +(1 row) -15 starting permutation: s1-initialize s1-begin s1-copy s2-update s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -115,12 +147,16 @@ step s2-update: UPDATE append_copy SET data = 'l' WHERE id = 0; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM append_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-copy s2-delete s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -129,12 +165,16 @@ step s2-delete: DELETE FROM append_copy WHERE id = 1; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM append_copy; count +--------------------------------------------------------------------- + 9 +(1 row) -9 starting permutation: s1-initialize s1-begin s1-copy s2-truncate s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -144,12 +184,16 @@ step s1-commit: COMMIT; step s2-truncate: <... completed> step s1-select-count: SELECT COUNT(*) FROM append_copy; count +--------------------------------------------------------------------- + 0 +(1 row) -0 starting permutation: s1-initialize s1-begin s1-copy s2-drop s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -162,7 +206,9 @@ ERROR: relation "append_copy" does not exist starting permutation: s1-initialize s1-begin s1-copy s2-ddl-create-index s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -172,17 +218,23 @@ step s1-commit: COMMIT; step s2-ddl-create-index: <... completed> step s1-select-count: SELECT COUNT(*) FROM append_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''append_copy%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) +(2 rows) + starting permutation: s1-initialize s1-ddl-create-index s1-begin s1-copy s2-ddl-drop-index s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-ddl-create-index: CREATE INDEX append_copy_index ON append_copy(id); @@ -193,17 +245,23 @@ step s1-commit: COMMIT; step s2-ddl-drop-index: <... completed> step s1-select-count: SELECT COUNT(*) FROM append_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''append_copy%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + starting permutation: s1-initialize s1-begin s1-copy s2-ddl-create-index-concurrently s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -213,17 +271,23 @@ step s1-commit: COMMIT; step s2-ddl-create-index-concurrently: <... completed> step s1-select-count: SELECT COUNT(*) FROM append_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''append_copy%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,1) (localhost,57638,t,1) +(2 rows) + starting permutation: s1-initialize s1-begin s1-copy s2-ddl-add-column s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -233,17 +297,23 @@ step s1-commit: COMMIT; step s2-ddl-add-column: <... completed> step s1-select-count: SELECT COUNT(*) FROM append_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''append_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + starting permutation: s1-initialize s1-ddl-add-column s1-begin s1-copy-additional-column s2-ddl-drop-column s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-ddl-add-column: ALTER TABLE append_copy ADD new_column int DEFAULT 0; @@ -254,17 +324,23 @@ step s1-commit: COMMIT; step s2-ddl-drop-column: <... completed> step s1-select-count: SELECT COUNT(*) FROM append_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''append_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") +(2 rows) + starting permutation: s1-initialize s1-begin s1-copy s2-ddl-rename-column s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -274,34 +350,46 @@ step s1-commit: COMMIT; step s2-ddl-rename-column: <... completed> step s1-select-count: SELECT COUNT(*) FROM append_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''append_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + starting permutation: s1-initialize s1-begin s1-copy s2-table-size s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-copy: COPY append_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s2-table-size: SELECT citus_total_relation_size('append_copy'); citus_total_relation_size +--------------------------------------------------------------------- + 32768 +(1 row) -32768 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM append_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-copy s2-master-apply-delete-command s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -310,16 +398,22 @@ step s2-master-apply-delete-command: SELECT master_apply_delete_command('DELETE step s1-commit: COMMIT; step s2-master-apply-delete-command: <... completed> master_apply_delete_command +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-select-count: SELECT COUNT(*) FROM append_copy; count +--------------------------------------------------------------------- + 5 +(1 row) -5 starting permutation: s1-initialize s1-begin s1-copy s2-master-drop-all-shards s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -328,16 +422,22 @@ step s2-master-drop-all-shards: SELECT citus_drop_all_shards('append_copy'::regc step s1-commit: COMMIT; step s2-master-drop-all-shards: <... completed> citus_drop_all_shards +--------------------------------------------------------------------- + 2 +(1 row) -2 step s1-select-count: SELECT COUNT(*) FROM append_copy; count +--------------------------------------------------------------------- + 0 +(1 row) -0 starting permutation: s1-drop s1-create-non-distributed-table s1-begin s1-copy s2-distribute-table s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop: DROP TABLE append_copy; step s1-create-non-distributed-table: CREATE TABLE append_copy(id integer, data text, int_data int); @@ -347,54 +447,72 @@ step s2-distribute-table: SELECT create_distributed_table('append_copy', 'id', ' step s1-commit: COMMIT; step s2-distribute-table: <... completed> create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-select-count: SELECT COUNT(*) FROM append_copy; count +--------------------------------------------------------------------- + 0 +(1 row) -0 starting permutation: s1-initialize s1-begin s1-router-select s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-router-select: SELECT * FROM append_copy WHERE id = 1; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s2-copy: COPY append_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM append_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-real-time-select s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-real-time-select: SELECT * FROM append_copy ORDER BY 1, 2; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s2-copy: COPY append_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM append_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-adaptive-select s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -402,23 +520,29 @@ step s1-adaptive-select: SET citus.enable_repartition_joins TO ON; SELECT * FROM append_copy AS t1 JOIN append_copy AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s2-copy: COPY append_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM append_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-insert s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -427,12 +551,16 @@ step s2-copy: COPY append_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && ech step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM append_copy; count +--------------------------------------------------------------------- + 11 +(1 row) -11 starting permutation: s1-initialize s1-begin s1-insert-select s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -441,12 +569,16 @@ step s2-copy: COPY append_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && ech step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM append_copy; count +--------------------------------------------------------------------- + 15 +(1 row) -15 starting permutation: s1-initialize s1-begin s1-update s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -455,12 +587,16 @@ step s2-copy: COPY append_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && ech step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM append_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-delete s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -469,12 +605,16 @@ step s2-copy: COPY append_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && ech step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM append_copy; count +--------------------------------------------------------------------- + 9 +(1 row) -9 starting permutation: s1-initialize s1-begin s1-truncate s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -484,12 +624,16 @@ step s1-commit: COMMIT; step s2-copy: <... completed> step s1-select-count: SELECT COUNT(*) FROM append_copy; count +--------------------------------------------------------------------- + 5 +(1 row) -5 starting permutation: s1-initialize s1-begin s1-drop s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -503,7 +647,9 @@ ERROR: relation "append_copy" does not exist starting permutation: s1-initialize s1-begin s1-ddl-create-index s2-copy s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -513,17 +659,23 @@ step s1-commit: COMMIT; step s2-copy: <... completed> step s1-select-count: SELECT COUNT(*) FROM append_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''append_copy%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) +(2 rows) + starting permutation: s1-initialize s1-ddl-create-index s1-begin s1-ddl-drop-index s2-copy s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-ddl-create-index: CREATE INDEX append_copy_index ON append_copy(id); @@ -534,17 +686,23 @@ step s1-commit: COMMIT; step s2-copy: <... completed> step s1-select-count: SELECT COUNT(*) FROM append_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''append_copy%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + starting permutation: s1-initialize s1-begin s1-ddl-add-column s2-copy s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -555,17 +713,23 @@ step s2-copy: <... completed> ERROR: missing data for column "new_column" step s1-select-count: SELECT COUNT(*) FROM append_copy; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''append_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + starting permutation: s1-initialize s1-ddl-add-column s1-begin s1-ddl-drop-column s2-copy s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-ddl-add-column: ALTER TABLE append_copy ADD new_column int DEFAULT 0; @@ -576,17 +740,23 @@ step s1-commit: COMMIT; step s2-copy: <... completed> step s1-select-count: SELECT COUNT(*) FROM append_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''append_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") +(2 rows) + starting permutation: s1-initialize s1-begin s1-ddl-rename-column s2-copy s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -596,82 +766,110 @@ step s1-commit: COMMIT; step s2-copy: <... completed> step s1-select-count: SELECT COUNT(*) FROM append_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''append_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + starting permutation: s1-initialize s1-begin s1-table-size s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-table-size: SELECT citus_total_relation_size('append_copy'); citus_total_relation_size +--------------------------------------------------------------------- + 32768 +(1 row) -32768 step s2-copy: COPY append_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM append_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-master-apply-delete-command s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-master-apply-delete-command: SELECT master_apply_delete_command('DELETE FROM append_copy WHERE id <= 4;'); master_apply_delete_command +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-copy: COPY append_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s1-commit: COMMIT; step s2-copy: <... completed> step s1-select-count: SELECT COUNT(*) FROM append_copy; count +--------------------------------------------------------------------- + 5 +(1 row) -5 starting permutation: s1-initialize s1-begin s1-master-drop-all-shards s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-master-drop-all-shards: SELECT citus_drop_all_shards('append_copy'::regclass, 'public', 'append_copy'); citus_drop_all_shards +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-copy: COPY append_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s1-commit: COMMIT; step s2-copy: <... completed> step s1-select-count: SELECT COUNT(*) FROM append_copy; count +--------------------------------------------------------------------- + 5 +(1 row) -5 starting permutation: s1-drop s1-create-non-distributed-table s1-begin s1-distribute-table s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop: DROP TABLE append_copy; step s1-create-non-distributed-table: CREATE TABLE append_copy(id integer, data text, int_data int); step s1-begin: BEGIN; step s1-distribute-table: SELECT create_distributed_table('append_copy', 'id', 'append'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-copy: COPY append_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s1-commit: COMMIT; step s2-copy: <... completed> step s1-select-count: SELECT COUNT(*) FROM append_copy; count +--------------------------------------------------------------------- + 5 +(1 row) -5 diff --git a/src/test/regress/expected/isolation_blocking_move_multi_shard_commands.out b/src/test/regress/expected/isolation_blocking_move_multi_shard_commands.out index 25c680d2f..4937dcd5f 100644 --- a/src/test/regress/expected/isolation_blocking_move_multi_shard_commands.out +++ b/src/test/regress/expected/isolation_blocking_move_multi_shard_commands.out @@ -18,7 +18,9 @@ step s2-end: step s1-move-placement: <... completed> master_move_shard_placement +--------------------------------------------------------------------- +(1 row) step s1-end: COMMIT; @@ -26,16 +28,20 @@ step s1-end: step s1-select: SELECT * FROM logical_replicate_placement order by y; -x y + x| y +--------------------------------------------------------------------- + 15| 15 +172|172 +(2 rows) -15 15 -172 172 step s1-get-shard-distribution: select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport; nodeport +--------------------------------------------------------------------- + 57638 +(1 row) -57638 starting permutation: s1-begin s2-begin s2-upsert s1-move-placement s2-end s1-end s1-select s1-get-shard-distribution step s1-begin: @@ -56,7 +62,9 @@ step s2-end: step s1-move-placement: <... completed> master_move_shard_placement +--------------------------------------------------------------------- +(1 row) step s1-end: COMMIT; @@ -64,16 +72,20 @@ step s1-end: step s1-select: SELECT * FROM logical_replicate_placement order by y; -x y + x| y +--------------------------------------------------------------------- + 15| 16 +172|173 +(2 rows) -15 16 -172 173 step s1-get-shard-distribution: select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport; nodeport +--------------------------------------------------------------------- + 57638 +(1 row) -57638 starting permutation: s1-insert s1-begin s2-begin s2-update s1-move-placement s2-end s1-end s1-select s1-get-shard-distribution step s1-insert: @@ -96,7 +108,9 @@ step s2-end: step s1-move-placement: <... completed> master_move_shard_placement +--------------------------------------------------------------------- +(1 row) step s1-end: COMMIT; @@ -104,16 +118,20 @@ step s1-end: step s1-select: SELECT * FROM logical_replicate_placement order by y; -x y + x| y +--------------------------------------------------------------------- + 15| 16 +172|173 +(2 rows) -15 16 -172 173 step s1-get-shard-distribution: select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport; nodeport +--------------------------------------------------------------------- + 57638 +(1 row) -57638 starting permutation: s1-insert s1-begin s2-begin s2-delete s1-move-placement s2-end s1-end s1-select s1-get-shard-distribution step s1-insert: @@ -136,7 +154,9 @@ step s2-end: step s1-move-placement: <... completed> master_move_shard_placement +--------------------------------------------------------------------- +(1 row) step s1-end: COMMIT; @@ -144,14 +164,18 @@ step s1-end: step s1-select: SELECT * FROM logical_replicate_placement order by y; -x y +x|y +--------------------------------------------------------------------- +(0 rows) step s1-get-shard-distribution: select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport; nodeport +--------------------------------------------------------------------- + 57638 +(1 row) -57638 starting permutation: s1-insert s1-begin s2-begin s2-select s1-move-placement s2-end s1-end s1-get-shard-distribution step s1-insert: @@ -166,15 +190,19 @@ step s2-begin: step s2-select: SELECT * FROM logical_replicate_placement ORDER BY y; -x y + x| y +--------------------------------------------------------------------- + 15| 15 +172|172 +(2 rows) -15 15 -172 172 step s1-move-placement: SELECT master_move_shard_placement(get_shard_id_for_distribution_column, 'localhost', 57637, 'localhost', 57638, shard_transfer_mode:='block_writes') FROM selected_shard; master_move_shard_placement +--------------------------------------------------------------------- +(1 row) step s2-end: COMMIT; @@ -186,8 +214,10 @@ step s1-get-shard-distribution: select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport; nodeport +--------------------------------------------------------------------- + 57638 +(1 row) -57638 starting permutation: s1-begin s2-begin s2-copy s1-move-placement s2-end s1-end s1-select s1-get-shard-distribution step s1-begin: @@ -207,7 +237,9 @@ step s2-end: step s1-move-placement: <... completed> master_move_shard_placement +--------------------------------------------------------------------- +(1 row) step s1-end: COMMIT; @@ -215,20 +247,24 @@ step s1-end: step s1-select: SELECT * FROM logical_replicate_placement order by y; -x y + x| y +--------------------------------------------------------------------- + 1| 1 + 2| 2 + 3| 3 + 4| 4 + 5| 5 +15|30 +(6 rows) -1 1 -2 2 -3 3 -4 4 -5 5 -15 30 step s1-get-shard-distribution: select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport; nodeport +--------------------------------------------------------------------- + 57638 +(1 row) -57638 starting permutation: s1-insert s1-begin s2-begin s2-truncate s1-move-placement s2-end s1-end s1-select s1-get-shard-distribution step s1-insert: @@ -251,7 +287,9 @@ step s2-end: step s1-move-placement: <... completed> master_move_shard_placement +--------------------------------------------------------------------- +(1 row) step s1-end: COMMIT; @@ -259,14 +297,18 @@ step s1-end: step s1-select: SELECT * FROM logical_replicate_placement order by y; -x y +x|y +--------------------------------------------------------------------- +(0 rows) step s1-get-shard-distribution: select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport; nodeport +--------------------------------------------------------------------- + 57638 +(1 row) -57638 starting permutation: s1-begin s2-begin s2-alter-table s1-move-placement s2-end s1-end s1-select s1-get-shard-distribution step s1-begin: @@ -286,7 +328,9 @@ step s2-end: step s1-move-placement: <... completed> master_move_shard_placement +--------------------------------------------------------------------- +(1 row) step s1-end: COMMIT; @@ -294,11 +338,15 @@ step s1-end: step s1-select: SELECT * FROM logical_replicate_placement order by y; -x y z +x|y|z +--------------------------------------------------------------------- +(0 rows) step s1-get-shard-distribution: select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport; nodeport +--------------------------------------------------------------------- + 57638 +(1 row) -57638 diff --git a/src/test/regress/expected/isolation_blocking_move_multi_shard_commands_on_mx.out b/src/test/regress/expected/isolation_blocking_move_multi_shard_commands_on_mx.out index ad62d5481..83da032b8 100644 --- a/src/test/regress/expected/isolation_blocking_move_multi_shard_commands_on_mx.out +++ b/src/test/regress/expected/isolation_blocking_move_multi_shard_commands_on_mx.out @@ -8,19 +8,25 @@ step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-insert: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO logical_replicate_placement VALUES (15, 15), (172, 172)'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-move-placement: SELECT master_move_shard_placement(get_shard_id_for_distribution_column, 'localhost', 57637, 'localhost', 57638, shard_transfer_mode:='block_writes') FROM selected_shard; @@ -29,11 +35,15 @@ step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-move-placement: <... completed> master_move_shard_placement +--------------------------------------------------------------------- +(1 row) step s1-commit: COMMIT; @@ -41,24 +51,32 @@ step s1-commit: step s1-select: SELECT * FROM logical_replicate_placement order by y; -x y + x| y +--------------------------------------------------------------------- + 15| 15 +172|172 +(2 rows) -15 15 -172 172 step s1-get-shard-distribution: select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport; nodeport +--------------------------------------------------------------------- + 57638 +(1 row) -57638 step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-insert s1-begin s2-start-session-level-connection s2-begin-on-worker s2-update s1-move-placement s2-commit-worker s1-commit s1-select s1-get-shard-distribution s2-stop-connection @@ -72,19 +90,25 @@ step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-update: SELECT run_commands_on_session_level_connection_to_node('UPDATE logical_replicate_placement SET y = y + 1'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-move-placement: SELECT master_move_shard_placement(get_shard_id_for_distribution_column, 'localhost', 57637, 'localhost', 57638, shard_transfer_mode:='block_writes') FROM selected_shard; @@ -93,11 +117,15 @@ step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-move-placement: <... completed> master_move_shard_placement +--------------------------------------------------------------------- +(1 row) step s1-commit: COMMIT; @@ -105,24 +133,32 @@ step s1-commit: step s1-select: SELECT * FROM logical_replicate_placement order by y; -x y + x| y +--------------------------------------------------------------------- + 15| 16 +172|173 +(2 rows) -15 16 -172 173 step s1-get-shard-distribution: select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport; nodeport +--------------------------------------------------------------------- + 57638 +(1 row) -57638 step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-insert s1-begin s2-start-session-level-connection s2-begin-on-worker s2-delete s1-move-placement s2-commit-worker s1-commit s1-select s1-get-shard-distribution s2-stop-connection @@ -136,19 +172,25 @@ step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-delete: SELECT run_commands_on_session_level_connection_to_node('DELETE FROM logical_replicate_placement'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-move-placement: SELECT master_move_shard_placement(get_shard_id_for_distribution_column, 'localhost', 57637, 'localhost', 57638, shard_transfer_mode:='block_writes') FROM selected_shard; @@ -157,11 +199,15 @@ step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-move-placement: <... completed> master_move_shard_placement +--------------------------------------------------------------------- +(1 row) step s1-commit: COMMIT; @@ -169,22 +215,30 @@ step s1-commit: step s1-select: SELECT * FROM logical_replicate_placement order by y; -x y +x|y +--------------------------------------------------------------------- +(0 rows) step s1-get-shard-distribution: select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport; nodeport +--------------------------------------------------------------------- + 57638 +(1 row) -57638 step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-insert s1-begin s2-start-session-level-connection s2-begin-on-worker s2-select s1-move-placement s2-commit-worker s1-commit s1-get-shard-distribution s2-stop-connection @@ -198,31 +252,41 @@ step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-select: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM logical_replicate_placement ORDER BY y'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-move-placement: SELECT master_move_shard_placement(get_shard_id_for_distribution_column, 'localhost', 57637, 'localhost', 57638, shard_transfer_mode:='block_writes') FROM selected_shard; master_move_shard_placement +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit: COMMIT; @@ -231,14 +295,20 @@ step s1-get-shard-distribution: select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport; nodeport +--------------------------------------------------------------------- + 57638 +(1 row) -57638 step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) diff --git a/src/test/regress/expected/isolation_blocking_move_single_shard_commands.out b/src/test/regress/expected/isolation_blocking_move_single_shard_commands.out index 15b801533..ae0df946c 100644 --- a/src/test/regress/expected/isolation_blocking_move_single_shard_commands.out +++ b/src/test/regress/expected/isolation_blocking_move_single_shard_commands.out @@ -18,7 +18,9 @@ step s2-end: step s1-move-placement: <... completed> master_move_shard_placement +--------------------------------------------------------------------- +(1 row) step s1-end: COMMIT; @@ -26,15 +28,19 @@ step s1-end: step s1-select: SELECT * FROM logical_replicate_placement order by y; -x y + x| y +--------------------------------------------------------------------- +15|15 +(1 row) -15 15 step s1-get-shard-distribution: select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport; nodeport +--------------------------------------------------------------------- + 57638 +(1 row) -57638 starting permutation: s1-begin s2-begin s2-upsert s1-move-placement s2-end s1-end s1-select s1-get-shard-distribution step s1-begin: @@ -55,7 +61,9 @@ step s2-end: step s1-move-placement: <... completed> master_move_shard_placement +--------------------------------------------------------------------- +(1 row) step s1-end: COMMIT; @@ -63,15 +71,19 @@ step s1-end: step s1-select: SELECT * FROM logical_replicate_placement order by y; -x y + x| y +--------------------------------------------------------------------- +15|16 +(1 row) -15 16 step s1-get-shard-distribution: select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport; nodeport +--------------------------------------------------------------------- + 57638 +(1 row) -57638 starting permutation: s1-insert s1-begin s2-begin s2-update s1-move-placement s2-end s1-end s1-select s1-get-shard-distribution step s1-insert: @@ -94,7 +106,9 @@ step s2-end: step s1-move-placement: <... completed> master_move_shard_placement +--------------------------------------------------------------------- +(1 row) step s1-end: COMMIT; @@ -102,15 +116,19 @@ step s1-end: step s1-select: SELECT * FROM logical_replicate_placement order by y; -x y + x| y +--------------------------------------------------------------------- +15|16 +(1 row) -15 16 step s1-get-shard-distribution: select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport; nodeport +--------------------------------------------------------------------- + 57638 +(1 row) -57638 starting permutation: s1-insert s1-begin s2-begin s2-delete s1-move-placement s2-end s1-end s1-select s1-get-shard-distribution step s1-insert: @@ -133,7 +151,9 @@ step s2-end: step s1-move-placement: <... completed> master_move_shard_placement +--------------------------------------------------------------------- +(1 row) step s1-end: COMMIT; @@ -141,14 +161,18 @@ step s1-end: step s1-select: SELECT * FROM logical_replicate_placement order by y; -x y +x|y +--------------------------------------------------------------------- +(0 rows) step s1-get-shard-distribution: select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport; nodeport +--------------------------------------------------------------------- + 57638 +(1 row) -57638 starting permutation: s1-insert s1-begin s2-begin s2-select s1-move-placement s2-end s1-end s1-get-shard-distribution step s1-insert: @@ -163,14 +187,18 @@ step s2-begin: step s2-select: SELECT * FROM logical_replicate_placement ORDER BY y; -x y + x| y +--------------------------------------------------------------------- +15|15 +(1 row) -15 15 step s1-move-placement: SELECT master_move_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638, shard_transfer_mode:='block_writes'); master_move_shard_placement +--------------------------------------------------------------------- +(1 row) step s2-end: COMMIT; @@ -182,8 +210,10 @@ step s1-get-shard-distribution: select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport; nodeport +--------------------------------------------------------------------- + 57638 +(1 row) -57638 starting permutation: s1-insert s1-begin s2-begin s2-select-for-update s1-move-placement s2-end s1-end s1-get-shard-distribution step s1-insert: @@ -198,14 +228,18 @@ step s2-begin: step s2-select-for-update: SELECT * FROM logical_replicate_placement WHERE x=15 FOR UPDATE; -x y + x| y +--------------------------------------------------------------------- +15|15 +(1 row) -15 15 step s1-move-placement: SELECT master_move_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638, shard_transfer_mode:='block_writes'); master_move_shard_placement +--------------------------------------------------------------------- +(1 row) step s2-end: COMMIT; @@ -217,5 +251,7 @@ step s1-get-shard-distribution: select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport; nodeport +--------------------------------------------------------------------- + 57638 +(1 row) -57638 diff --git a/src/test/regress/expected/isolation_blocking_move_single_shard_commands_on_mx.out b/src/test/regress/expected/isolation_blocking_move_single_shard_commands_on_mx.out index c89b918f5..ad6c17c7f 100644 --- a/src/test/regress/expected/isolation_blocking_move_single_shard_commands_on_mx.out +++ b/src/test/regress/expected/isolation_blocking_move_single_shard_commands_on_mx.out @@ -8,19 +8,25 @@ step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-insert: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO logical_replicate_placement VALUES (15, 15)'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-move-placement: SELECT master_move_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638, shard_transfer_mode:='block_writes'); @@ -29,11 +35,15 @@ step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-move-placement: <... completed> master_move_shard_placement +--------------------------------------------------------------------- +(1 row) step s1-commit: COMMIT; @@ -41,23 +51,31 @@ step s1-commit: step s1-select: SELECT * FROM logical_replicate_placement order by y; -x y + x| y +--------------------------------------------------------------------- +15|15 +(1 row) -15 15 step s1-get-shard-distribution: select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport; nodeport +--------------------------------------------------------------------- + 57638 +(1 row) -57638 step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-insert s1-begin s2-start-session-level-connection s2-begin-on-worker s2-update s1-move-placement s2-commit-worker s1-commit s1-select s1-get-shard-distribution s2-stop-connection @@ -71,19 +89,25 @@ step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-update: SELECT run_commands_on_session_level_connection_to_node('UPDATE logical_replicate_placement SET y = y + 1 WHERE x = 15'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-move-placement: SELECT master_move_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638, shard_transfer_mode:='block_writes'); @@ -92,11 +116,15 @@ step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-move-placement: <... completed> master_move_shard_placement +--------------------------------------------------------------------- +(1 row) step s1-commit: COMMIT; @@ -104,23 +132,31 @@ step s1-commit: step s1-select: SELECT * FROM logical_replicate_placement order by y; -x y + x| y +--------------------------------------------------------------------- +15|16 +(1 row) -15 16 step s1-get-shard-distribution: select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport; nodeport +--------------------------------------------------------------------- + 57638 +(1 row) -57638 step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-insert s1-begin s2-start-session-level-connection s2-begin-on-worker s2-delete s1-move-placement s2-commit-worker s1-commit s1-select s1-get-shard-distribution s2-stop-connection @@ -134,19 +170,25 @@ step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-delete: SELECT run_commands_on_session_level_connection_to_node('DELETE FROM logical_replicate_placement WHERE x = 15'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-move-placement: SELECT master_move_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638, shard_transfer_mode:='block_writes'); @@ -155,11 +197,15 @@ step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-move-placement: <... completed> master_move_shard_placement +--------------------------------------------------------------------- +(1 row) step s1-commit: COMMIT; @@ -167,22 +213,30 @@ step s1-commit: step s1-select: SELECT * FROM logical_replicate_placement order by y; -x y +x|y +--------------------------------------------------------------------- +(0 rows) step s1-get-shard-distribution: select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport; nodeport +--------------------------------------------------------------------- + 57638 +(1 row) -57638 step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-insert s1-begin s2-start-session-level-connection s2-begin-on-worker s2-select s1-move-placement s2-commit-worker s1-commit s1-get-shard-distribution s2-stop-connection @@ -196,31 +250,41 @@ step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-select: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM logical_replicate_placement ORDER BY y'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-move-placement: SELECT master_move_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638, shard_transfer_mode:='block_writes'); master_move_shard_placement +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit: COMMIT; @@ -229,16 +293,22 @@ step s1-get-shard-distribution: select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport; nodeport +--------------------------------------------------------------------- + 57638 +(1 row) -57638 step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-insert s1-begin s2-start-session-level-connection s2-begin-on-worker s2-select-for-update s1-move-placement s2-commit-worker s1-commit s1-get-shard-distribution s2-stop-connection @@ -252,31 +322,41 @@ step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-select-for-update: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM logical_replicate_placement WHERE x=15 FOR UPDATE'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-move-placement: SELECT master_move_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638, shard_transfer_mode:='block_writes'); master_move_shard_placement +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit: COMMIT; @@ -285,14 +365,20 @@ step s1-get-shard-distribution: select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport; nodeport +--------------------------------------------------------------------- + 57638 +(1 row) -57638 step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) diff --git a/src/test/regress/expected/isolation_citus_dist_activity.out b/src/test/regress/expected/isolation_citus_dist_activity.out index 1c6ae9d20..c003d5ec9 100644 --- a/src/test/regress/expected/isolation_citus_dist_activity.out +++ b/src/test/regress/expected/isolation_citus_dist_activity.out @@ -2,7 +2,9 @@ Parsed test spec with 3 sessions starting permutation: s1-cache-connections s1-begin s2-begin s3-begin s1-alter-table s2-sleep s2-view-dist s3-view-worker s2-rollback s1-commit s3-rollback create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-cache-connections: SET citus.max_cached_conns_per_worker TO 4; @@ -25,33 +27,39 @@ step s2-sleep: SELECT pg_sleep(0.5); pg_sleep +--------------------------------------------------------------------- +(1 row) step s2-view-dist: SELECT query, query_hostname, query_hostport, distributed_query_host_name, distributed_query_host_port, state, wait_event_type, wait_event, usename, datname FROM citus_dist_stat_activity WHERE query NOT ILIKE '%pg_prepared_xacts%' AND query NOT ILIKE '%COMMIT%' ORDER BY query DESC; -query query_hostname query_hostport distributed_query_host_namedistributed_query_host_portstate wait_event_typewait_event usename datname - +query |query_hostname |query_hostport|distributed_query_host_name|distributed_query_host_port|state |wait_event_type|wait_event|usename |datname +--------------------------------------------------------------------- ALTER TABLE test_table ADD COLUMN x INT; -coordinator_host57636 coordinator_host57636 idle in transactionClient ClientRead postgres regression +|coordinator_host| 57636|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression +(1 row) + step s3-view-worker: SELECT query, query_hostname, query_hostport, distributed_query_host_name, distributed_query_host_port, state, wait_event_type, wait_event, usename, datname FROM citus_worker_stat_activity WHERE query NOT ILIKE '%pg_prepared_xacts%' AND query NOT ILIKE '%COMMIT%' ORDER BY query DESC; -query query_hostname query_hostport distributed_query_host_namedistributed_query_host_portstate wait_event_typewait_event usename datname - +query |query_hostname|query_hostport|distributed_query_host_name|distributed_query_host_port|state |wait_event_type|wait_event|usename |datname +--------------------------------------------------------------------- SELECT worker_apply_shard_ddl_command (1300004, 'public', ' ALTER TABLE test_table ADD COLUMN x INT; -')localhost 57638 coordinator_host57636 idle in transactionClient ClientRead postgres regression +')|localhost | 57638|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression SELECT worker_apply_shard_ddl_command (1300003, 'public', ' ALTER TABLE test_table ADD COLUMN x INT; -')localhost 57637 coordinator_host57636 idle in transactionClient ClientRead postgres regression +')|localhost | 57637|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression SELECT worker_apply_shard_ddl_command (1300002, 'public', ' ALTER TABLE test_table ADD COLUMN x INT; -')localhost 57638 coordinator_host57636 idle in transactionClient ClientRead postgres regression +')|localhost | 57638|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression SELECT worker_apply_shard_ddl_command (1300001, 'public', ' ALTER TABLE test_table ADD COLUMN x INT; -')localhost 57637 coordinator_host57636 idle in transactionClient ClientRead postgres regression +')|localhost | 57637|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression +(4 rows) + step s2-rollback: ROLLBACK; @@ -64,7 +72,9 @@ step s3-rollback: starting permutation: s1-cache-connections s1-begin s2-begin s3-begin s1-insert s2-sleep s2-view-dist s3-view-worker s2-rollback s1-commit s3-rollback create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-cache-connections: SET citus.max_cached_conns_per_worker TO 4; @@ -87,22 +97,28 @@ step s2-sleep: SELECT pg_sleep(0.5); pg_sleep +--------------------------------------------------------------------- +(1 row) step s2-view-dist: SELECT query, query_hostname, query_hostport, distributed_query_host_name, distributed_query_host_port, state, wait_event_type, wait_event, usename, datname FROM citus_dist_stat_activity WHERE query NOT ILIKE '%pg_prepared_xacts%' AND query NOT ILIKE '%COMMIT%' ORDER BY query DESC; -query query_hostname query_hostport distributed_query_host_namedistributed_query_host_portstate wait_event_typewait_event usename datname - +query |query_hostname |query_hostport|distributed_query_host_name|distributed_query_host_port|state |wait_event_type|wait_event|usename |datname +--------------------------------------------------------------------- INSERT INTO test_table VALUES (100, 100); -coordinator_host57636 coordinator_host57636 idle in transactionClient ClientRead postgres regression +|coordinator_host| 57636|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression +(1 row) + step s3-view-worker: SELECT query, query_hostname, query_hostport, distributed_query_host_name, distributed_query_host_port, state, wait_event_type, wait_event, usename, datname FROM citus_worker_stat_activity WHERE query NOT ILIKE '%pg_prepared_xacts%' AND query NOT ILIKE '%COMMIT%' ORDER BY query DESC; -query query_hostname query_hostport distributed_query_host_namedistributed_query_host_portstate wait_event_typewait_event usename datname +query |query_hostname|query_hostport|distributed_query_host_name|distributed_query_host_port|state |wait_event_type|wait_event|usename |datname +--------------------------------------------------------------------- +INSERT INTO public.test_table_1300008 (column1, column2) VALUES (100, 100)|localhost | 57637|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression +(1 row) -INSERT INTO public.test_table_1300008 (column1, column2) VALUES (100, 100)localhost 57637 coordinator_host57636 idle in transactionClient ClientRead postgres regression step s2-rollback: ROLLBACK; @@ -115,7 +131,9 @@ step s3-rollback: starting permutation: s1-cache-connections s1-begin s2-begin s3-begin s1-select s2-sleep s2-view-dist s3-view-worker s2-rollback s1-commit s3-rollback create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-cache-connections: SET citus.max_cached_conns_per_worker TO 4; @@ -135,31 +153,39 @@ step s1-select: SELECT count(*) FROM test_table; count +--------------------------------------------------------------------- + 0 +(1 row) -0 step s2-sleep: SELECT pg_sleep(0.5); pg_sleep +--------------------------------------------------------------------- +(1 row) step s2-view-dist: SELECT query, query_hostname, query_hostport, distributed_query_host_name, distributed_query_host_port, state, wait_event_type, wait_event, usename, datname FROM citus_dist_stat_activity WHERE query NOT ILIKE '%pg_prepared_xacts%' AND query NOT ILIKE '%COMMIT%' ORDER BY query DESC; -query query_hostname query_hostport distributed_query_host_namedistributed_query_host_portstate wait_event_typewait_event usename datname - +query |query_hostname |query_hostport|distributed_query_host_name|distributed_query_host_port|state |wait_event_type|wait_event|usename |datname +--------------------------------------------------------------------- SELECT count(*) FROM test_table; -coordinator_host57636 coordinator_host57636 idle in transactionClient ClientRead postgres regression +|coordinator_host| 57636|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression +(1 row) + step s3-view-worker: SELECT query, query_hostname, query_hostport, distributed_query_host_name, distributed_query_host_port, state, wait_event_type, wait_event, usename, datname FROM citus_worker_stat_activity WHERE query NOT ILIKE '%pg_prepared_xacts%' AND query NOT ILIKE '%COMMIT%' ORDER BY query DESC; -query query_hostname query_hostport distributed_query_host_namedistributed_query_host_portstate wait_event_typewait_event usename datname +query |query_hostname|query_hostport|distributed_query_host_name|distributed_query_host_port|state |wait_event_type|wait_event|usename |datname +--------------------------------------------------------------------- +SELECT count(*) AS count FROM public.test_table_1300014 test_table WHERE true|localhost | 57638|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression +SELECT count(*) AS count FROM public.test_table_1300013 test_table WHERE true|localhost | 57637|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression +SELECT count(*) AS count FROM public.test_table_1300012 test_table WHERE true|localhost | 57638|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression +SELECT count(*) AS count FROM public.test_table_1300011 test_table WHERE true|localhost | 57637|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression +(4 rows) -SELECT count(*) AS count FROM public.test_table_1300014 test_table WHERE truelocalhost 57638 coordinator_host57636 idle in transactionClient ClientRead postgres regression -SELECT count(*) AS count FROM public.test_table_1300013 test_table WHERE truelocalhost 57637 coordinator_host57636 idle in transactionClient ClientRead postgres regression -SELECT count(*) AS count FROM public.test_table_1300012 test_table WHERE truelocalhost 57638 coordinator_host57636 idle in transactionClient ClientRead postgres regression -SELECT count(*) AS count FROM public.test_table_1300011 test_table WHERE truelocalhost 57637 coordinator_host57636 idle in transactionClient ClientRead postgres regression step s2-rollback: ROLLBACK; @@ -172,7 +198,9 @@ step s3-rollback: starting permutation: s1-cache-connections s1-begin s2-begin s3-begin s1-select-router s2-sleep s2-view-dist s3-view-worker s2-rollback s1-commit s3-rollback create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-cache-connections: SET citus.max_cached_conns_per_worker TO 4; @@ -192,28 +220,36 @@ step s1-select-router: SELECT count(*) FROM test_table WHERE column1 = 55; count +--------------------------------------------------------------------- + 0 +(1 row) -0 step s2-sleep: SELECT pg_sleep(0.5); pg_sleep +--------------------------------------------------------------------- +(1 row) step s2-view-dist: SELECT query, query_hostname, query_hostport, distributed_query_host_name, distributed_query_host_port, state, wait_event_type, wait_event, usename, datname FROM citus_dist_stat_activity WHERE query NOT ILIKE '%pg_prepared_xacts%' AND query NOT ILIKE '%COMMIT%' ORDER BY query DESC; -query query_hostname query_hostport distributed_query_host_namedistributed_query_host_portstate wait_event_typewait_event usename datname - +query |query_hostname |query_hostport|distributed_query_host_name|distributed_query_host_port|state |wait_event_type|wait_event|usename |datname +--------------------------------------------------------------------- SELECT count(*) FROM test_table WHERE column1 = 55; -coordinator_host57636 coordinator_host57636 idle in transactionClient ClientRead postgres regression +|coordinator_host| 57636|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression +(1 row) + step s3-view-worker: SELECT query, query_hostname, query_hostport, distributed_query_host_name, distributed_query_host_port, state, wait_event_type, wait_event, usename, datname FROM citus_worker_stat_activity WHERE query NOT ILIKE '%pg_prepared_xacts%' AND query NOT ILIKE '%COMMIT%' ORDER BY query DESC; -query query_hostname query_hostport distributed_query_host_namedistributed_query_host_portstate wait_event_typewait_event usename datname +query |query_hostname|query_hostport|distributed_query_host_name|distributed_query_host_port|state |wait_event_type|wait_event|usename |datname +--------------------------------------------------------------------- +SELECT count(*) AS count FROM public.test_table_1300017 test_table WHERE (column1 OPERATOR(pg_catalog.=) 55)|localhost | 57638|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression +(1 row) -SELECT count(*) AS count FROM public.test_table_1300017 test_table WHERE (column1 OPERATOR(pg_catalog.=) 55)localhost 57638 coordinator_host57636 idle in transactionClient ClientRead postgres regression step s2-rollback: ROLLBACK; diff --git a/src/test/regress/expected/isolation_citus_update_table_statistics.out b/src/test/regress/expected/isolation_citus_update_table_statistics.out index bcb76eb9c..043b607b3 100644 --- a/src/test/regress/expected/isolation_citus_update_table_statistics.out +++ b/src/test/regress/expected/isolation_citus_update_table_statistics.out @@ -2,7 +2,9 @@ Parsed test spec with 2 sessions starting permutation: s1-begin s1-drop-table s2-citus-update-table-statistics s1-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -20,13 +22,17 @@ step s1-commit: step s2-citus-update-table-statistics: <... completed> s2: NOTICE: relation with OID XXXX does not exist, skipping citus_update_table_statistics +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-begin s1-drop-table s2-citus-shards s1-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -42,12 +48,16 @@ step s1-commit: step s2-citus-shards: <... completed> result +--------------------------------------------------------------------- + 1 +(1 row) -1 starting permutation: s2-begin s2-citus-shards s1-drop-table s2-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-begin: BEGIN; @@ -56,8 +66,10 @@ step s2-citus-shards: SELECT 1 AS result FROM citus_shards GROUP BY result; result +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-drop-table: DROP TABLE dist_table; @@ -67,7 +79,9 @@ step s2-commit: starting permutation: s2-begin s2-citus-update-table-statistics s1-drop-table s2-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-begin: BEGIN; @@ -77,8 +91,10 @@ step s2-citus-update-table-statistics: SELECT citus_update_table_statistics(logicalrelid) FROM pg_dist_partition; citus_update_table_statistics +--------------------------------------------------------------------- +(2 rows) step s1-drop-table: DROP TABLE dist_table; diff --git a/src/test/regress/expected/isolation_cluster_management.out b/src/test/regress/expected/isolation_cluster_management.out index 505157100..63488f743 100644 --- a/src/test/regress/expected/isolation_cluster_management.out +++ b/src/test/regress/expected/isolation_cluster_management.out @@ -6,8 +6,12 @@ step s1a: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 diff --git a/src/test/regress/expected/isolation_concurrent_dml.out b/src/test/regress/expected/isolation_concurrent_dml.out index a66fedd8a..32f3c6246 100644 --- a/src/test/regress/expected/isolation_concurrent_dml.out +++ b/src/test/regress/expected/isolation_concurrent_dml.out @@ -2,7 +2,9 @@ Parsed test spec with 2 sessions starting permutation: s1-begin s1-insert s2-update s1-commit master_create_worker_shards +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -20,7 +22,9 @@ step s2-update: <... completed> starting permutation: s1-insert s2-update master_create_worker_shards +--------------------------------------------------------------------- +(1 row) step s1-insert: INSERT INTO test_concurrent_dml VALUES(1); @@ -31,7 +35,9 @@ step s2-update: starting permutation: s1-begin s1-multi-insert s2-update s1-commit master_create_worker_shards +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -49,7 +55,9 @@ step s2-update: <... completed> starting permutation: s1-begin s1-multi-insert s2-multi-insert-overlap s1-commit master_create_worker_shards +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -66,7 +74,9 @@ step s1-commit: starting permutation: s1-begin s2-begin s1-multi-insert s2-multi-insert s1-commit s2-commit master_create_worker_shards +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; diff --git a/src/test/regress/expected/isolation_copy_placement_vs_copy_placement.out b/src/test/regress/expected/isolation_copy_placement_vs_copy_placement.out index edf555136..eefb896b8 100644 --- a/src/test/regress/expected/isolation_copy_placement_vs_copy_placement.out +++ b/src/test/regress/expected/isolation_copy_placement_vs_copy_placement.out @@ -17,7 +17,9 @@ step s2-repair-placement: SELECT master_copy_shard_placement((SELECT * FROM selected_shard_for_test_table), 'localhost', 57637, 'localhost', 57638); master_copy_shard_placement +--------------------------------------------------------------------- +(1 row) step s1-repair-placement: SELECT master_copy_shard_placement((SELECT * FROM selected_shard_for_test_table), 'localhost', 57637, 'localhost', 57638); @@ -39,7 +41,9 @@ step s2-repair-placement: SELECT master_copy_shard_placement((SELECT * FROM selected_shard_for_test_table), 'localhost', 57637, 'localhost', 57638); master_copy_shard_placement +--------------------------------------------------------------------- +(1 row) step s1-repair-placement: SELECT master_copy_shard_placement((SELECT * FROM selected_shard_for_test_table), 'localhost', 57637, 'localhost', 57638); diff --git a/src/test/regress/expected/isolation_copy_placement_vs_modification.out b/src/test/regress/expected/isolation_copy_placement_vs_modification.out index 36e7bdf40..ae210c7f4 100644 --- a/src/test/regress/expected/isolation_copy_placement_vs_modification.out +++ b/src/test/regress/expected/isolation_copy_placement_vs_modification.out @@ -15,8 +15,10 @@ step s1-select: SELECT count(*) FROM test_repair_placement_vs_modification WHERE x = 5; count +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-set-placement-inactive: UPDATE pg_dist_shard_placement SET shardstate = 3 WHERE shardid IN (SELECT * FROM selected_shard) AND nodeport = 57638; @@ -27,7 +29,9 @@ step s2-repair-placement: SELECT master_copy_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638); master_copy_shard_placement +--------------------------------------------------------------------- +(1 row) step s1-update: UPDATE test_repair_placement_vs_modification SET y = 5 WHERE x = 5; @@ -49,10 +53,12 @@ step s2-print-content: ORDER BY nodeport; -nodeport success result +nodeport|success|result +--------------------------------------------------------------------- + 57637|t | 5 + 57638|t | 5 +(2 rows) -57637 t 5 -57638 t 5 starting permutation: s1-load-cache s1-insert s1-begin s1-select s2-set-placement-inactive s2-begin s2-repair-placement s1-delete s2-commit s1-commit s2-print-content step s1-load-cache: @@ -69,8 +75,10 @@ step s1-select: SELECT count(*) FROM test_repair_placement_vs_modification WHERE x = 5; count +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-set-placement-inactive: UPDATE pg_dist_shard_placement SET shardstate = 3 WHERE shardid IN (SELECT * FROM selected_shard) AND nodeport = 57638; @@ -81,7 +89,9 @@ step s2-repair-placement: SELECT master_copy_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638); master_copy_shard_placement +--------------------------------------------------------------------- +(1 row) step s1-delete: DELETE FROM test_repair_placement_vs_modification WHERE x = 5; @@ -103,10 +113,12 @@ step s2-print-content: ORDER BY nodeport; -nodeport success result +nodeport|success|result +--------------------------------------------------------------------- + 57637|t | + 57638|t | +(2 rows) -57637 t -57638 t starting permutation: s1-load-cache s1-begin s1-select s2-set-placement-inactive s2-begin s2-repair-placement s1-insert s2-commit s1-commit s2-print-content step s1-load-cache: @@ -120,8 +132,10 @@ step s1-select: SELECT count(*) FROM test_repair_placement_vs_modification WHERE x = 5; count +--------------------------------------------------------------------- + 0 +(1 row) -0 step s2-set-placement-inactive: UPDATE pg_dist_shard_placement SET shardstate = 3 WHERE shardid IN (SELECT * FROM selected_shard) AND nodeport = 57638; @@ -132,7 +146,9 @@ step s2-repair-placement: SELECT master_copy_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638); master_copy_shard_placement +--------------------------------------------------------------------- +(1 row) step s1-insert: INSERT INTO test_repair_placement_vs_modification VALUES (5, 10); @@ -154,10 +170,12 @@ step s2-print-content: ORDER BY nodeport; -nodeport success result +nodeport|success|result +--------------------------------------------------------------------- + 57637|t | 10 + 57638|t | 10 +(2 rows) -57637 t 10 -57638 t 10 starting permutation: s1-load-cache s1-begin s1-select s2-set-placement-inactive s2-begin s2-repair-placement s1-copy s2-commit s1-commit s2-print-content step s1-load-cache: @@ -171,8 +189,10 @@ step s1-select: SELECT count(*) FROM test_repair_placement_vs_modification WHERE x = 5; count +--------------------------------------------------------------------- + 0 +(1 row) -0 step s2-set-placement-inactive: UPDATE pg_dist_shard_placement SET shardstate = 3 WHERE shardid IN (SELECT * FROM selected_shard) AND nodeport = 57638; @@ -183,7 +203,9 @@ step s2-repair-placement: SELECT master_copy_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638); master_copy_shard_placement +--------------------------------------------------------------------- +(1 row) step s1-copy: COPY test_repair_placement_vs_modification FROM PROGRAM 'echo 1,1 && echo 2,2 && echo 3,3 && echo 4,4 && echo 5,5' WITH CSV; @@ -205,10 +227,12 @@ step s2-print-content: ORDER BY nodeport; -nodeport success result +nodeport|success|result +--------------------------------------------------------------------- + 57637|t | 5 + 57638|t | 5 +(2 rows) -57637 t 5 -57638 t 5 starting permutation: s1-load-cache s1-begin s1-select s2-set-placement-inactive s2-begin s2-repair-placement s1-ddl s2-commit s1-commit s2-print-index-count step s1-load-cache: @@ -222,8 +246,10 @@ step s1-select: SELECT count(*) FROM test_repair_placement_vs_modification WHERE x = 5; count +--------------------------------------------------------------------- + 0 +(1 row) -0 step s2-set-placement-inactive: UPDATE pg_dist_shard_placement SET shardstate = 3 WHERE shardid IN (SELECT * FROM selected_shard) AND nodeport = 57638; @@ -234,7 +260,9 @@ step s2-repair-placement: SELECT master_copy_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638); master_copy_shard_placement +--------------------------------------------------------------------- +(1 row) step s1-ddl: CREATE INDEX test_repair_placement_vs_modification_index ON test_repair_placement_vs_modification(x); @@ -254,12 +282,14 @@ step s2-print-index-count: ORDER BY nodeport; -nodeport success result +nodeport|success|result +--------------------------------------------------------------------- + 57637|t | 1 + 57637|t | 1 + 57638|t | 1 + 57638|t | 1 +(4 rows) -57637 t 1 -57637 t 1 -57638 t 1 -57638 t 1 starting permutation: s1-insert s1-begin s1-select s2-set-placement-inactive s2-begin s2-repair-placement s1-update s2-commit s1-commit s2-print-content step s1-insert: @@ -273,8 +303,10 @@ step s1-select: SELECT count(*) FROM test_repair_placement_vs_modification WHERE x = 5; count +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-set-placement-inactive: UPDATE pg_dist_shard_placement SET shardstate = 3 WHERE shardid IN (SELECT * FROM selected_shard) AND nodeport = 57638; @@ -285,7 +317,9 @@ step s2-repair-placement: SELECT master_copy_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638); master_copy_shard_placement +--------------------------------------------------------------------- +(1 row) step s1-update: UPDATE test_repair_placement_vs_modification SET y = 5 WHERE x = 5; @@ -307,10 +341,12 @@ step s2-print-content: ORDER BY nodeport; -nodeport success result +nodeport|success|result +--------------------------------------------------------------------- + 57637|t | 5 + 57638|t | 5 +(2 rows) -57637 t 5 -57638 t 5 starting permutation: s1-insert s1-begin s1-select s2-set-placement-inactive s2-begin s2-repair-placement s1-delete s2-commit s1-commit s2-print-content step s1-insert: @@ -324,8 +360,10 @@ step s1-select: SELECT count(*) FROM test_repair_placement_vs_modification WHERE x = 5; count +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-set-placement-inactive: UPDATE pg_dist_shard_placement SET shardstate = 3 WHERE shardid IN (SELECT * FROM selected_shard) AND nodeport = 57638; @@ -336,7 +374,9 @@ step s2-repair-placement: SELECT master_copy_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638); master_copy_shard_placement +--------------------------------------------------------------------- +(1 row) step s1-delete: DELETE FROM test_repair_placement_vs_modification WHERE x = 5; @@ -358,10 +398,12 @@ step s2-print-content: ORDER BY nodeport; -nodeport success result +nodeport|success|result +--------------------------------------------------------------------- + 57637|t | + 57638|t | +(2 rows) -57637 t -57638 t starting permutation: s1-begin s1-select s2-set-placement-inactive s2-begin s2-repair-placement s1-insert s2-commit s1-commit s2-print-content step s1-begin: @@ -372,8 +414,10 @@ step s1-select: SELECT count(*) FROM test_repair_placement_vs_modification WHERE x = 5; count +--------------------------------------------------------------------- + 0 +(1 row) -0 step s2-set-placement-inactive: UPDATE pg_dist_shard_placement SET shardstate = 3 WHERE shardid IN (SELECT * FROM selected_shard) AND nodeport = 57638; @@ -384,7 +428,9 @@ step s2-repair-placement: SELECT master_copy_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638); master_copy_shard_placement +--------------------------------------------------------------------- +(1 row) step s1-insert: INSERT INTO test_repair_placement_vs_modification VALUES (5, 10); @@ -406,10 +452,12 @@ step s2-print-content: ORDER BY nodeport; -nodeport success result +nodeport|success|result +--------------------------------------------------------------------- + 57637|t | 10 + 57638|t | 10 +(2 rows) -57637 t 10 -57638 t 10 starting permutation: s1-begin s1-select s2-set-placement-inactive s2-begin s2-repair-placement s1-copy s2-commit s1-commit s2-print-content step s1-begin: @@ -420,8 +468,10 @@ step s1-select: SELECT count(*) FROM test_repair_placement_vs_modification WHERE x = 5; count +--------------------------------------------------------------------- + 0 +(1 row) -0 step s2-set-placement-inactive: UPDATE pg_dist_shard_placement SET shardstate = 3 WHERE shardid IN (SELECT * FROM selected_shard) AND nodeport = 57638; @@ -432,7 +482,9 @@ step s2-repair-placement: SELECT master_copy_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638); master_copy_shard_placement +--------------------------------------------------------------------- +(1 row) step s1-copy: COPY test_repair_placement_vs_modification FROM PROGRAM 'echo 1,1 && echo 2,2 && echo 3,3 && echo 4,4 && echo 5,5' WITH CSV; @@ -454,10 +506,12 @@ step s2-print-content: ORDER BY nodeport; -nodeport success result +nodeport|success|result +--------------------------------------------------------------------- + 57637|t | 5 + 57638|t | 5 +(2 rows) -57637 t 5 -57638 t 5 starting permutation: s1-begin s1-select s2-set-placement-inactive s2-begin s2-repair-placement s1-ddl s2-commit s1-commit s2-print-index-count step s1-begin: @@ -468,8 +522,10 @@ step s1-select: SELECT count(*) FROM test_repair_placement_vs_modification WHERE x = 5; count +--------------------------------------------------------------------- + 0 +(1 row) -0 step s2-set-placement-inactive: UPDATE pg_dist_shard_placement SET shardstate = 3 WHERE shardid IN (SELECT * FROM selected_shard) AND nodeport = 57638; @@ -480,7 +536,9 @@ step s2-repair-placement: SELECT master_copy_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638); master_copy_shard_placement +--------------------------------------------------------------------- +(1 row) step s1-ddl: CREATE INDEX test_repair_placement_vs_modification_index ON test_repair_placement_vs_modification(x); @@ -500,9 +558,11 @@ step s2-print-index-count: ORDER BY nodeport; -nodeport success result +nodeport|success|result +--------------------------------------------------------------------- + 57637|t | 1 + 57637|t | 1 + 57638|t | 1 + 57638|t | 1 +(4 rows) -57637 t 1 -57637 t 1 -57638 t 1 -57638 t 1 diff --git a/src/test/regress/expected/isolation_copy_vs_all_on_mx.out b/src/test/regress/expected/isolation_copy_vs_all_on_mx.out index 0b6debbbf..ef2fb5661 100644 --- a/src/test/regress/expected/isolation_copy_vs_all_on_mx.out +++ b/src/test/regress/expected/isolation_copy_vs_all_on_mx.out @@ -5,70 +5,94 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-copy: SELECT run_commands_on_session_level_connection_to_node('COPY copy_table FROM PROGRAM ''echo 5, 50 && echo 6, 60 && echo 7, 70''WITH CSV'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-copy: SELECT run_commands_on_session_level_connection_to_node('COPY copy_table FROM PROGRAM ''echo 5, 50 && echo 8, 80 && echo 9, 90''WITH CSV'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM copy_table; count +--------------------------------------------------------------------- + 11 +(1 row) -11 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-copy s2-begin s2-coordinator-drop s1-commit-worker s2-commit s1-stop-connection s3-select-count @@ -76,19 +100,25 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-copy: SELECT run_commands_on_session_level_connection_to_node('COPY copy_table FROM PROGRAM ''echo 5, 50 && echo 6, 60 && echo 7, 70''WITH CSV'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin: BEGIN; @@ -100,7 +130,9 @@ step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-coordinator-drop: <... completed> step s2-commit: @@ -110,14 +142,18 @@ step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM copy_table; ERROR: relation "copy_table" does not exist restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-copy s2-start-session-level-connection s2-begin-on-worker s2-select-for-update s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count @@ -125,68 +161,92 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-copy: SELECT run_commands_on_session_level_connection_to_node('COPY copy_table FROM PROGRAM ''echo 5, 50 && echo 6, 60 && echo 7, 70''WITH CSV'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-select-for-update: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM copy_table WHERE id=5 FOR UPDATE'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM copy_table; count +--------------------------------------------------------------------- + 8 +(1 row) -8 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) diff --git a/src/test/regress/expected/isolation_create_citus_local_table.out b/src/test/regress/expected/isolation_create_citus_local_table.out index 293165458..375bc6ffd 100644 --- a/src/test/regress/expected/isolation_create_citus_local_table.out +++ b/src/test/regress/expected/isolation_create_citus_local_table.out @@ -5,7 +5,9 @@ step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-create-citus-local-table-1: SELECT citus_add_local_table_to_metadata('citus_local_table_1'); citus_add_local_table_to_metadata +--------------------------------------------------------------------- +(1 row) step s2-create-citus-local-table-1: SELECT citus_add_local_table_to_metadata('citus_local_table_1'); step s1-commit: COMMIT; @@ -13,7 +15,9 @@ step s2-create-citus-local-table-1: <... completed> ERROR: relation "citus_local_table_1_xxxxxxx" is a shard relation step s2-commit: COMMIT; master_remove_node +--------------------------------------------------------------------- +(1 row) starting permutation: s1-begin s2-begin s1-create-citus-local-table-3 s2-create-citus-local-table-3 s1-commit s2-commit @@ -21,7 +25,9 @@ step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-create-citus-local-table-3: SELECT citus_add_local_table_to_metadata('another_schema.citus_local_table_3'); citus_add_local_table_to_metadata +--------------------------------------------------------------------- +(1 row) step s2-create-citus-local-table-3: SELECT citus_add_local_table_to_metadata('another_schema.citus_local_table_3'); step s1-commit: COMMIT; @@ -29,7 +35,9 @@ step s2-create-citus-local-table-3: <... completed> ERROR: relation "citus_local_table_3_xxxxxxx" is a shard relation step s2-commit: COMMIT; master_remove_node +--------------------------------------------------------------------- +(1 row) starting permutation: s1-begin s2-begin s1-create-citus-local-table-1 s2-create-citus-local-table-1 s1-rollback s2-commit @@ -37,17 +45,23 @@ step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-create-citus-local-table-1: SELECT citus_add_local_table_to_metadata('citus_local_table_1'); citus_add_local_table_to_metadata +--------------------------------------------------------------------- +(1 row) step s2-create-citus-local-table-1: SELECT citus_add_local_table_to_metadata('citus_local_table_1'); step s1-rollback: ROLLBACK; step s2-create-citus-local-table-1: <... completed> citus_add_local_table_to_metadata +--------------------------------------------------------------------- +(1 row) step s2-commit: COMMIT; master_remove_node +--------------------------------------------------------------------- +(1 row) starting permutation: s1-begin s2-begin s1-create-citus-local-table-1 s2-select s1-commit s2-commit @@ -55,16 +69,22 @@ step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-create-citus-local-table-1: SELECT citus_add_local_table_to_metadata('citus_local_table_1'); citus_add_local_table_to_metadata +--------------------------------------------------------------------- +(1 row) step s2-select: SELECT * FROM citus_local_table_1; step s1-commit: COMMIT; step s2-select: <... completed> a +- +(0 rows) step s2-commit: COMMIT; master_remove_node +--------------------------------------------------------------------- +(1 row) starting permutation: s1-begin s2-begin s1-create-citus-local-table-1 s2-update s1-commit s2-commit @@ -72,14 +92,18 @@ step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-create-citus-local-table-1: SELECT citus_add_local_table_to_metadata('citus_local_table_1'); citus_add_local_table_to_metadata +--------------------------------------------------------------------- +(1 row) step s2-update: UPDATE citus_local_table_1 SET a=1 WHERE a=2; step s1-commit: COMMIT; step s2-update: <... completed> step s2-commit: COMMIT; master_remove_node +--------------------------------------------------------------------- +(1 row) starting permutation: s1-begin s2-begin s1-create-citus-local-table-1 s2-truncate s1-commit s2-commit @@ -87,33 +111,43 @@ step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-create-citus-local-table-1: SELECT citus_add_local_table_to_metadata('citus_local_table_1'); citus_add_local_table_to_metadata +--------------------------------------------------------------------- +(1 row) step s2-truncate: TRUNCATE citus_local_table_1; step s1-commit: COMMIT; step s2-truncate: <... completed> step s2-commit: COMMIT; master_remove_node +--------------------------------------------------------------------- +(1 row) starting permutation: s2-create-citus-local-table-2 s1-begin s2-begin s1-create-citus-local-table-1 s2-fkey-to-another s1-commit s2-commit step s2-create-citus-local-table-2: SELECT citus_add_local_table_to_metadata('citus_local_table_2'); citus_add_local_table_to_metadata +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-create-citus-local-table-1: SELECT citus_add_local_table_to_metadata('citus_local_table_1'); citus_add_local_table_to_metadata +--------------------------------------------------------------------- +(1 row) step s2-fkey-to-another: ALTER TABLE citus_local_table_1 ADD CONSTRAINT fkey_c_to_c FOREIGN KEY(a) REFERENCES citus_local_table_2(a); step s1-commit: COMMIT; step s2-fkey-to-another: <... completed> step s2-commit: COMMIT; master_remove_node +--------------------------------------------------------------------- +(1 row) starting permutation: s1-begin s2-begin s1-create-citus-local-table-1 s2-remove-coordinator s1-commit s2-commit @@ -121,7 +155,9 @@ step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-create-citus-local-table-1: SELECT citus_add_local_table_to_metadata('citus_local_table_1'); citus_add_local_table_to_metadata +--------------------------------------------------------------------- +(1 row) step s2-remove-coordinator: SELECT master_remove_node('localhost', 57636); step s1-commit: COMMIT; @@ -129,7 +165,9 @@ step s2-remove-coordinator: <... completed> ERROR: cannot remove the primary node of a node group which has shard placements step s2-commit: COMMIT; master_remove_node +--------------------------------------------------------------------- +(1 row) starting permutation: s1-begin s2-begin s1-drop-table s2-create-citus-local-table-1 s1-commit s2-commit @@ -142,7 +180,9 @@ step s2-create-citus-local-table-1: <... completed> ERROR: cannot add local table to metadata, relation does not exist step s2-commit: COMMIT; master_remove_node +--------------------------------------------------------------------- +(1 row) starting permutation: s1-begin s2-begin s1-delete s2-create-citus-local-table-1 s1-commit s2-commit @@ -153,11 +193,15 @@ step s2-create-citus-local-table-1: SELECT citus_add_local_table_to_metadata('ci step s1-commit: COMMIT; step s2-create-citus-local-table-1: <... completed> citus_add_local_table_to_metadata +--------------------------------------------------------------------- +(1 row) step s2-commit: COMMIT; master_remove_node +--------------------------------------------------------------------- +(1 row) starting permutation: s1-begin s2-begin s1-select s2-create-citus-local-table-1 s1-commit s2-commit @@ -165,16 +209,22 @@ step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-select: SELECT * FROM citus_local_table_1; a +- +(0 rows) step s2-create-citus-local-table-1: SELECT citus_add_local_table_to_metadata('citus_local_table_1'); step s1-commit: COMMIT; step s2-create-citus-local-table-1: <... completed> citus_add_local_table_to_metadata +--------------------------------------------------------------------- +(1 row) step s2-commit: COMMIT; master_remove_node +--------------------------------------------------------------------- +(1 row) starting permutation: s1-begin s2-begin s1-remove-coordinator s2-create-citus-local-table-1 s1-commit s2-commit @@ -182,7 +232,9 @@ step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-remove-coordinator: SELECT master_remove_node('localhost', 57636); master_remove_node +--------------------------------------------------------------------- +(1 row) step s2-create-citus-local-table-1: SELECT citus_add_local_table_to_metadata('citus_local_table_1'); step s1-commit: COMMIT; @@ -190,26 +242,36 @@ step s2-create-citus-local-table-1: <... completed> ERROR: could not find the coordinator node in metadata as it is not added as a worker step s2-commit: COMMIT; master_remove_node +--------------------------------------------------------------------- +(0 rows) starting permutation: s1-remove-coordinator s1-begin s2-begin s1-add-coordinator s2-create-citus-local-table-1 s1-commit s2-commit step s1-remove-coordinator: SELECT master_remove_node('localhost', 57636); master_remove_node +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-add-coordinator: SELECT 1 FROM master_add_node('localhost', 57636, 0); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-create-citus-local-table-1: SELECT citus_add_local_table_to_metadata('citus_local_table_1'); step s1-commit: COMMIT; step s2-create-citus-local-table-1: <... completed> citus_add_local_table_to_metadata +--------------------------------------------------------------------- +(1 row) step s2-commit: COMMIT; master_remove_node +--------------------------------------------------------------------- +(1 row) diff --git a/src/test/regress/expected/isolation_create_distributed_table.out b/src/test/regress/expected/isolation_create_distributed_table.out index b55206d27..a44d05efe 100644 --- a/src/test/regress/expected/isolation_create_distributed_table.out +++ b/src/test/regress/expected/isolation_create_distributed_table.out @@ -11,7 +11,9 @@ step s1-create_distributed_table: SELECT create_distributed_table('table_to_distribute', 'id'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-create_distributed_table: SELECT create_distributed_table('table_to_distribute', 'id'); @@ -36,7 +38,9 @@ step s1-create_distributed_table: SELECT create_distributed_table('table_to_distribute', 'id'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-copy_to_local_table: COPY table_to_distribute FROM PROGRAM 'echo 0 && echo 1 && echo 2 && echo 3 && echo 4 && echo 5 && echo 6 && echo 7 && echo 8'; @@ -67,7 +71,9 @@ step s2-commit: step s1-create_distributed_table: <... completed> create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-commit: COMMIT; @@ -87,7 +93,9 @@ step s1-create_distributed_table: SELECT create_distributed_table('table_to_distribute', 'id'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-create_distributed_table: SELECT create_distributed_table('table_to_distribute', 'id'); diff --git a/src/test/regress/expected/isolation_create_restore_point.out b/src/test/regress/expected/isolation_create_restore_point.out index b39c1f387..28e8e212b 100644 --- a/src/test/regress/expected/isolation_create_restore_point.out +++ b/src/test/regress/expected/isolation_create_restore_point.out @@ -2,7 +2,9 @@ Parsed test spec with 2 sessions starting permutation: s1-begin s1-create-distributed s2-create-restore s1-commit create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -13,7 +15,9 @@ step s1-create-distributed: SELECT create_distributed_table('test_create_distributed_table', 'test_id'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-create-restore: SELECT 1 FROM citus_create_restore_point('citus-test'); @@ -23,12 +27,16 @@ step s1-commit: step s2-create-restore: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 starting permutation: s1-begin s1-insert s2-create-restore s1-commit create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -41,15 +49,19 @@ step s2-create-restore: SELECT 1 FROM citus_create_restore_point('citus-test'); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-commit: COMMIT; starting permutation: s1-begin s1-modify-multiple s2-create-restore s1-commit create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -62,15 +74,19 @@ step s2-create-restore: SELECT 1 FROM citus_create_restore_point('citus-test'); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-commit: COMMIT; starting permutation: s1-begin s1-ddl s2-create-restore s1-commit create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -87,12 +103,16 @@ step s1-commit: step s2-create-restore: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 starting permutation: s1-begin s1-copy s2-create-restore s1-commit create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -105,15 +125,19 @@ step s2-create-restore: SELECT 1 FROM citus_create_restore_point('citus-test'); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-commit: COMMIT; starting permutation: s1-begin s1-recover s2-create-restore s1-commit create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -123,8 +147,10 @@ step s1-recover: SELECT recover_prepared_transactions(); recover_prepared_transactions +--------------------------------------------------------------------- + 0 +(1 row) -0 step s2-create-restore: SELECT 1 FROM citus_create_restore_point('citus-test'); @@ -133,12 +159,16 @@ step s1-commit: step s2-create-restore: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 starting permutation: s1-begin s1-drop s2-create-restore s1-commit create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -155,12 +185,16 @@ step s1-commit: step s2-create-restore: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 starting permutation: s1-begin s1-add-node s2-create-restore s1-commit create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -170,8 +204,10 @@ step s1-add-node: SELECT 1 FROM master_add_inactive_node('localhost', 9999); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-create-restore: SELECT 1 FROM citus_create_restore_point('citus-test'); @@ -180,12 +216,16 @@ step s1-commit: step s2-create-restore: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 starting permutation: s1-begin s1-remove-node s2-create-restore s1-commit create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -195,7 +235,9 @@ step s1-remove-node: SELECT master_remove_node('localhost', 9999); master_remove_node +--------------------------------------------------------------------- +(1 row) step s2-create-restore: SELECT 1 FROM citus_create_restore_point('citus-test'); @@ -205,12 +247,16 @@ step s1-commit: step s2-create-restore: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 starting permutation: s1-begin s1-create-restore s2-create-restore s1-commit create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -220,8 +266,10 @@ step s1-create-restore: SELECT 1 FROM citus_create_restore_point('citus-test-2'); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-create-restore: SELECT 1 FROM citus_create_restore_point('citus-test'); @@ -230,12 +278,16 @@ step s1-commit: step s2-create-restore: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 starting permutation: s2-begin s2-create-restore s1-modify-multiple s2-commit create_reference_table +--------------------------------------------------------------------- +(1 row) step s2-begin: BEGIN; @@ -244,8 +296,10 @@ step s2-create-restore: SELECT 1 FROM citus_create_restore_point('citus-test'); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-modify-multiple: UPDATE restore_table SET data = 'world'; @@ -256,7 +310,9 @@ step s1-modify-multiple: <... completed> starting permutation: s2-begin s2-create-restore s1-ddl s2-commit create_reference_table +--------------------------------------------------------------------- +(1 row) step s2-begin: BEGIN; @@ -265,8 +321,10 @@ step s2-create-restore: SELECT 1 FROM citus_create_restore_point('citus-test'); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-ddl: ALTER TABLE restore_table ADD COLUMN x int; @@ -277,7 +335,9 @@ step s1-ddl: <... completed> starting permutation: s2-begin s2-create-restore s1-multi-statement s2-commit create_reference_table +--------------------------------------------------------------------- +(1 row) step s2-begin: BEGIN; @@ -286,8 +346,10 @@ step s2-create-restore: SELECT 1 FROM citus_create_restore_point('citus-test'); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-multi-statement: SET citus.multi_shard_commit_protocol TO '2pc'; BEGIN; @@ -302,7 +364,9 @@ step s1-multi-statement: <... completed> starting permutation: s1-begin s1-create-reference s2-create-restore s1-commit create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -313,7 +377,9 @@ step s1-create-reference: SELECT create_reference_table('test_create_reference_table'); create_reference_table +--------------------------------------------------------------------- +(1 row) step s2-create-restore: SELECT 1 FROM citus_create_restore_point('citus-test'); @@ -323,12 +389,16 @@ step s1-commit: step s2-create-restore: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 starting permutation: s1-begin s1-insert-ref s2-create-restore s1-commit create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -341,15 +411,19 @@ step s2-create-restore: SELECT 1 FROM citus_create_restore_point('citus-test'); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-commit: COMMIT; starting permutation: s1-begin s1-modify-multiple-ref s2-create-restore s1-commit create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -362,15 +436,19 @@ step s2-create-restore: SELECT 1 FROM citus_create_restore_point('citus-test'); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-commit: COMMIT; starting permutation: s1-begin s1-ddl-ref s2-create-restore s1-commit create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -387,12 +465,16 @@ step s1-commit: step s2-create-restore: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 starting permutation: s1-begin s1-copy-ref s2-create-restore s1-commit create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -405,15 +487,19 @@ step s2-create-restore: SELECT 1 FROM citus_create_restore_point('citus-test'); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-commit: COMMIT; starting permutation: s1-begin s1-drop-ref s2-create-restore s1-commit create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -430,12 +516,16 @@ step s1-commit: step s2-create-restore: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 starting permutation: s2-begin s2-create-restore s1-modify-multiple-ref s2-commit create_reference_table +--------------------------------------------------------------------- +(1 row) step s2-begin: BEGIN; @@ -444,8 +534,10 @@ step s2-create-restore: SELECT 1 FROM citus_create_restore_point('citus-test'); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-modify-multiple-ref: UPDATE restore_ref_table SET data = 'world'; @@ -456,7 +548,9 @@ step s1-modify-multiple-ref: <... completed> starting permutation: s2-begin s2-create-restore s1-ddl-ref s2-commit create_reference_table +--------------------------------------------------------------------- +(1 row) step s2-begin: BEGIN; @@ -465,8 +559,10 @@ step s2-create-restore: SELECT 1 FROM citus_create_restore_point('citus-test'); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-ddl-ref: ALTER TABLE restore_ref_table ADD COLUMN x int; @@ -477,7 +573,9 @@ step s1-ddl-ref: <... completed> starting permutation: s2-begin s2-create-restore s1-multi-statement-ref s2-commit create_reference_table +--------------------------------------------------------------------- +(1 row) step s2-begin: BEGIN; @@ -486,8 +584,10 @@ step s2-create-restore: SELECT 1 FROM citus_create_restore_point('citus-test'); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-multi-statement-ref: SET citus.multi_shard_commit_protocol TO '2pc'; BEGIN; diff --git a/src/test/regress/expected/isolation_create_table_vs_add_remove_node.out b/src/test/regress/expected/isolation_create_table_vs_add_remove_node.out index 832c1e40e..8ea0325e9 100644 --- a/src/test/regress/expected/isolation_create_table_vs_add_remove_node.out +++ b/src/test/regress/expected/isolation_create_table_vs_add_remove_node.out @@ -1,9 +1,11 @@ Parsed test spec with 2 sessions starting permutation: s1-begin s1-add-node-2 s2-create-table-1 s1-commit s1-show-placements s2-select -node_name node_port +node_name|node_port +--------------------------------------------------------------------- +localhost| 57637 +(1 row) -localhost 57637 step s1-begin: BEGIN; @@ -11,8 +13,10 @@ step s1-add-node-2: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-create-table-1: SET citus.shard_count TO 4; SET citus.shard_replication_factor TO 1; @@ -24,7 +28,9 @@ step s1-commit: step s2-create-table-1: <... completed> create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-show-placements: SELECT @@ -36,26 +42,34 @@ step s1-show-placements: ORDER BY nodename, nodeport; -nodename nodeport +nodename |nodeport +--------------------------------------------------------------------- +localhost| 57637 +localhost| 57637 +localhost| 57638 +localhost| 57638 +(4 rows) -localhost 57637 -localhost 57637 -localhost 57638 -localhost 57638 step s2-select: SELECT * FROM dist_table; -x y +x|y +--------------------------------------------------------------------- +(0 rows) master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-begin s1-add-node-2 s2-create-table-1 s1-abort s1-show-placements s2-select -node_name node_port +node_name|node_port +--------------------------------------------------------------------- +localhost| 57637 +(1 row) -localhost 57637 step s1-begin: BEGIN; @@ -63,8 +77,10 @@ step s1-add-node-2: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-create-table-1: SET citus.shard_count TO 4; SET citus.shard_replication_factor TO 1; @@ -76,7 +92,9 @@ step s1-abort: step s2-create-table-1: <... completed> create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-show-placements: SELECT @@ -88,25 +106,33 @@ step s1-show-placements: ORDER BY nodename, nodeport; -nodename nodeport +nodename |nodeport +--------------------------------------------------------------------- +localhost| 57637 +localhost| 57637 +localhost| 57637 +localhost| 57637 +(4 rows) -localhost 57637 -localhost 57637 -localhost 57637 -localhost 57637 step s2-select: SELECT * FROM dist_table; -x y +x|y +--------------------------------------------------------------------- +(0 rows) master_remove_node +--------------------------------------------------------------------- +(1 row) starting permutation: s2-begin s2-create-table-1 s1-add-node-2 s2-commit s1-show-placements s2-select -node_name node_port +node_name|node_port +--------------------------------------------------------------------- +localhost| 57637 +(1 row) -localhost 57637 step s2-begin: BEGIN; @@ -117,7 +143,9 @@ step s2-create-table-1: SELECT create_distributed_table('dist_table', 'x'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-add-node-2: SELECT 1 FROM master_add_node('localhost', 57638); @@ -127,8 +155,10 @@ step s2-commit: step s1-add-node-2: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-show-placements: SELECT nodename, nodeport @@ -139,32 +169,42 @@ step s1-show-placements: ORDER BY nodename, nodeport; -nodename nodeport +nodename |nodeport +--------------------------------------------------------------------- +localhost| 57637 +localhost| 57637 +localhost| 57637 +localhost| 57637 +(4 rows) -localhost 57637 -localhost 57637 -localhost 57637 -localhost 57637 step s2-select: SELECT * FROM dist_table; -x y +x|y +--------------------------------------------------------------------- +(0 rows) master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-add-node-2 s1-begin s1-remove-node-2 s2-create-table-1 s1-commit s1-show-placements s2-select -node_name node_port +node_name|node_port +--------------------------------------------------------------------- +localhost| 57637 +(1 row) -localhost 57637 step s1-add-node-2: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: BEGIN; @@ -172,7 +212,9 @@ step s1-remove-node-2: SELECT * FROM master_remove_node('localhost', 57638); master_remove_node +--------------------------------------------------------------------- +(1 row) step s2-create-table-1: SET citus.shard_count TO 4; @@ -185,7 +227,9 @@ step s1-commit: step s2-create-table-1: <... completed> create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-show-placements: SELECT @@ -197,31 +241,41 @@ step s1-show-placements: ORDER BY nodename, nodeport; -nodename nodeport +nodename |nodeport +--------------------------------------------------------------------- +localhost| 57637 +localhost| 57637 +localhost| 57637 +localhost| 57637 +(4 rows) -localhost 57637 -localhost 57637 -localhost 57637 -localhost 57637 step s2-select: SELECT * FROM dist_table; -x y +x|y +--------------------------------------------------------------------- +(0 rows) master_remove_node +--------------------------------------------------------------------- +(1 row) starting permutation: s1-add-node-2 s1-begin s1-remove-node-2 s2-create-table-1 s1-abort s1-show-placements s2-select -node_name node_port +node_name|node_port +--------------------------------------------------------------------- +localhost| 57637 +(1 row) -localhost 57637 step s1-add-node-2: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: BEGIN; @@ -229,7 +283,9 @@ step s1-remove-node-2: SELECT * FROM master_remove_node('localhost', 57638); master_remove_node +--------------------------------------------------------------------- +(1 row) step s2-create-table-1: SET citus.shard_count TO 4; @@ -242,7 +298,9 @@ step s1-abort: step s2-create-table-1: <... completed> create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-show-placements: SELECT @@ -254,32 +312,42 @@ step s1-show-placements: ORDER BY nodename, nodeport; -nodename nodeport +nodename |nodeport +--------------------------------------------------------------------- +localhost| 57637 +localhost| 57637 +localhost| 57638 +localhost| 57638 +(4 rows) -localhost 57637 -localhost 57637 -localhost 57638 -localhost 57638 step s2-select: SELECT * FROM dist_table; -x y +x|y +--------------------------------------------------------------------- +(0 rows) master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-add-node-2 s2-begin s2-create-table-1 s1-remove-node-2 s2-commit s1-show-placements s2-select -node_name node_port +node_name|node_port +--------------------------------------------------------------------- +localhost| 57637 +(1 row) -localhost 57637 step s1-add-node-2: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-begin: BEGIN; @@ -290,7 +358,9 @@ step s2-create-table-1: SELECT create_distributed_table('dist_table', 'x'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-remove-node-2: SELECT * FROM master_remove_node('localhost', 57638); @@ -310,32 +380,42 @@ step s1-show-placements: ORDER BY nodename, nodeport; -nodename nodeport +nodename |nodeport +--------------------------------------------------------------------- +localhost| 57637 +localhost| 57637 +localhost| 57638 +localhost| 57638 +(4 rows) -localhost 57637 -localhost 57637 -localhost 57638 -localhost 57638 step s2-select: SELECT * FROM dist_table; -x y +x|y +--------------------------------------------------------------------- +(0 rows) master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-add-node-2 s1-begin s1-remove-node-2 s2-create-table-2 s1-commit s2-select -node_name node_port +node_name|node_port +--------------------------------------------------------------------- +localhost| 57637 +(1 row) -localhost 57637 step s1-add-node-2: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: BEGIN; @@ -343,7 +423,9 @@ step s1-remove-node-2: SELECT * FROM master_remove_node('localhost', 57638); master_remove_node +--------------------------------------------------------------------- +(1 row) step s2-create-table-2: SET citus.shard_count TO 4; @@ -361,19 +443,25 @@ step s2-select: ERROR: relation "dist_table" does not exist master_remove_node +--------------------------------------------------------------------- +(1 row) starting permutation: s1-add-node-2 s2-begin s2-create-table-2 s1-remove-node-2 s2-commit s2-select -node_name node_port +node_name|node_port +--------------------------------------------------------------------- +localhost| 57637 +(1 row) -localhost 57637 step s1-add-node-2: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-begin: BEGIN; @@ -384,7 +472,9 @@ step s2-create-table-2: SELECT create_distributed_table('dist_table', 'x'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-remove-node-2: SELECT * FROM master_remove_node('localhost', 57638); @@ -397,23 +487,31 @@ ERROR: cannot remove the primary node of a node group which has shard placement step s2-select: SELECT * FROM dist_table; -x y +x|y +--------------------------------------------------------------------- +(0 rows) master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-add-node-2 s1-begin s1-remove-node-2 s2-create-append-table s1-commit s2-select -node_name node_port +node_name|node_port +--------------------------------------------------------------------- +localhost| 57637 +(1 row) -localhost 57637 step s1-add-node-2: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: BEGIN; @@ -421,7 +519,9 @@ step s1-remove-node-2: SELECT * FROM master_remove_node('localhost', 57638); master_remove_node +--------------------------------------------------------------------- +(1 row) step s2-create-append-table: SET citus.shard_replication_factor TO 1; @@ -434,30 +534,42 @@ step s1-commit: step s2-create-append-table: <... completed> create_distributed_table +--------------------------------------------------------------------- +(1 row) ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-select: SELECT * FROM dist_table; -x y +x|y +--------------------------------------------------------------------- +(0 rows) master_remove_node +--------------------------------------------------------------------- +(1 row) starting permutation: s1-add-node-2 s2-begin s2-create-append-table s1-remove-node-2 s2-commit s2-select -node_name node_port +node_name|node_port +--------------------------------------------------------------------- +localhost| 57637 +(1 row) -localhost 57637 step s1-add-node-2: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-begin: BEGIN; @@ -468,11 +580,15 @@ step s2-create-append-table: SELECT 1 FROM master_create_empty_shard('dist_table'); create_distributed_table +--------------------------------------------------------------------- +(1 row) ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-remove-node-2: SELECT * FROM master_remove_node('localhost', 57638); @@ -484,9 +600,13 @@ ERROR: cannot remove the primary node of a node group which has shard placement step s2-select: SELECT * FROM dist_table; -x y +x|y +--------------------------------------------------------------------- +(0 rows) master_remove_node +--------------------------------------------------------------------- +(2 rows) diff --git a/src/test/regress/expected/isolation_data_migration.out b/src/test/regress/expected/isolation_data_migration.out index 9c82a85f9..41310ba43 100644 --- a/src/test/regress/expected/isolation_data_migration.out +++ b/src/test/regress/expected/isolation_data_migration.out @@ -15,14 +15,18 @@ step s2-commit: step s1-create_distributed_table: <... completed> create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-select: SELECT * FROM migration_table ORDER BY test_id; -test_id data +test_id|data +--------------------------------------------------------------------- + 1|hello +(1 row) -1 hello starting permutation: s1-begin s1-create_distributed_table s2-copy s1-commit s2-select step s1-begin: @@ -32,7 +36,9 @@ step s1-create_distributed_table: SELECT create_distributed_table('migration_table', 'test_id'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-copy: COPY migration_table FROM PROGRAM 'echo 1,hello' WITH CSV; @@ -44,9 +50,11 @@ step s2-copy: <... completed> step s2-select: SELECT * FROM migration_table ORDER BY test_id; -test_id data +test_id|data +--------------------------------------------------------------------- + 1|hello +(1 row) -1 hello starting permutation: s2-begin s2-insert s1-create_distributed_table s2-commit s2-select step s2-begin: @@ -63,14 +71,18 @@ step s2-commit: step s1-create_distributed_table: <... completed> create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-select: SELECT * FROM migration_table ORDER BY test_id; -test_id data +test_id|data +--------------------------------------------------------------------- + 1|hello +(1 row) -1 hello starting permutation: s1-begin s1-create_distributed_table s2-insert s1-commit s2-select step s1-begin: @@ -80,7 +92,9 @@ step s1-create_distributed_table: SELECT create_distributed_table('migration_table', 'test_id'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-insert: INSERT INTO migration_table VALUES (1, 'hello'); @@ -92,9 +106,11 @@ step s2-insert: <... completed> step s2-select: SELECT * FROM migration_table ORDER BY test_id; -test_id data +test_id|data +--------------------------------------------------------------------- + 1|hello +(1 row) -1 hello starting permutation: s1-begin-serializable s2-copy s1-create_distributed_table s1-commit s2-select step s1-begin-serializable: @@ -102,8 +118,10 @@ step s1-begin-serializable: SELECT 1; ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-copy: COPY migration_table FROM PROGRAM 'echo 1,hello' WITH CSV; @@ -111,7 +129,9 @@ step s1-create_distributed_table: SELECT create_distributed_table('migration_table', 'test_id'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-commit: COMMIT; @@ -119,9 +139,11 @@ step s1-commit: step s2-select: SELECT * FROM migration_table ORDER BY test_id; -test_id data +test_id|data +--------------------------------------------------------------------- + 1|hello +(1 row) -1 hello starting permutation: s1-begin-serializable s2-insert s1-create_distributed_table s1-commit s2-select step s1-begin-serializable: @@ -129,8 +151,10 @@ step s1-begin-serializable: SELECT 1; ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-insert: INSERT INTO migration_table VALUES (1, 'hello'); @@ -138,7 +162,9 @@ step s1-create_distributed_table: SELECT create_distributed_table('migration_table', 'test_id'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-commit: COMMIT; @@ -146,6 +172,8 @@ step s1-commit: step s2-select: SELECT * FROM migration_table ORDER BY test_id; -test_id data +test_id|data +--------------------------------------------------------------------- + 1|hello +(1 row) -1 hello diff --git a/src/test/regress/expected/isolation_ddl_vs_all.out b/src/test/regress/expected/isolation_ddl_vs_all.out index 722b72f50..37aff5737 100644 --- a/src/test/regress/expected/isolation_ddl_vs_all.out +++ b/src/test/regress/expected/isolation_ddl_vs_all.out @@ -2,7 +2,9 @@ Parsed test spec with 2 sessions starting permutation: s1-initialize s1-begin s2-begin s1-ddl-create-index s2-ddl-create-index s1-commit s2-commit s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -15,16 +17,22 @@ ERROR: duplicate key value violates unique constraint "pg_class_relname_nsp_ind step s2-commit: COMMIT; step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''ddl_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s1-ddl-create-index s2-ddl-create-index-concurrently s1-commit s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -35,16 +43,22 @@ step s2-ddl-create-index-concurrently: <... completed> ERROR: relation "ddl_hash_index" already exists step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''ddl_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-ddl-create-index s2-ddl-add-column s1-commit s2-commit s1-show-indexes s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -56,21 +70,29 @@ step s2-ddl-add-column: <... completed> step s2-commit: COMMIT; step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''ddl_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) +(2 rows) + step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-ddl-create-index s2-ddl-rename-column s1-commit s2-commit s1-show-indexes s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -82,21 +104,29 @@ step s2-ddl-rename-column: <... completed> step s2-commit: COMMIT; step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''ddl_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) +(2 rows) + step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-ddl-add-column s2-ddl-create-index s1-commit s2-commit s1-show-columns s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -108,21 +138,29 @@ step s2-ddl-create-index: <... completed> step s2-commit: COMMIT; step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") +(2 rows) + step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''ddl_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s1-ddl-add-column s2-ddl-create-index-concurrently s1-commit s1-show-columns s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -132,21 +170,29 @@ step s1-commit: COMMIT; step s2-ddl-create-index-concurrently: <... completed> step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") +(2 rows) + step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''ddl_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-ddl-add-column s2-ddl-add-column s1-commit s2-commit s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -158,16 +204,22 @@ step s2-ddl-add-column: <... completed> step s2-commit: COMMIT; step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-ddl-add-column s2-ddl-rename-column s1-commit s2-commit s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -179,16 +231,22 @@ step s2-ddl-rename-column: <... completed> step s2-commit: COMMIT; step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-ddl-rename-column s2-ddl-create-index s1-commit s2-commit s1-show-columns s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -200,21 +258,29 @@ step s2-ddl-create-index: <... completed> step s2-commit: COMMIT; step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''ddl_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s1-ddl-rename-column s2-ddl-create-index-concurrently s1-commit s1-show-columns s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -224,21 +290,29 @@ step s1-commit: COMMIT; step s2-ddl-create-index-concurrently: <... completed> step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''ddl_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-ddl-rename-column s2-ddl-add-column s1-commit s2-commit s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -250,16 +324,22 @@ step s2-ddl-add-column: <... completed> step s2-commit: COMMIT; step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-ddl-rename-column s2-ddl-rename-column s1-commit s2-commit s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -272,16 +352,22 @@ ERROR: column "data" does not exist step s2-commit: COMMIT; step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-ddl-create-index s2-table-size s1-commit s2-commit s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -289,22 +375,30 @@ step s2-begin: BEGIN; step s1-ddl-create-index: CREATE INDEX ddl_hash_index ON ddl_hash(id); step s2-table-size: SELECT citus_total_relation_size('ddl_hash'); citus_total_relation_size +--------------------------------------------------------------------- + 57344 +(1 row) -57344 step s1-commit: COMMIT; step s2-commit: COMMIT; step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''ddl_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-ddl-create-index s2-master-modify-multiple-shards s1-commit s2-commit s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -316,16 +410,22 @@ step s2-master-modify-multiple-shards: <... completed> step s2-commit: COMMIT; step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''ddl_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s2-begin s1-ddl-create-index s2-distribute-table s1-commit s2-commit s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop: DROP TABLE ddl_hash; step s1-create-non-distributed-table: CREATE TABLE ddl_hash(id integer, data text); COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -337,21 +437,29 @@ step s2-distribute-table: SELECT create_distributed_table('ddl_hash', 'id'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-commit: COMMIT; step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''ddl_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,4) (localhost,57638,t,4) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-ddl-add-column s2-table-size s1-commit s2-commit s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -361,21 +469,29 @@ step s2-table-size: SELECT citus_total_relation_size('ddl_hash'); step s1-commit: COMMIT; step s2-table-size: <... completed> citus_total_relation_size +--------------------------------------------------------------------- + 57344 +(1 row) -57344 step s2-commit: COMMIT; step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-ddl-add-column s2-master-modify-multiple-shards s1-commit s2-commit s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -387,16 +503,22 @@ step s2-master-modify-multiple-shards: <... completed> step s2-commit: COMMIT; step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s2-begin s1-ddl-add-column s2-distribute-table s1-commit s2-commit s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop: DROP TABLE ddl_hash; step s1-create-non-distributed-table: CREATE TABLE ddl_hash(id integer, data text); COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -408,21 +530,29 @@ step s2-distribute-table: SELECT create_distributed_table('ddl_hash', 'id'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-commit: COMMIT; step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-ddl-rename-column s2-table-size s1-commit s2-commit s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -432,21 +562,29 @@ step s2-table-size: SELECT citus_total_relation_size('ddl_hash'); step s1-commit: COMMIT; step s2-table-size: <... completed> citus_total_relation_size +--------------------------------------------------------------------- + 57344 +(1 row) -57344 step s2-commit: COMMIT; step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-ddl-rename-column s2-master-modify-multiple-shards s1-commit s2-commit s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -458,16 +596,22 @@ step s2-master-modify-multiple-shards: <... completed> step s2-commit: COMMIT; step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s2-begin s1-ddl-rename-column s2-distribute-table s1-commit s2-commit s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop: DROP TABLE ddl_hash; step s1-create-non-distributed-table: CREATE TABLE ddl_hash(id integer, data text); COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -479,44 +623,60 @@ step s2-distribute-table: SELECT create_distributed_table('ddl_hash', 'id'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-commit: COMMIT; step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-table-size s2-ddl-create-index s1-commit s2-commit s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-table-size: SELECT citus_total_relation_size('ddl_hash'); citus_total_relation_size +--------------------------------------------------------------------- + 57344 +(1 row) -57344 step s2-ddl-create-index: CREATE INDEX ddl_hash_index ON ddl_hash(id); step s1-commit: COMMIT; step s2-commit: COMMIT; step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''ddl_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-master-modify-multiple-shards s2-ddl-create-index s1-commit s2-commit s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -528,16 +688,22 @@ step s2-ddl-create-index: <... completed> step s2-commit: COMMIT; step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''ddl_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s2-begin s1-distribute-table s2-ddl-create-index s1-commit s2-commit s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop: DROP TABLE ddl_hash; step s1-create-non-distributed-table: CREATE TABLE ddl_hash(id integer, data text); COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -546,7 +712,9 @@ step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-distribute-table: SELECT create_distributed_table('ddl_hash', 'id'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-ddl-create-index: CREATE INDEX ddl_hash_index ON ddl_hash(id); step s1-commit: COMMIT; @@ -554,37 +722,51 @@ step s2-ddl-create-index: <... completed> step s2-commit: COMMIT; step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''ddl_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,4) (localhost,57638,t,4) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s1-table-size s2-ddl-create-index-concurrently s1-commit s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; step s1-table-size: SELECT citus_total_relation_size('ddl_hash'); citus_total_relation_size +--------------------------------------------------------------------- + 57344 +(1 row) -57344 step s2-ddl-create-index-concurrently: CREATE INDEX CONCURRENTLY ddl_hash_index ON ddl_hash(id); step s1-commit: COMMIT; step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''ddl_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s1-master-modify-multiple-shards s2-ddl-create-index-concurrently s1-commit s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -594,16 +776,22 @@ step s1-commit: COMMIT; step s2-ddl-create-index-concurrently: <... completed> step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''ddl_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s1-distribute-table s2-ddl-create-index-concurrently s1-commit s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop: DROP TABLE ddl_hash; step s1-create-non-distributed-table: CREATE TABLE ddl_hash(id integer, data text); COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -611,46 +799,62 @@ step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2 step s1-begin: BEGIN; step s1-distribute-table: SELECT create_distributed_table('ddl_hash', 'id'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-ddl-create-index-concurrently: CREATE INDEX CONCURRENTLY ddl_hash_index ON ddl_hash(id); step s1-commit: COMMIT; step s2-ddl-create-index-concurrently: <... completed> step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''ddl_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,4) (localhost,57638,t,4) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-table-size s2-ddl-add-column s1-commit s2-commit s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-table-size: SELECT citus_total_relation_size('ddl_hash'); citus_total_relation_size +--------------------------------------------------------------------- + 57344 +(1 row) -57344 step s2-ddl-add-column: ALTER TABLE ddl_hash ADD new_column_2 int DEFAULT 0; step s1-commit: COMMIT; step s2-commit: COMMIT; step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-master-modify-multiple-shards s2-ddl-add-column s1-commit s2-commit s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -662,16 +866,22 @@ step s2-ddl-add-column: <... completed> step s2-commit: COMMIT; step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s2-begin s1-distribute-table s2-ddl-add-column s1-commit s2-commit s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop: DROP TABLE ddl_hash; step s1-create-non-distributed-table: CREATE TABLE ddl_hash(id integer, data text); COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -680,7 +890,9 @@ step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-distribute-table: SELECT create_distributed_table('ddl_hash', 'id'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-ddl-add-column: ALTER TABLE ddl_hash ADD new_column_2 int DEFAULT 0; step s1-commit: COMMIT; @@ -688,39 +900,53 @@ step s2-ddl-add-column: <... completed> step s2-commit: COMMIT; step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-table-size s2-ddl-rename-column s1-commit s2-commit s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-table-size: SELECT citus_total_relation_size('ddl_hash'); citus_total_relation_size +--------------------------------------------------------------------- + 57344 +(1 row) -57344 step s2-ddl-rename-column: ALTER TABLE ddl_hash RENAME data TO new_column; step s1-commit: COMMIT; step s2-commit: COMMIT; step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-master-modify-multiple-shards s2-ddl-rename-column s1-commit s2-commit s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -732,16 +958,22 @@ step s2-ddl-rename-column: <... completed> step s2-commit: COMMIT; step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s2-begin s1-distribute-table s2-ddl-rename-column s1-commit s2-commit s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop: DROP TABLE ddl_hash; step s1-create-non-distributed-table: CREATE TABLE ddl_hash(id integer, data text); COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -750,7 +982,9 @@ step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-distribute-table: SELECT create_distributed_table('ddl_hash', 'id'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-ddl-rename-column: ALTER TABLE ddl_hash RENAME data TO new_column; step s1-commit: COMMIT; @@ -758,9 +992,13 @@ step s2-ddl-rename-column: <... completed> step s2-commit: COMMIT; step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) diff --git a/src/test/regress/expected/isolation_delete_vs_all.out b/src/test/regress/expected/isolation_delete_vs_all.out index ab614187d..3ff50f909 100644 --- a/src/test/regress/expected/isolation_delete_vs_all.out +++ b/src/test/regress/expected/isolation_delete_vs_all.out @@ -2,7 +2,9 @@ Parsed test spec with 2 sessions starting permutation: s1-initialize s1-begin s2-begin s1-delete s2-delete s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -14,15 +16,21 @@ step s2-delete: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM delete_hash; count +--------------------------------------------------------------------- + 4 +(1 row) -4 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-delete s2-truncate s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -34,15 +42,21 @@ step s2-truncate: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM delete_hash; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-delete s2-drop s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -55,12 +69,16 @@ step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM delete_hash; ERROR: relation "delete_hash" does not exist restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-delete s2-ddl-create-index s1-commit s2-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -72,20 +90,28 @@ step s2-ddl-create-index: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM delete_hash; count +--------------------------------------------------------------------- + 4 +(1 row) -4 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''delete_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-ddl-create-index s1-begin s2-begin s1-delete s2-ddl-drop-index s1-commit s2-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-ddl-create-index: CREATE INDEX delete_hash_index ON delete_hash(id); @@ -98,20 +124,28 @@ step s2-ddl-drop-index: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM delete_hash; count +--------------------------------------------------------------------- + 4 +(1 row) -4 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''delete_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s1-delete s2-ddl-create-index-concurrently s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -121,20 +155,28 @@ step s1-commit: COMMIT; step s2-ddl-create-index-concurrently: <... completed> step s1-select-count: SELECT COUNT(*) FROM delete_hash; count +--------------------------------------------------------------------- + 4 +(1 row) -4 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''delete_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-delete s2-ddl-add-column s1-commit s2-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -146,20 +188,28 @@ step s2-ddl-add-column: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM delete_hash; count +--------------------------------------------------------------------- + 4 +(1 row) -4 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''delete_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-ddl-add-column s1-begin s2-begin s1-delete s2-ddl-drop-column s1-commit s2-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-ddl-add-column: ALTER TABLE delete_hash ADD new_column int DEFAULT 0; @@ -172,20 +222,28 @@ step s2-ddl-drop-column: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM delete_hash; count +--------------------------------------------------------------------- + 4 +(1 row) -4 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''delete_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-delete s2-ddl-rename-column s1-commit s2-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -197,20 +255,28 @@ step s2-ddl-rename-column: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM delete_hash; count +--------------------------------------------------------------------- + 4 +(1 row) -4 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''delete_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-delete s2-table-size s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -218,21 +284,29 @@ step s2-begin: BEGIN; step s1-delete: DELETE FROM delete_hash WHERE id = 4; step s2-table-size: SELECT citus_total_relation_size('delete_hash'); citus_total_relation_size +--------------------------------------------------------------------- + 57344 +(1 row) -57344 step s1-commit: COMMIT; step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM delete_hash; count +--------------------------------------------------------------------- + 4 +(1 row) -4 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s2-begin s1-delete s2-distribute-table s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop: DROP TABLE delete_hash; step s1-create-non-distributed-table: CREATE TABLE delete_hash(id integer, data text); COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -244,20 +318,28 @@ step s2-distribute-table: SELECT create_distributed_table('delete_hash', 'id'); step s1-commit: COMMIT; step s2-distribute-table: <... completed> create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM delete_hash; count +--------------------------------------------------------------------- + 8 +(1 row) -8 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-truncate s2-delete s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -269,15 +351,21 @@ step s2-delete: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM delete_hash; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-drop s2-delete s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -291,12 +379,16 @@ step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM delete_hash; ERROR: relation "delete_hash" does not exist restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-ddl-create-index s2-delete s1-commit s2-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -308,20 +400,28 @@ step s2-delete: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM delete_hash; count +--------------------------------------------------------------------- + 4 +(1 row) -4 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''delete_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-ddl-create-index s1-begin s2-begin s1-ddl-drop-index s2-delete s1-commit s2-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-ddl-create-index: CREATE INDEX delete_hash_index ON delete_hash(id); @@ -334,20 +434,28 @@ step s2-delete: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM delete_hash; count +--------------------------------------------------------------------- + 4 +(1 row) -4 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''delete_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-ddl-add-column s2-delete s1-commit s2-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -359,20 +467,28 @@ step s2-delete: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM delete_hash; count +--------------------------------------------------------------------- + 4 +(1 row) -4 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''delete_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-ddl-add-column s1-begin s2-begin s1-ddl-drop-column s2-delete s1-commit s2-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-ddl-add-column: ALTER TABLE delete_hash ADD new_column int DEFAULT 0; @@ -385,20 +501,28 @@ step s2-delete: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM delete_hash; count +--------------------------------------------------------------------- + 4 +(1 row) -4 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''delete_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-ddl-rename-column s2-delete s1-commit s2-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -410,42 +534,58 @@ step s2-delete: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM delete_hash; count +--------------------------------------------------------------------- + 4 +(1 row) -4 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''delete_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-table-size s2-delete s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-table-size: SELECT citus_total_relation_size('delete_hash'); citus_total_relation_size +--------------------------------------------------------------------- + 57344 +(1 row) -57344 step s2-delete: DELETE FROM delete_hash WHERE id = 4; step s1-commit: COMMIT; step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM delete_hash; count +--------------------------------------------------------------------- + 4 +(1 row) -4 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s2-begin s1-distribute-table s2-delete s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop: DROP TABLE delete_hash; step s1-create-non-distributed-table: CREATE TABLE delete_hash(id integer, data text); COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -454,7 +594,9 @@ step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-distribute-table: SELECT create_distributed_table('delete_hash', 'id'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-delete: DELETE FROM delete_hash WHERE id = 4; step s1-commit: COMMIT; @@ -462,8 +604,12 @@ step s2-delete: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM delete_hash; count +--------------------------------------------------------------------- + 8 +(1 row) -8 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) diff --git a/src/test/regress/expected/isolation_dis2ref_foreign_keys_on_mx.out b/src/test/regress/expected/isolation_dis2ref_foreign_keys_on_mx.out index 66c140462..e3704e66c 100644 --- a/src/test/regress/expected/isolation_dis2ref_foreign_keys_on_mx.out +++ b/src/test/regress/expected/isolation_dis2ref_foreign_keys_on_mx.out @@ -5,31 +5,41 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-delete: SELECT run_commands_on_session_level_connection_to_node('DELETE FROM ref_table WHERE id=1'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-insert: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO dist_table VALUES (1, 1)'); @@ -38,45 +48,61 @@ step s1-rollback-worker: SELECT run_commands_on_session_level_connection_to_node('ROLLBACK'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-insert: <... completed> run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-display: SELECT * FROM ref_table ORDER BY id, value; SELECT * FROM dist_table ORDER BY id, value; -id value +id|value +--------------------------------------------------------------------- + 1| 10 + 2| 20 +(2 rows) -1 10 -2 20 -id value +id|value +--------------------------------------------------------------------- + 1| 1 + 1| 1 + 2| 2 +(3 rows) -1 1 -1 1 -2 2 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-delete s2-start-session-level-connection s2-begin-on-worker s2-select s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-display @@ -84,74 +110,100 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-delete: SELECT run_commands_on_session_level_connection_to_node('DELETE FROM ref_table WHERE id=1'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-select: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM dist_table WHERE id=1'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-display: SELECT * FROM ref_table ORDER BY id, value; SELECT * FROM dist_table ORDER BY id, value; -id value +id|value +--------------------------------------------------------------------- + 2| 20 +(1 row) -2 20 -id value +id|value +--------------------------------------------------------------------- + 2| 2 +(1 row) -2 2 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-delete s2-start-session-level-connection s2-begin-on-worker s2-insert-select s1-rollback-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-display @@ -159,31 +211,41 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-delete: SELECT run_commands_on_session_level_connection_to_node('DELETE FROM ref_table WHERE id=1'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-insert-select: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO dist_table SELECT * FROM dist_table'); @@ -192,46 +254,62 @@ step s1-rollback-worker: SELECT run_commands_on_session_level_connection_to_node('ROLLBACK'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-insert-select: <... completed> run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-display: SELECT * FROM ref_table ORDER BY id, value; SELECT * FROM dist_table ORDER BY id, value; -id value +id|value +--------------------------------------------------------------------- + 1| 10 + 2| 20 +(2 rows) -1 10 -2 20 -id value +id|value +--------------------------------------------------------------------- + 1| 1 + 1| 1 + 2| 2 + 2| 2 +(4 rows) -1 1 -1 1 -2 2 -2 2 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-update s2-start-session-level-connection s2-begin-on-worker s2-update s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-display @@ -239,31 +317,41 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-update: SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET id=id+2 WHERE id=1'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-update: SELECT run_commands_on_session_level_connection_to_node('UPDATE dist_table SET value=2 WHERE id=1'); @@ -272,44 +360,60 @@ step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-update: <... completed> run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-display: SELECT * FROM ref_table ORDER BY id, value; SELECT * FROM dist_table ORDER BY id, value; -id value +id|value +--------------------------------------------------------------------- + 2| 20 + 3| 10 +(2 rows) -2 20 -3 10 -id value +id|value +--------------------------------------------------------------------- + 1| 2 + 2| 2 +(2 rows) -1 2 -2 2 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-update s2-start-session-level-connection s2-begin-on-worker s2-copy s1-rollback-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-display @@ -317,31 +421,41 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-update: SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET id=id+2 WHERE id=1'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-copy: SELECT run_commands_on_session_level_connection_to_node('COPY dist_table FROM PROGRAM ''echo 1, 1''WITH CSV'); @@ -350,45 +464,61 @@ step s1-rollback-worker: SELECT run_commands_on_session_level_connection_to_node('ROLLBACK'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-copy: <... completed> run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-display: SELECT * FROM ref_table ORDER BY id, value; SELECT * FROM dist_table ORDER BY id, value; -id value +id|value +--------------------------------------------------------------------- + 1| 10 + 2| 20 +(2 rows) -1 10 -2 20 -id value +id|value +--------------------------------------------------------------------- + 1| 1 + 1| 1 + 2| 2 +(3 rows) -1 1 -1 1 -2 2 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-update s2-start-session-level-connection s2-begin-on-worker s2-truncate s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-display @@ -396,31 +526,41 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-update: SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET id=id+2 WHERE id=1'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-truncate: SELECT run_commands_on_session_level_connection_to_node('TRUNCATE dist_table'); @@ -429,42 +569,58 @@ step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-truncate: <... completed> run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-display: SELECT * FROM ref_table ORDER BY id, value; SELECT * FROM dist_table ORDER BY id, value; -id value +id|value +--------------------------------------------------------------------- + 2| 20 + 3| 10 +(2 rows) -2 20 -3 10 -id value +id|value +--------------------------------------------------------------------- +(0 rows) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-delete s2-start-session-level-connection s2-begin-on-worker s2-select-for-udpate s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-display @@ -472,31 +628,41 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-delete: SELECT run_commands_on_session_level_connection_to_node('DELETE FROM ref_table WHERE id=1'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-select-for-udpate: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM dist_table WHERE id=1 FOR UPDATE'); @@ -505,40 +671,56 @@ step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-select-for-udpate: <... completed> run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-display: SELECT * FROM ref_table ORDER BY id, value; SELECT * FROM dist_table ORDER BY id, value; -id value +id|value +--------------------------------------------------------------------- + 2| 20 +(1 row) -2 20 -id value +id|value +--------------------------------------------------------------------- + 2| 2 +(1 row) -2 2 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) diff --git a/src/test/regress/expected/isolation_distributed_deadlock_detection.out b/src/test/regress/expected/isolation_distributed_deadlock_detection.out index 7b7372b36..5e60e40be 100644 --- a/src/test/regress/expected/isolation_distributed_deadlock_detection.out +++ b/src/test/regress/expected/isolation_distributed_deadlock_detection.out @@ -20,8 +20,10 @@ step deadlock-checker-call: SELECT check_distributed_deadlocks(); check_distributed_deadlocks - +--------------------------------------------------------------------- f +(1 row) + step s1-update-2: UPDATE deadlock_detection_test SET some_val = 1 WHERE user_id = 2; @@ -29,8 +31,10 @@ step deadlock-checker-call: SELECT check_distributed_deadlocks(); check_distributed_deadlocks - +--------------------------------------------------------------------- t +(1 row) + step s2-update-1: <... completed> ERROR: canceling the transaction since it was involved in a distributed deadlock step s1-update-2: <... completed> @@ -61,8 +65,10 @@ step deadlock-checker-call: SELECT check_distributed_deadlocks(); check_distributed_deadlocks - +--------------------------------------------------------------------- f +(1 row) + step s1-update-2-rep-2: UPDATE deadlock_detection_test_rep_2 SET some_val = 1 WHERE user_id = 2; @@ -70,8 +76,10 @@ step deadlock-checker-call: SELECT check_distributed_deadlocks(); check_distributed_deadlocks - +--------------------------------------------------------------------- t +(1 row) + step s2-update-1-rep-2: <... completed> ERROR: canceling the transaction since it was involved in a distributed deadlock step s1-update-2-rep-2: <... completed> @@ -108,8 +116,10 @@ step deadlock-checker-call: SELECT check_distributed_deadlocks(); check_distributed_deadlocks - +--------------------------------------------------------------------- f +(1 row) + step s1-update-2: UPDATE deadlock_detection_test SET some_val = 1 WHERE user_id = 2; @@ -117,8 +127,10 @@ step deadlock-checker-call: SELECT check_distributed_deadlocks(); check_distributed_deadlocks - +--------------------------------------------------------------------- t +(1 row) + step s2-update-1: <... completed> ERROR: canceling the transaction since it was involved in a distributed deadlock step s1-update-2: <... completed> @@ -149,8 +161,10 @@ step deadlock-checker-call: SELECT check_distributed_deadlocks(); check_distributed_deadlocks - +--------------------------------------------------------------------- f +(1 row) + step s2-upsert-select-all: INSERT INTO deadlock_detection_test SELECT * FROM deadlock_detection_test ON CONFLICT(user_id) DO UPDATE SET some_val = deadlock_detection_test.some_val + 5 RETURNING *; @@ -158,8 +172,10 @@ step deadlock-checker-call: SELECT check_distributed_deadlocks(); check_distributed_deadlocks - +--------------------------------------------------------------------- t +(1 row) + step s1-update-2: <... completed> step s2-upsert-select-all: <... completed> ERROR: canceling the transaction since it was involved in a distributed deadlock @@ -190,8 +206,10 @@ step deadlock-checker-call: SELECT check_distributed_deadlocks(); check_distributed_deadlocks - +--------------------------------------------------------------------- f +(1 row) + step s2-ddl: ALTER TABLE deadlock_detection_test ADD COLUMN test_col INT; @@ -199,8 +217,10 @@ step deadlock-checker-call: SELECT check_distributed_deadlocks(); check_distributed_deadlocks - +--------------------------------------------------------------------- t +(1 row) + step s1-update-2: <... completed> step s2-ddl: <... completed> ERROR: canceling the transaction since it was involved in a distributed deadlock @@ -234,8 +254,10 @@ step deadlock-checker-call: SELECT check_distributed_deadlocks(); check_distributed_deadlocks - +--------------------------------------------------------------------- t +(1 row) + step s2-insert-dist-10: <... completed> ERROR: canceling the transaction since it was involved in a distributed deadlock step s1-insert-local-10: <... completed> @@ -269,8 +291,10 @@ step deadlock-checker-call: SELECT check_distributed_deadlocks(); check_distributed_deadlocks - +--------------------------------------------------------------------- t +(1 row) + step s1-insert-ref-10: <... completed> ERROR: canceling the transaction since it was involved in a distributed deadlock step s2-insert-ref-11: <... completed> @@ -298,8 +322,10 @@ step deadlock-checker-call: SELECT check_distributed_deadlocks(); check_distributed_deadlocks - +--------------------------------------------------------------------- f +(1 row) + step s2-update-1: UPDATE deadlock_detection_test SET some_val = 2 WHERE user_id = 1; @@ -310,8 +336,10 @@ step deadlock-checker-call: SELECT check_distributed_deadlocks(); check_distributed_deadlocks - +--------------------------------------------------------------------- t +(1 row) + step s2-update-1: <... completed> step s1-insert-ref-10: <... completed> ERROR: canceling the transaction since it was involved in a distributed deadlock @@ -345,8 +373,10 @@ step deadlock-checker-call: SELECT check_distributed_deadlocks(); check_distributed_deadlocks - +--------------------------------------------------------------------- f +(1 row) + step s1-update-2: UPDATE deadlock_detection_test SET some_val = 1 WHERE user_id = 2; @@ -360,8 +390,10 @@ step deadlock-checker-call: SELECT check_distributed_deadlocks(); check_distributed_deadlocks - +--------------------------------------------------------------------- t +(1 row) + step s2-update-3: <... completed> step s3-update-1: <... completed> ERROR: canceling the transaction since it was involved in a distributed deadlock @@ -405,8 +437,10 @@ step deadlock-checker-call: SELECT check_distributed_deadlocks(); check_distributed_deadlocks - +--------------------------------------------------------------------- f +(1 row) + step s2-update-3: UPDATE deadlock_detection_test SET some_val = 2 WHERE user_id = 3; @@ -414,8 +448,10 @@ step deadlock-checker-call: SELECT check_distributed_deadlocks(); check_distributed_deadlocks - +--------------------------------------------------------------------- t +(1 row) + step s3-update-2: <... completed> ERROR: canceling the transaction since it was involved in a distributed deadlock step s2-update-3: <... completed> @@ -459,8 +495,10 @@ step deadlock-checker-call: SELECT check_distributed_deadlocks(); check_distributed_deadlocks - +--------------------------------------------------------------------- f +(1 row) + step s4-update-4: UPDATE deadlock_detection_test SET some_val = 4 WHERE user_id = 4; @@ -471,8 +509,10 @@ step deadlock-checker-call: SELECT check_distributed_deadlocks(); check_distributed_deadlocks - +--------------------------------------------------------------------- t +(1 row) + step s3-update-2: <... completed> ERROR: canceling the transaction since it was involved in a distributed deadlock step s2-update-3: <... completed> @@ -512,8 +552,10 @@ step deadlock-checker-call: SELECT check_distributed_deadlocks(); check_distributed_deadlocks - +--------------------------------------------------------------------- f +(1 row) + step s2-update-2: UPDATE deadlock_detection_test SET some_val = 2 WHERE user_id = 2; @@ -530,8 +572,10 @@ step deadlock-checker-call: SELECT check_distributed_deadlocks(); check_distributed_deadlocks - +--------------------------------------------------------------------- t +(1 row) + step s2-update-3: <... completed> step s3-update-2: <... completed> ERROR: canceling the transaction since it was involved in a distributed deadlock @@ -587,8 +631,10 @@ step deadlock-checker-call: SELECT check_distributed_deadlocks(); check_distributed_deadlocks - +--------------------------------------------------------------------- t +(1 row) + step s4-update-1: <... completed> ERROR: canceling the transaction since it was involved in a distributed deadlock step s1-update-4: <... completed> @@ -605,8 +651,10 @@ step deadlock-checker-call: SELECT check_distributed_deadlocks(); check_distributed_deadlocks - +--------------------------------------------------------------------- t +(1 row) + step s3-update-2: <... completed> ERROR: canceling the transaction since it was involved in a distributed deadlock step s2-update-3: <... completed> @@ -658,8 +706,10 @@ step deadlock-checker-call: SELECT check_distributed_deadlocks(); check_distributed_deadlocks - +--------------------------------------------------------------------- f +(1 row) + step s6-update-6: UPDATE deadlock_detection_test SET some_val = 6 WHERE user_id = 6; @@ -676,8 +726,10 @@ step deadlock-checker-call: SELECT check_distributed_deadlocks(); check_distributed_deadlocks - +--------------------------------------------------------------------- t +(1 row) + step s1-update-5: <... completed> step s5-update-1: <... completed> ERROR: canceling the transaction since it was involved in a distributed deadlock @@ -743,8 +795,10 @@ step deadlock-checker-call: SELECT check_distributed_deadlocks(); check_distributed_deadlocks - +--------------------------------------------------------------------- f +(1 row) + step s2-update-3: UPDATE deadlock_detection_test SET some_val = 2 WHERE user_id = 3; @@ -761,8 +815,10 @@ step deadlock-checker-call: SELECT check_distributed_deadlocks(); check_distributed_deadlocks - +--------------------------------------------------------------------- t +(1 row) + step s2-update-2: <... completed> step s3-update-3: <... completed> ERROR: canceling the transaction since it was involved in a distributed deadlock @@ -832,8 +888,10 @@ step deadlock-checker-call: SELECT check_distributed_deadlocks(); check_distributed_deadlocks - +--------------------------------------------------------------------- f +(1 row) + step s6-update-6: UPDATE deadlock_detection_test SET some_val = 6 WHERE user_id = 6; @@ -847,8 +905,10 @@ step deadlock-checker-call: SELECT check_distributed_deadlocks(); check_distributed_deadlocks - +--------------------------------------------------------------------- t +(1 row) + step s5-update-6: <... completed> step s6-update-5: <... completed> ERROR: canceling the transaction since it was involved in a distributed deadlock @@ -910,7 +970,9 @@ step s5-random-adv-lock: SELECT pg_advisory_xact_lock(8765); pg_advisory_xact_lock +--------------------------------------------------------------------- +(1 row) step s4-random-adv-lock: SELECT pg_advisory_xact_lock(8765); @@ -925,22 +987,28 @@ step deadlock-checker-call: SELECT check_distributed_deadlocks(); check_distributed_deadlocks - +--------------------------------------------------------------------- t +(1 row) + step s2-update-3: <... completed> ERROR: canceling the transaction since it was involved in a distributed deadlock step deadlock-checker-call: SELECT check_distributed_deadlocks(); check_distributed_deadlocks - +--------------------------------------------------------------------- f +(1 row) + step s5-commit: COMMIT; step s4-random-adv-lock: <... completed> pg_advisory_xact_lock +--------------------------------------------------------------------- +(1 row) step s4-commit: COMMIT; diff --git a/src/test/regress/expected/isolation_distributed_transaction_id.out b/src/test/regress/expected/isolation_distributed_transaction_id.out index 8abd95ef0..3dd129ad8 100644 --- a/src/test/regress/expected/isolation_distributed_transaction_id.out +++ b/src/test/regress/expected/isolation_distributed_transaction_id.out @@ -8,14 +8,18 @@ step s1-assign-transaction-id: SELECT assign_distributed_transaction_id(1, 1, '2015-01-01 00:00:00+0'); assign_distributed_transaction_id +--------------------------------------------------------------------- +(1 row) step s1-get-all-transactions: SELECT initiator_node_identifier, transaction_number, transaction_stamp FROM get_current_transaction_id() ORDER BY 1,2,3; -initiator_node_identifiertransaction_numbertransaction_stamp +initiator_node_identifier|transaction_number|transaction_stamp +--------------------------------------------------------------------- + 1| 1|Wed Dec 31 16:00:00 2014 PST +(1 row) -1 1 Wed Dec 31 16:00:00 2014 PST step s2-begin: BEGIN; @@ -23,14 +27,18 @@ step s2-assign-transaction-id: SELECT assign_distributed_transaction_id(2, 2, '2015-01-02 00:00:00+0'); assign_distributed_transaction_id +--------------------------------------------------------------------- +(1 row) step s2-get-all-transactions: SELECT initiator_node_identifier, transaction_number, transaction_stamp FROM get_current_transaction_id() ORDER BY 1,2,3; -initiator_node_identifiertransaction_numbertransaction_stamp +initiator_node_identifier|transaction_number|transaction_stamp +--------------------------------------------------------------------- + 2| 2|Thu Jan 01 16:00:00 2015 PST +(1 row) -2 2 Thu Jan 01 16:00:00 2015 PST step s3-begin: BEGIN; @@ -38,14 +46,18 @@ step s3-assign-transaction-id: SELECT assign_distributed_transaction_id(3, 3, '2015-01-03 00:00:00+0'); assign_distributed_transaction_id +--------------------------------------------------------------------- +(1 row) step s3-get-all-transactions: SELECT initiator_node_identifier, transaction_number, transaction_stamp FROM get_current_transaction_id() ORDER BY 1,2,3; -initiator_node_identifiertransaction_numbertransaction_stamp +initiator_node_identifier|transaction_number|transaction_stamp +--------------------------------------------------------------------- + 3| 3|Fri Jan 02 16:00:00 2015 PST +(1 row) -3 3 Fri Jan 02 16:00:00 2015 PST step s1-commit: COMMIT; @@ -64,7 +76,9 @@ step s1-create-table: SELECT create_distributed_table('distributed_transaction_id_table', 'some_value'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -84,10 +98,12 @@ step s1-verify-current-xact-is-on-worker: $$) as remote ORDER BY remote.nodeport ASC; -nodeport xact_exists +nodeport|xact_exists +--------------------------------------------------------------------- + 57637|t + 57638|t +(2 rows) -57637 t -57638 t step s1-commit: COMMIT; @@ -100,14 +116,18 @@ step s1-assign-transaction-id: SELECT assign_distributed_transaction_id(1, 1, '2015-01-01 00:00:00+0'); assign_distributed_transaction_id +--------------------------------------------------------------------- +(1 row) step s1-has-transaction-number: SELECT transaction_number > 0 FROM get_current_transaction_id(); ?column? - +--------------------------------------------------------------------- t +(1 row) + step s2-vacuum: VACUUM FULL pg_dist_partition; @@ -115,8 +135,10 @@ step s1-has-transaction-number: SELECT transaction_number > 0 FROM get_current_transaction_id(); ?column? - +--------------------------------------------------------------------- t +(1 row) + step s1-commit: COMMIT; diff --git a/src/test/regress/expected/isolation_dml_vs_repair.out b/src/test/regress/expected/isolation_dml_vs_repair.out index eb7e03bd5..cb1e07219 100644 --- a/src/test/regress/expected/isolation_dml_vs_repair.out +++ b/src/test/regress/expected/isolation_dml_vs_repair.out @@ -2,7 +2,9 @@ Parsed test spec with 2 sessions starting permutation: s2-invalidate-57637 s1-begin s1-insertone s2-repair s1-commit master_create_worker_shards +--------------------------------------------------------------------- +(1 row) step s2-invalidate-57637: UPDATE pg_dist_shard_placement SET shardstate = '3' WHERE shardid = (SELECT shardid FROM pg_dist_shard WHERE logicalrelid = 'test_dml_vs_repair'::regclass) AND nodeport = 57637; @@ -21,12 +23,16 @@ step s1-commit: step s2-repair: <... completed> master_copy_shard_placement +--------------------------------------------------------------------- +(1 row) starting permutation: s1-insertone s2-invalidate-57637 s1-begin s1-insertall s2-repair s1-commit master_create_worker_shards +--------------------------------------------------------------------- +(1 row) step s1-insertone: INSERT INTO test_dml_vs_repair VALUES(1, 1); @@ -48,12 +54,16 @@ step s1-commit: step s2-repair: <... completed> master_copy_shard_placement +--------------------------------------------------------------------- +(1 row) starting permutation: s2-invalidate-57637 s2-begin s2-repair s1-insertone s2-commit s2-invalidate-57638 s1-display s2-invalidate-57637 s2-revalidate-57638 s1-display master_create_worker_shards +--------------------------------------------------------------------- +(1 row) step s2-invalidate-57637: UPDATE pg_dist_shard_placement SET shardstate = '3' WHERE shardid = (SELECT shardid FROM pg_dist_shard WHERE logicalrelid = 'test_dml_vs_repair'::regclass) AND nodeport = 57637; @@ -65,7 +75,9 @@ step s2-repair: SELECT master_copy_shard_placement((SELECT shardid FROM pg_dist_shard WHERE logicalrelid = 'test_dml_vs_repair'::regclass), 'localhost', 57638, 'localhost', 57637); master_copy_shard_placement +--------------------------------------------------------------------- +(1 row) step s1-insertone: INSERT INTO test_dml_vs_repair VALUES(1, 1); @@ -80,9 +92,11 @@ step s2-invalidate-57638: step s1-display: SELECT * FROM test_dml_vs_repair WHERE test_id = 1 ORDER BY test_id; -test_id data +test_id|data +--------------------------------------------------------------------- + 1| 1 +(1 row) -1 1 step s2-invalidate-57637: UPDATE pg_dist_shard_placement SET shardstate = '3' WHERE shardid = (SELECT shardid FROM pg_dist_shard WHERE logicalrelid = 'test_dml_vs_repair'::regclass) AND nodeport = 57637; @@ -92,13 +106,17 @@ step s2-revalidate-57638: step s1-display: SELECT * FROM test_dml_vs_repair WHERE test_id = 1 ORDER BY test_id; -test_id data +test_id|data +--------------------------------------------------------------------- + 1| 1 +(1 row) -1 1 starting permutation: s2-invalidate-57637 s1-prepared-insertone s2-begin s2-repair s1-prepared-insertone s2-commit s2-invalidate-57638 s1-display s2-invalidate-57637 s2-revalidate-57638 s1-display master_create_worker_shards +--------------------------------------------------------------------- +(1 row) step s2-invalidate-57637: UPDATE pg_dist_shard_placement SET shardstate = '3' WHERE shardid = (SELECT shardid FROM pg_dist_shard WHERE logicalrelid = 'test_dml_vs_repair'::regclass) AND nodeport = 57637; @@ -113,7 +131,9 @@ step s2-repair: SELECT master_copy_shard_placement((SELECT shardid FROM pg_dist_shard WHERE logicalrelid = 'test_dml_vs_repair'::regclass), 'localhost', 57638, 'localhost', 57637); master_copy_shard_placement +--------------------------------------------------------------------- +(1 row) step s1-prepared-insertone: EXECUTE insertone; @@ -128,10 +148,12 @@ step s2-invalidate-57638: step s1-display: SELECT * FROM test_dml_vs_repair WHERE test_id = 1 ORDER BY test_id; -test_id data +test_id|data +--------------------------------------------------------------------- + 1| 1 + 1| 1 +(2 rows) -1 1 -1 1 step s2-invalidate-57637: UPDATE pg_dist_shard_placement SET shardstate = '3' WHERE shardid = (SELECT shardid FROM pg_dist_shard WHERE logicalrelid = 'test_dml_vs_repair'::regclass) AND nodeport = 57637; @@ -141,14 +163,18 @@ step s2-revalidate-57638: step s1-display: SELECT * FROM test_dml_vs_repair WHERE test_id = 1 ORDER BY test_id; -test_id data +test_id|data +--------------------------------------------------------------------- + 1| 1 + 1| 1 +(2 rows) -1 1 -1 1 starting permutation: s2-invalidate-57637 s1-insertone s1-prepared-insertall s2-begin s2-repair s1-prepared-insertall s2-commit s2-invalidate-57638 s1-display s2-invalidate-57637 s2-revalidate-57638 s1-display master_create_worker_shards +--------------------------------------------------------------------- +(1 row) step s2-invalidate-57637: UPDATE pg_dist_shard_placement SET shardstate = '3' WHERE shardid = (SELECT shardid FROM pg_dist_shard WHERE logicalrelid = 'test_dml_vs_repair'::regclass) AND nodeport = 57637; @@ -166,7 +192,9 @@ step s2-repair: SELECT master_copy_shard_placement((SELECT shardid FROM pg_dist_shard WHERE logicalrelid = 'test_dml_vs_repair'::regclass), 'localhost', 57638, 'localhost', 57637); master_copy_shard_placement +--------------------------------------------------------------------- +(1 row) step s1-prepared-insertall: EXECUTE insertall; @@ -181,12 +209,14 @@ step s2-invalidate-57638: step s1-display: SELECT * FROM test_dml_vs_repair WHERE test_id = 1 ORDER BY test_id; -test_id data +test_id|data +--------------------------------------------------------------------- + 1| 1 + 1| 2 + 1| 2 + 1| 3 +(4 rows) -1 1 -1 2 -1 2 -1 3 step s2-invalidate-57637: UPDATE pg_dist_shard_placement SET shardstate = '3' WHERE shardid = (SELECT shardid FROM pg_dist_shard WHERE logicalrelid = 'test_dml_vs_repair'::regclass) AND nodeport = 57637; @@ -196,9 +226,11 @@ step s2-revalidate-57638: step s1-display: SELECT * FROM test_dml_vs_repair WHERE test_id = 1 ORDER BY test_id; -test_id data +test_id|data +--------------------------------------------------------------------- + 1| 1 + 1| 2 + 1| 2 + 1| 3 +(4 rows) -1 1 -1 2 -1 2 -1 3 diff --git a/src/test/regress/expected/isolation_drop_alter_index_select_for_update_on_mx.out b/src/test/regress/expected/isolation_drop_alter_index_select_for_update_on_mx.out index a20d23d41..1db575034 100644 --- a/src/test/regress/expected/isolation_drop_alter_index_select_for_update_on_mx.out +++ b/src/test/regress/expected/isolation_drop_alter_index_select_for_update_on_mx.out @@ -5,31 +5,41 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-insert: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO dist_table VALUES(5, 55)'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-alter: ALTER TABLE dist_table DROP value; @@ -38,35 +48,47 @@ step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-alter: <... completed> step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM dist_table; count +--------------------------------------------------------------------- + 6 +(1 row) -6 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-begin s1-index s2-start-session-level-connection s2-begin-on-worker s2-select-for-update s1-commit s2-commit-worker s2-stop-connection @@ -80,19 +102,25 @@ step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-select-for-update: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM dist_table WHERE id = 5 FOR UPDATE'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit: COMMIT; @@ -101,16 +129,22 @@ step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-select-for-update s2-start-session-level-connection s2-begin-on-worker s2-select-for-update s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection @@ -118,31 +152,41 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-select-for-update: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM dist_table WHERE id = 5 FOR UPDATE'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-select-for-update: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM dist_table WHERE id = 5 FOR UPDATE'); @@ -151,32 +195,44 @@ step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-select-for-update: <... completed> run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-select-for-update s2-coordinator-create-index-concurrently s1-commit-worker s1-stop-connection @@ -184,19 +240,25 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-select-for-update: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM dist_table WHERE id = 5 FOR UPDATE'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-coordinator-create-index-concurrently: CREATE INDEX CONCURRENTLY dist_table_index_conc ON dist_table(id); @@ -205,14 +267,20 @@ step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) diff --git a/src/test/regress/expected/isolation_drop_shards.out b/src/test/regress/expected/isolation_drop_shards.out index d99897ea0..9dcce0bc3 100644 --- a/src/test/regress/expected/isolation_drop_shards.out +++ b/src/test/regress/expected/isolation_drop_shards.out @@ -2,8 +2,10 @@ Parsed test spec with 2 sessions starting permutation: s1-begin s1-drop-all-shards s2-truncate s1-commit ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: BEGIN; @@ -11,8 +13,10 @@ step s1-drop-all-shards: SELECT citus_drop_all_shards('append_table', 'public', 'append_table'); citus_drop_all_shards +--------------------------------------------------------------------- + 16 +(1 row) -16 step s2-truncate: TRUNCATE append_table; @@ -23,8 +27,10 @@ step s2-truncate: <... completed> starting permutation: s1-begin s1-drop-all-shards s2-apply-delete-command s1-commit ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: BEGIN; @@ -32,8 +38,10 @@ step s1-drop-all-shards: SELECT citus_drop_all_shards('append_table', 'public', 'append_table'); citus_drop_all_shards +--------------------------------------------------------------------- + 16 +(1 row) -16 step s2-apply-delete-command: SELECT master_apply_delete_command('DELETE FROM append_table'); @@ -42,13 +50,17 @@ step s1-commit: step s2-apply-delete-command: <... completed> master_apply_delete_command +--------------------------------------------------------------------- + 0 +(1 row) -0 starting permutation: s1-begin s1-drop-all-shards s2-drop-all-shards s1-commit ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: BEGIN; @@ -56,8 +68,10 @@ step s1-drop-all-shards: SELECT citus_drop_all_shards('append_table', 'public', 'append_table'); citus_drop_all_shards +--------------------------------------------------------------------- + 16 +(1 row) -16 step s2-drop-all-shards: SELECT citus_drop_all_shards('append_table', 'public', 'append_table'); @@ -66,13 +80,17 @@ step s1-commit: step s2-drop-all-shards: <... completed> citus_drop_all_shards +--------------------------------------------------------------------- + 0 +(1 row) -0 starting permutation: s1-begin s1-drop-all-shards s2-select s1-commit ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: BEGIN; @@ -80,8 +98,10 @@ step s1-drop-all-shards: SELECT citus_drop_all_shards('append_table', 'public', 'append_table'); citus_drop_all_shards +--------------------------------------------------------------------- + 16 +(1 row) -16 step s2-select: SELECT * FROM append_table; @@ -89,13 +109,17 @@ step s1-commit: COMMIT; step s2-select: <... completed> -test_id data +test_id|data +--------------------------------------------------------------------- +(0 rows) starting permutation: s1-begin s1-apply-delete-command s2-truncate s1-commit ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: BEGIN; @@ -103,8 +127,10 @@ step s1-apply-delete-command: SELECT master_apply_delete_command('DELETE FROM append_table'); master_apply_delete_command +--------------------------------------------------------------------- + 16 +(1 row) -16 step s2-truncate: TRUNCATE append_table; @@ -115,8 +141,10 @@ step s2-truncate: <... completed> starting permutation: s1-begin s1-apply-delete-command s2-apply-delete-command s1-commit ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: BEGIN; @@ -124,8 +152,10 @@ step s1-apply-delete-command: SELECT master_apply_delete_command('DELETE FROM append_table'); master_apply_delete_command +--------------------------------------------------------------------- + 16 +(1 row) -16 step s2-apply-delete-command: SELECT master_apply_delete_command('DELETE FROM append_table'); @@ -134,13 +164,17 @@ step s1-commit: step s2-apply-delete-command: <... completed> master_apply_delete_command +--------------------------------------------------------------------- + 0 +(1 row) -0 starting permutation: s1-begin s1-apply-delete-command s2-drop-all-shards s1-commit ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: BEGIN; @@ -148,8 +182,10 @@ step s1-apply-delete-command: SELECT master_apply_delete_command('DELETE FROM append_table'); master_apply_delete_command +--------------------------------------------------------------------- + 16 +(1 row) -16 step s2-drop-all-shards: SELECT citus_drop_all_shards('append_table', 'public', 'append_table'); @@ -158,13 +194,17 @@ step s1-commit: step s2-drop-all-shards: <... completed> citus_drop_all_shards +--------------------------------------------------------------------- + 0 +(1 row) -0 starting permutation: s1-begin s1-truncate s2-truncate s1-commit ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: BEGIN; @@ -181,8 +221,10 @@ step s2-truncate: <... completed> starting permutation: s1-begin s1-truncate s2-apply-delete-command s1-commit ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: BEGIN; @@ -197,13 +239,17 @@ step s1-commit: step s2-apply-delete-command: <... completed> master_apply_delete_command +--------------------------------------------------------------------- + 0 +(1 row) -0 starting permutation: s1-begin s1-truncate s2-drop-all-shards s1-commit ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: BEGIN; @@ -218,13 +264,17 @@ step s1-commit: step s2-drop-all-shards: <... completed> citus_drop_all_shards +--------------------------------------------------------------------- + 0 +(1 row) -0 starting permutation: s1-begin s1-truncate s2-select s1-commit ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: BEGIN; @@ -238,5 +288,7 @@ step s1-commit: COMMIT; step s2-select: <... completed> -test_id data +test_id|data +--------------------------------------------------------------------- +(0 rows) diff --git a/src/test/regress/expected/isolation_drop_vs_all.out b/src/test/regress/expected/isolation_drop_vs_all.out index 1ec7d4fbe..6009eb41d 100644 --- a/src/test/regress/expected/isolation_drop_vs_all.out +++ b/src/test/regress/expected/isolation_drop_vs_all.out @@ -2,7 +2,9 @@ Parsed test spec with 2 sessions starting permutation: s1-initialize s1-begin s2-begin s1-drop s2-drop s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY drop_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -16,12 +18,16 @@ step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM drop_hash; ERROR: relation "drop_hash" does not exist restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-drop s2-ddl-create-index s1-commit s2-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY drop_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -36,16 +42,22 @@ step s1-select-count: SELECT COUNT(*) FROM drop_hash; ERROR: relation "drop_hash" does not exist step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''drop_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-ddl-create-index s1-begin s2-begin s1-drop s2-ddl-drop-index s1-commit s2-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY drop_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-ddl-create-index: CREATE INDEX drop_hash_index ON drop_hash(id); @@ -61,16 +73,22 @@ step s1-select-count: SELECT COUNT(*) FROM drop_hash; ERROR: relation "drop_hash" does not exist step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''drop_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s1-drop s2-ddl-create-index-concurrently s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY drop_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -83,16 +101,22 @@ step s1-select-count: SELECT COUNT(*) FROM drop_hash; ERROR: relation "drop_hash" does not exist step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''drop_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-drop s2-ddl-add-column s1-commit s2-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY drop_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -107,16 +131,22 @@ step s1-select-count: SELECT COUNT(*) FROM drop_hash; ERROR: relation "drop_hash" does not exist step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''drop_hash'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-ddl-add-column s1-begin s2-begin s1-drop s2-ddl-drop-column s1-commit s2-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY drop_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-ddl-add-column: ALTER TABLE drop_hash ADD new_column int DEFAULT 0; @@ -132,16 +162,22 @@ step s1-select-count: SELECT COUNT(*) FROM drop_hash; ERROR: relation "drop_hash" does not exist step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''drop_hash'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-drop s2-ddl-rename-column s1-commit s2-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY drop_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -156,16 +192,22 @@ step s1-select-count: SELECT COUNT(*) FROM drop_hash; ERROR: relation "drop_hash" does not exist step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''drop_hash'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-drop s2-table-size s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY drop_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -179,12 +221,16 @@ step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM drop_hash; ERROR: relation "drop_hash" does not exist restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s2-begin s1-drop s2-distribute-table s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop: DROP TABLE drop_hash; step s1-create-non-distributed-table: CREATE TABLE drop_hash(id integer, data text); COPY drop_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -200,12 +246,16 @@ step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM drop_hash; ERROR: relation "drop_hash" does not exist restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-ddl-create-index s2-drop s1-commit s2-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY drop_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -219,16 +269,22 @@ step s1-select-count: SELECT COUNT(*) FROM drop_hash; ERROR: relation "drop_hash" does not exist step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''drop_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-ddl-create-index s1-begin s2-begin s1-ddl-drop-index s2-drop s1-commit s2-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY drop_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-ddl-create-index: CREATE INDEX drop_hash_index ON drop_hash(id); @@ -243,16 +299,22 @@ step s1-select-count: SELECT COUNT(*) FROM drop_hash; ERROR: relation "drop_hash" does not exist step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''drop_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-ddl-add-column s2-drop s1-commit s2-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY drop_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -266,16 +328,22 @@ step s1-select-count: SELECT COUNT(*) FROM drop_hash; ERROR: relation "drop_hash" does not exist step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''drop_hash'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-ddl-add-column s1-begin s2-begin s1-ddl-drop-column s2-drop s1-commit s2-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY drop_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-ddl-add-column: ALTER TABLE drop_hash ADD new_column int DEFAULT 0; @@ -290,16 +358,22 @@ step s1-select-count: SELECT COUNT(*) FROM drop_hash; ERROR: relation "drop_hash" does not exist step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''drop_hash'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-ddl-rename-column s2-drop s1-commit s2-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY drop_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -313,36 +387,48 @@ step s1-select-count: SELECT COUNT(*) FROM drop_hash; ERROR: relation "drop_hash" does not exist step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''drop_hash'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-table-size s2-drop s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY drop_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-table-size: SELECT citus_total_relation_size('drop_hash'); citus_total_relation_size +--------------------------------------------------------------------- + 57344 +(1 row) -57344 step s2-drop: DROP TABLE drop_hash; step s1-commit: COMMIT; step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM drop_hash; ERROR: relation "drop_hash" does not exist restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s2-begin s1-distribute-table s2-drop s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop: DROP TABLE drop_hash; step s1-create-non-distributed-table: CREATE TABLE drop_hash(id integer, data text); COPY drop_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -351,7 +437,9 @@ step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-distribute-table: SELECT create_distributed_table('drop_hash', 'id'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-drop: DROP TABLE drop_hash; step s1-commit: COMMIT; @@ -360,5 +448,7 @@ step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM drop_hash; ERROR: relation "drop_hash" does not exist restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) diff --git a/src/test/regress/expected/isolation_dump_global_wait_edges.out b/src/test/regress/expected/isolation_dump_global_wait_edges.out index 358d0b207..bd60e11a0 100644 --- a/src/test/regress/expected/isolation_dump_global_wait_edges.out +++ b/src/test/regress/expected/isolation_dump_global_wait_edges.out @@ -26,13 +26,17 @@ step detector-dump-wait-edges: blocking_transaction_waiting; SELECT * FROM get_adjacency_list_wait_graph() ORDER BY 1; -waiting_transaction_numblocking_transaction_numblocking_transaction_waiting +waiting_transaction_num|blocking_transaction_num|blocking_transaction_waiting +--------------------------------------------------------------------- + 401| 400|f +(1 row) -401 400 f -transactionnumberwaitingtransactionnumbers +transactionnumber|waitingtransactionnumbers +--------------------------------------------------------------------- + 400| + 401| 400 +(2 rows) -400 -401 400 step s1-abort: ABORT; @@ -73,16 +77,20 @@ step detector-dump-wait-edges: blocking_transaction_waiting; SELECT * FROM get_adjacency_list_wait_graph() ORDER BY 1; -waiting_transaction_numblocking_transaction_numblocking_transaction_waiting +waiting_transaction_num|blocking_transaction_num|blocking_transaction_waiting +--------------------------------------------------------------------- + 405| 404|f + 406| 404|f + 406| 405|t +(3 rows) -405 404 f -406 404 f -406 405 t -transactionnumberwaitingtransactionnumbers +transactionnumber|waitingtransactionnumbers +--------------------------------------------------------------------- + 404| + 405|404 + 406|404,405 +(3 rows) -404 -405 404 -406 404,405 step s1-abort: ABORT; diff --git a/src/test/regress/expected/isolation_dump_local_wait_edges.out b/src/test/regress/expected/isolation_dump_local_wait_edges.out index 17f020d5a..972fe8c99 100644 --- a/src/test/regress/expected/isolation_dump_local_wait_edges.out +++ b/src/test/regress/expected/isolation_dump_local_wait_edges.out @@ -6,14 +6,18 @@ step dist11-begin: SELECT assign_distributed_transaction_id(11, 1, '2017-01-01 00:00:00+0'); assign_distributed_transaction_id +--------------------------------------------------------------------- +(1 row) step dist13-begin: BEGIN; SELECT assign_distributed_transaction_id(13, 1, '2017-01-01 00:00:00+0'); assign_distributed_transaction_id +--------------------------------------------------------------------- +(1 row) step dist11-update: UPDATE local_table SET y = 1 WHERE x = 1; @@ -35,9 +39,11 @@ step detector-dump-wait-edges: blocking_transaction_num, blocking_transaction_waiting; -waiting_node_idwaiting_transaction_numblocking_node_idblocking_transaction_numblocking_transaction_waiting +waiting_node_id|waiting_transaction_num|blocking_node_id|blocking_transaction_num|blocking_transaction_waiting +--------------------------------------------------------------------- + 13| 1| 11| 1|f +(1 row) -13 1 11 1 f step dist11-abort: ABORT; @@ -55,7 +61,9 @@ step dist13-begin: SELECT assign_distributed_transaction_id(13, 1, '2017-01-01 00:00:00+0'); assign_distributed_transaction_id +--------------------------------------------------------------------- +(1 row) step local-update: UPDATE local_table SET y = 2 WHERE x = 1; @@ -77,9 +85,11 @@ step detector-dump-wait-edges: blocking_transaction_num, blocking_transaction_waiting; -waiting_node_idwaiting_transaction_numblocking_node_idblocking_transaction_numblocking_transaction_waiting +waiting_node_id|waiting_transaction_num|blocking_node_id|blocking_transaction_num|blocking_transaction_waiting +--------------------------------------------------------------------- + 13| 1| 0| |f +(1 row) -13 1 0 f step local-abort: ABORT; @@ -94,7 +104,9 @@ step dist11-begin: SELECT assign_distributed_transaction_id(11, 1, '2017-01-01 00:00:00+0'); assign_distributed_transaction_id +--------------------------------------------------------------------- +(1 row) step local-begin: BEGIN; @@ -104,7 +116,9 @@ step dist13-begin: SELECT assign_distributed_transaction_id(13, 1, '2017-01-01 00:00:00+0'); assign_distributed_transaction_id +--------------------------------------------------------------------- +(1 row) step dist11-update: UPDATE local_table SET y = 1 WHERE x = 1; @@ -129,10 +143,12 @@ step detector-dump-wait-edges: blocking_transaction_num, blocking_transaction_waiting; -waiting_node_idwaiting_transaction_numblocking_node_idblocking_transaction_numblocking_transaction_waiting +waiting_node_id|waiting_transaction_num|blocking_node_id|blocking_transaction_num|blocking_transaction_waiting +--------------------------------------------------------------------- + 0| | 11| 1|f + 13| 1| 0| |t +(2 rows) -0 11 1 f -13 1 0 t step dist11-abort: ABORT; diff --git a/src/test/regress/expected/isolation_ensure_dependency_activate_node.out b/src/test/regress/expected/isolation_ensure_dependency_activate_node.out index 2279abd76..7c5b1dc83 100644 --- a/src/test/regress/expected/isolation_ensure_dependency_activate_node.out +++ b/src/test/regress/expected/isolation_ensure_dependency_activate_node.out @@ -2,8 +2,10 @@ Parsed test spec with 3 sessions starting permutation: s1-print-distributed-objects s1-begin s1-add-worker s2-public-schema s2-create-table s1-commit s2-print-distributed-objects ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-print-distributed-objects: SELECT 1 FROM master_add_node('localhost', 57638); -- print an overview of all distributed objects @@ -20,36 +22,54 @@ step s1-print-distributed-objects: SELECT master_remove_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 pg_identify_object_as_address - +--------------------------------------------------------------------- (database,{regression},{}) (role,{postgres},{}) (schema,{public},{}) +(3 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + master_remove_node +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -58,8 +78,10 @@ step s1-add-worker: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-public-schema: SET search_path TO public; @@ -74,7 +96,9 @@ step s1-commit: step s2-create-table: <... completed> create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-print-distributed-objects: -- print an overview of all distributed objects @@ -90,40 +114,58 @@ step s2-print-distributed-objects: SELECT run_command_on_workers($$SELECT count(*) FROM pg_proc WHERE proname='add';$$); pg_identify_object_as_address - +--------------------------------------------------------------------- (database,{regression},{}) (role,{postgres},{}) (schema,{public},{}) +(3 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-print-distributed-objects s1-begin s2-begin s1-add-worker s2-public-schema s2-create-table s1-commit s2-commit s2-print-distributed-objects ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-print-distributed-objects: SELECT 1 FROM master_add_node('localhost', 57638); -- print an overview of all distributed objects @@ -140,36 +182,54 @@ step s1-print-distributed-objects: SELECT master_remove_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 pg_identify_object_as_address - +--------------------------------------------------------------------- (database,{regression},{}) (role,{postgres},{}) (schema,{public},{}) +(3 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + master_remove_node +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -181,8 +241,10 @@ step s1-add-worker: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-public-schema: SET search_path TO public; @@ -197,7 +259,9 @@ step s1-commit: step s2-create-table: <... completed> create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-commit: COMMIT; @@ -216,40 +280,58 @@ step s2-print-distributed-objects: SELECT run_command_on_workers($$SELECT count(*) FROM pg_proc WHERE proname='add';$$); pg_identify_object_as_address - +--------------------------------------------------------------------- (database,{regression},{}) (role,{postgres},{}) (schema,{public},{}) +(3 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-print-distributed-objects s1-begin s2-begin s2-public-schema s2-create-table s1-add-worker s2-commit s1-commit s2-print-distributed-objects ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-print-distributed-objects: SELECT 1 FROM master_add_node('localhost', 57638); -- print an overview of all distributed objects @@ -266,36 +348,54 @@ step s1-print-distributed-objects: SELECT master_remove_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 pg_identify_object_as_address - +--------------------------------------------------------------------- (database,{regression},{}) (role,{postgres},{}) (schema,{public},{}) +(3 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + master_remove_node +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -313,7 +413,9 @@ step s2-create-table: SELECT create_distributed_table('t1', 'a'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-add-worker: SELECT 1 FROM master_add_node('localhost', 57638); @@ -323,8 +425,10 @@ step s2-commit: step s1-add-worker: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-commit: COMMIT; @@ -342,40 +446,58 @@ step s2-print-distributed-objects: SELECT run_command_on_workers($$SELECT count(*) FROM pg_proc WHERE proname='add';$$); pg_identify_object_as_address - +--------------------------------------------------------------------- (database,{regression},{}) (role,{postgres},{}) (schema,{public},{}) +(3 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-print-distributed-objects s1-begin s1-add-worker s2-create-schema s2-create-table s1-commit s2-print-distributed-objects ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-print-distributed-objects: SELECT 1 FROM master_add_node('localhost', 57638); -- print an overview of all distributed objects @@ -392,36 +514,54 @@ step s1-print-distributed-objects: SELECT master_remove_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 pg_identify_object_as_address - +--------------------------------------------------------------------- (database,{regression},{}) (role,{postgres},{}) (schema,{public},{}) +(3 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + master_remove_node +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -430,8 +570,10 @@ step s1-add-worker: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-create-schema: CREATE SCHEMA myschema; SET search_path TO myschema; @@ -447,7 +589,9 @@ step s1-commit: step s2-create-table: <... completed> create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-print-distributed-objects: -- print an overview of all distributed objects @@ -463,41 +607,59 @@ step s2-print-distributed-objects: SELECT run_command_on_workers($$SELECT count(*) FROM pg_proc WHERE proname='add';$$); pg_identify_object_as_address - +--------------------------------------------------------------------- (database,{regression},{}) (role,{postgres},{}) (schema,{myschema},{}) (schema,{public},{}) +(4 rows) + count +--------------------------------------------------------------------- + 1 +(1 row) -1 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,1) (localhost,57638,t,1) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-print-distributed-objects s1-begin s2-begin s1-add-worker s2-create-schema s2-create-table s1-commit s2-commit s2-print-distributed-objects ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-print-distributed-objects: SELECT 1 FROM master_add_node('localhost', 57638); -- print an overview of all distributed objects @@ -514,36 +676,54 @@ step s1-print-distributed-objects: SELECT master_remove_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 pg_identify_object_as_address - +--------------------------------------------------------------------- (database,{regression},{}) (role,{postgres},{}) (schema,{public},{}) +(3 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + master_remove_node +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -555,8 +735,10 @@ step s1-add-worker: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-create-schema: CREATE SCHEMA myschema; SET search_path TO myschema; @@ -572,7 +754,9 @@ step s1-commit: step s2-create-table: <... completed> create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-commit: COMMIT; @@ -591,41 +775,59 @@ step s2-print-distributed-objects: SELECT run_command_on_workers($$SELECT count(*) FROM pg_proc WHERE proname='add';$$); pg_identify_object_as_address - +--------------------------------------------------------------------- (database,{regression},{}) (role,{postgres},{}) (schema,{myschema},{}) (schema,{public},{}) +(4 rows) + count +--------------------------------------------------------------------- + 1 +(1 row) -1 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,1) (localhost,57638,t,1) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-print-distributed-objects s1-begin s2-begin s2-create-schema s2-create-table s1-add-worker s2-commit s1-commit s2-print-distributed-objects ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-print-distributed-objects: SELECT 1 FROM master_add_node('localhost', 57638); -- print an overview of all distributed objects @@ -642,36 +844,54 @@ step s1-print-distributed-objects: SELECT master_remove_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 pg_identify_object_as_address - +--------------------------------------------------------------------- (database,{regression},{}) (role,{postgres},{}) (schema,{public},{}) +(3 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + master_remove_node +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -690,7 +910,9 @@ step s2-create-table: SELECT create_distributed_table('t1', 'a'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-add-worker: SELECT 1 FROM master_add_node('localhost', 57638); @@ -700,8 +922,10 @@ step s2-commit: step s1-add-worker: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-commit: COMMIT; @@ -719,41 +943,59 @@ step s2-print-distributed-objects: SELECT run_command_on_workers($$SELECT count(*) FROM pg_proc WHERE proname='add';$$); pg_identify_object_as_address - +--------------------------------------------------------------------- (database,{regression},{}) (role,{postgres},{}) (schema,{myschema},{}) (schema,{public},{}) +(4 rows) + count +--------------------------------------------------------------------- + 1 +(1 row) -1 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,1) (localhost,57638,t,1) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-print-distributed-objects s2-create-schema s1-begin s2-begin s3-begin s1-add-worker s2-create-table s3-use-schema s3-create-table s1-commit s2-commit s3-commit s2-print-distributed-objects ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-print-distributed-objects: SELECT 1 FROM master_add_node('localhost', 57638); -- print an overview of all distributed objects @@ -770,36 +1012,54 @@ step s1-print-distributed-objects: SELECT master_remove_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 pg_identify_object_as_address - +--------------------------------------------------------------------- (database,{regression},{}) (role,{postgres},{}) (schema,{public},{}) +(3 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + master_remove_node +--------------------------------------------------------------------- +(1 row) step s2-create-schema: CREATE SCHEMA myschema; @@ -818,8 +1078,10 @@ step s1-add-worker: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-create-table: CREATE TABLE t1 (a int, b int); -- session needs to have replication factor set to 1, can't do in setup @@ -840,14 +1102,18 @@ step s1-commit: step s2-create-table: <... completed> create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-commit: COMMIT; step s3-create-table: <... completed> create_distributed_table +--------------------------------------------------------------------- +(1 row) step s3-commit: COMMIT; @@ -866,41 +1132,59 @@ step s2-print-distributed-objects: SELECT run_command_on_workers($$SELECT count(*) FROM pg_proc WHERE proname='add';$$); pg_identify_object_as_address - +--------------------------------------------------------------------- (database,{regression},{}) (role,{postgres},{}) (schema,{myschema},{}) (schema,{public},{}) +(4 rows) + count +--------------------------------------------------------------------- + 1 +(1 row) -1 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,1) (localhost,57638,t,1) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-print-distributed-objects s1-add-worker s2-create-schema s2-begin s3-begin s3-use-schema s2-create-table s3-create-table s2-commit s3-commit s2-print-distributed-objects ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-print-distributed-objects: SELECT 1 FROM master_add_node('localhost', 57638); -- print an overview of all distributed objects @@ -917,43 +1201,63 @@ step s1-print-distributed-objects: SELECT master_remove_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 pg_identify_object_as_address - +--------------------------------------------------------------------- (database,{regression},{}) (role,{postgres},{}) (schema,{public},{}) +(3 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + master_remove_node +--------------------------------------------------------------------- +(1 row) step s1-add-worker: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-create-schema: CREATE SCHEMA myschema; SET search_path TO myschema; @@ -974,7 +1278,9 @@ step s2-create-table: SELECT create_distributed_table('t1', 'a'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s3-create-table: CREATE TABLE t2 (a int, b int); @@ -987,7 +1293,9 @@ step s2-commit: step s3-create-table: <... completed> create_distributed_table +--------------------------------------------------------------------- +(1 row) step s3-commit: COMMIT; @@ -1006,41 +1314,59 @@ step s2-print-distributed-objects: SELECT run_command_on_workers($$SELECT count(*) FROM pg_proc WHERE proname='add';$$); pg_identify_object_as_address - +--------------------------------------------------------------------- (database,{regression},{}) (role,{postgres},{}) (schema,{myschema},{}) (schema,{public},{}) +(4 rows) + count +--------------------------------------------------------------------- + 1 +(1 row) -1 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,1) (localhost,57638,t,1) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-print-distributed-objects s1-begin s2-begin s3-begin s1-add-worker s2-create-schema s3-create-schema2 s2-create-table s3-create-table s1-commit s3-commit s2-commit s2-print-distributed-objects ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-print-distributed-objects: SELECT 1 FROM master_add_node('localhost', 57638); -- print an overview of all distributed objects @@ -1057,36 +1383,54 @@ step s1-print-distributed-objects: SELECT master_remove_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 pg_identify_object_as_address - +--------------------------------------------------------------------- (database,{regression},{}) (role,{postgres},{}) (schema,{public},{}) +(3 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + master_remove_node +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -1101,8 +1445,10 @@ step s1-add-worker: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-create-schema: CREATE SCHEMA myschema; SET search_path TO myschema; @@ -1128,11 +1474,15 @@ step s1-commit: step s2-create-table: <... completed> create_distributed_table +--------------------------------------------------------------------- +(1 row) step s3-create-table: <... completed> create_distributed_table +--------------------------------------------------------------------- +(1 row) step s3-commit: COMMIT; @@ -1154,42 +1504,60 @@ step s2-print-distributed-objects: SELECT run_command_on_workers($$SELECT count(*) FROM pg_proc WHERE proname='add';$$); pg_identify_object_as_address - +--------------------------------------------------------------------- (database,{regression},{}) (role,{postgres},{}) (schema,{myschema},{}) (schema,{myschema2},{}) (schema,{public},{}) +(5 rows) + count +--------------------------------------------------------------------- + 1 +(1 row) -1 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,1) (localhost,57638,t,1) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-print-distributed-objects s1-begin s1-add-worker s2-public-schema s2-create-type s1-commit s2-print-distributed-objects ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-print-distributed-objects: SELECT 1 FROM master_add_node('localhost', 57638); -- print an overview of all distributed objects @@ -1206,36 +1574,54 @@ step s1-print-distributed-objects: SELECT master_remove_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 pg_identify_object_as_address - +--------------------------------------------------------------------- (database,{regression},{}) (role,{postgres},{}) (schema,{public},{}) +(3 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + master_remove_node +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -1244,8 +1630,10 @@ step s1-add-worker: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-public-schema: SET search_path TO public; @@ -1270,41 +1658,59 @@ step s2-print-distributed-objects: SELECT run_command_on_workers($$SELECT count(*) FROM pg_proc WHERE proname='add';$$); pg_identify_object_as_address - +--------------------------------------------------------------------- (database,{regression},{}) (role,{postgres},{}) (schema,{public},{}) (type,{public.tt1},{}) +(4 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 1 +(1 row) -1 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,1) (localhost,57638,t,1) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-print-distributed-objects s1-begin s2-public-schema s2-create-type s1-add-worker s1-commit s2-print-distributed-objects ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-print-distributed-objects: SELECT 1 FROM master_add_node('localhost', 57638); -- print an overview of all distributed objects @@ -1321,36 +1727,54 @@ step s1-print-distributed-objects: SELECT master_remove_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 pg_identify_object_as_address - +--------------------------------------------------------------------- (database,{regression},{}) (role,{postgres},{}) (schema,{public},{}) +(3 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + master_remove_node +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -1365,8 +1789,10 @@ step s1-add-worker: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-commit: COMMIT; @@ -1384,41 +1810,59 @@ step s2-print-distributed-objects: SELECT run_command_on_workers($$SELECT count(*) FROM pg_proc WHERE proname='add';$$); pg_identify_object_as_address - +--------------------------------------------------------------------- (database,{regression},{}) (role,{postgres},{}) (schema,{public},{}) (type,{public.tt1},{}) +(4 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 1 +(1 row) -1 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,1) (localhost,57638,t,1) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-print-distributed-objects s1-begin s2-begin s2-create-schema s2-create-type s2-create-table-with-type s1-add-worker s2-commit s1-commit s2-print-distributed-objects ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-print-distributed-objects: SELECT 1 FROM master_add_node('localhost', 57638); -- print an overview of all distributed objects @@ -1435,36 +1879,54 @@ step s1-print-distributed-objects: SELECT master_remove_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 pg_identify_object_as_address - +--------------------------------------------------------------------- (database,{regression},{}) (role,{postgres},{}) (schema,{public},{}) +(3 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + master_remove_node +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -1486,7 +1948,9 @@ step s2-create-table-with-type: SELECT create_distributed_table('t1', 'a'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-add-worker: SELECT 1 FROM master_add_node('localhost', 57638); @@ -1496,8 +1960,10 @@ step s2-commit: step s1-add-worker: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-commit: COMMIT; @@ -1515,42 +1981,60 @@ step s2-print-distributed-objects: SELECT run_command_on_workers($$SELECT count(*) FROM pg_proc WHERE proname='add';$$); pg_identify_object_as_address - +--------------------------------------------------------------------- (database,{regression},{}) (role,{postgres},{}) (schema,{myschema},{}) (schema,{public},{}) (type,{myschema.tt1},{}) +(5 rows) + count +--------------------------------------------------------------------- + 1 +(1 row) -1 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,1) (localhost,57638,t,1) +(2 rows) + count +--------------------------------------------------------------------- + 1 +(1 row) -1 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,1) (localhost,57638,t,1) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-print-distributed-objects s1-begin s1-add-worker s2-public-schema s2-distribute-function s1-commit s2-begin s2-commit s3-wait-for-metadata-sync s2-print-distributed-objects ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-print-distributed-objects: SELECT 1 FROM master_add_node('localhost', 57638); -- print an overview of all distributed objects @@ -1567,36 +2051,54 @@ step s1-print-distributed-objects: SELECT master_remove_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 pg_identify_object_as_address - +--------------------------------------------------------------------- (database,{regression},{}) (role,{postgres},{}) (schema,{public},{}) +(3 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + master_remove_node +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -1605,8 +2107,10 @@ step s1-add-worker: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-public-schema: SET search_path TO public; @@ -1619,7 +2123,9 @@ step s1-commit: step s2-distribute-function: <... completed> create_distributed_function +--------------------------------------------------------------------- +(1 row) step s2-begin: BEGIN; @@ -1631,7 +2137,9 @@ step s3-wait-for-metadata-sync: SELECT public.wait_until_metadata_sync(5000); wait_until_metadata_sync +--------------------------------------------------------------------- +(1 row) step s2-print-distributed-objects: -- print an overview of all distributed objects @@ -1647,41 +2155,59 @@ step s2-print-distributed-objects: SELECT run_command_on_workers($$SELECT count(*) FROM pg_proc WHERE proname='add';$$); pg_identify_object_as_address - +--------------------------------------------------------------------- (database,{regression},{}) (function,"{public,add}","{integer,integer}") (role,{postgres},{}) (schema,{public},{}) +(4 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 1 +(1 row) -1 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,1) (localhost,57638,t,1) +(2 rows) + master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-print-distributed-objects s1-begin s2-public-schema s2-distribute-function s2-begin s2-commit s3-wait-for-metadata-sync s1-add-worker s1-commit s3-wait-for-metadata-sync s2-print-distributed-objects ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-print-distributed-objects: SELECT 1 FROM master_add_node('localhost', 57638); -- print an overview of all distributed objects @@ -1698,36 +2224,54 @@ step s1-print-distributed-objects: SELECT master_remove_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 pg_identify_object_as_address - +--------------------------------------------------------------------- (database,{regression},{}) (role,{postgres},{}) (schema,{public},{}) +(3 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + master_remove_node +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -1740,7 +2284,9 @@ step s2-distribute-function: SELECT create_distributed_function('add(INT,INT)', '$1'); create_distributed_function +--------------------------------------------------------------------- +(1 row) step s2-begin: BEGIN; @@ -1752,14 +2298,18 @@ step s3-wait-for-metadata-sync: SELECT public.wait_until_metadata_sync(5000); wait_until_metadata_sync +--------------------------------------------------------------------- +(1 row) step s1-add-worker: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-commit: COMMIT; @@ -1767,7 +2317,9 @@ step s3-wait-for-metadata-sync: SELECT public.wait_until_metadata_sync(5000); wait_until_metadata_sync +--------------------------------------------------------------------- +(1 row) step s2-print-distributed-objects: -- print an overview of all distributed objects @@ -1783,41 +2335,59 @@ step s2-print-distributed-objects: SELECT run_command_on_workers($$SELECT count(*) FROM pg_proc WHERE proname='add';$$); pg_identify_object_as_address - +--------------------------------------------------------------------- (database,{regression},{}) (function,"{public,add}","{integer,integer}") (role,{postgres},{}) (schema,{public},{}) +(4 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 1 +(1 row) -1 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,1) (localhost,57638,t,1) +(2 rows) + master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-print-distributed-objects s2-begin s2-create-schema s2-distribute-function s2-commit s3-wait-for-metadata-sync s1-begin s1-add-worker s1-commit s3-wait-for-metadata-sync s2-print-distributed-objects ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-print-distributed-objects: SELECT 1 FROM master_add_node('localhost', 57638); -- print an overview of all distributed objects @@ -1834,36 +2404,54 @@ step s1-print-distributed-objects: SELECT master_remove_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 pg_identify_object_as_address - +--------------------------------------------------------------------- (database,{regression},{}) (role,{postgres},{}) (schema,{public},{}) +(3 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + master_remove_node +--------------------------------------------------------------------- +(1 row) step s2-begin: BEGIN; @@ -1877,7 +2465,9 @@ step s2-distribute-function: SELECT create_distributed_function('add(INT,INT)', '$1'); create_distributed_function +--------------------------------------------------------------------- +(1 row) step s2-commit: COMMIT; @@ -1886,7 +2476,9 @@ step s3-wait-for-metadata-sync: SELECT public.wait_until_metadata_sync(5000); wait_until_metadata_sync +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -1895,8 +2487,10 @@ step s1-add-worker: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-commit: COMMIT; @@ -1904,7 +2498,9 @@ step s3-wait-for-metadata-sync: SELECT public.wait_until_metadata_sync(5000); wait_until_metadata_sync +--------------------------------------------------------------------- +(1 row) step s2-print-distributed-objects: -- print an overview of all distributed objects @@ -1920,34 +2516,50 @@ step s2-print-distributed-objects: SELECT run_command_on_workers($$SELECT count(*) FROM pg_proc WHERE proname='add';$$); pg_identify_object_as_address - +--------------------------------------------------------------------- (database,{regression},{}) (function,"{myschema,add}","{integer,integer}") (role,{postgres},{}) (schema,{myschema},{}) (schema,{public},{}) +(5 rows) + count +--------------------------------------------------------------------- + 1 +(1 row) -1 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,1) (localhost,57638,t,1) +(2 rows) + count +--------------------------------------------------------------------- + 0 +(1 row) -0 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + count +--------------------------------------------------------------------- + 1 +(1 row) -1 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,1) (localhost,57638,t,1) +(2 rows) + master_remove_node +--------------------------------------------------------------------- +(2 rows) diff --git a/src/test/regress/expected/isolation_extension_commands.out b/src/test/regress/expected/isolation_extension_commands.out index e3109a99d..d944a87cd 100644 --- a/src/test/regress/expected/isolation_extension_commands.out +++ b/src/test/regress/expected/isolation_extension_commands.out @@ -8,8 +8,10 @@ step s1-add-node-1: SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-create-extension-version-11: CREATE extension seg VERSION "1.1"; @@ -25,26 +27,38 @@ step s1-print: SELECT run_command_on_workers($$select nspname from pg_extension, pg_namespace where extname='seg' and pg_extension.extnamespace=pg_namespace.oid$$); count +--------------------------------------------------------------------- + 4 +(1 row) -4 -extname extversion nspname +extname|extversion|nspname +--------------------------------------------------------------------- +seg | 1.1|public +(1 row) -seg 1.1 public run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,seg) (localhost,57638,t,seg) -run_command_on_workers +(2 rows) +run_command_on_workers +--------------------------------------------------------------------- (localhost,57637,t,1.1) (localhost,57638,t,1.1) -run_command_on_workers +(2 rows) +run_command_on_workers +--------------------------------------------------------------------- (localhost,57637,t,public) (localhost,57638,t,public) +(2 rows) + master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-begin s1-add-node-1 s2-alter-extension-update-to-version-12 s1-commit s1-print @@ -55,8 +69,10 @@ step s1-add-node-1: SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-alter-extension-update-to-version-12: ALTER extension seg update to "1.2"; @@ -72,26 +88,38 @@ step s1-print: SELECT run_command_on_workers($$select nspname from pg_extension, pg_namespace where extname='seg' and pg_extension.extnamespace=pg_namespace.oid$$); count +--------------------------------------------------------------------- + 4 +(1 row) -4 -extname extversion nspname +extname|extversion|nspname +--------------------------------------------------------------------- +seg | 1.2|public +(1 row) -seg 1.2 public run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,seg) (localhost,57638,t,seg) -run_command_on_workers +(2 rows) +run_command_on_workers +--------------------------------------------------------------------- (localhost,57637,t,1.2) (localhost,57638,t,1.2) -run_command_on_workers +(2 rows) +run_command_on_workers +--------------------------------------------------------------------- (localhost,57637,t,public) (localhost,57638,t,public) +(2 rows) + master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-add-node-1 s1-begin s1-remove-node-1 s2-drop-extension s1-commit s1-print @@ -99,8 +127,10 @@ step s1-add-node-1: SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: BEGIN; @@ -108,8 +138,10 @@ step s1-remove-node-1: SELECT 1 FROM master_remove_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-drop-extension: drop extension seg; @@ -125,21 +157,33 @@ step s1-print: SELECT run_command_on_workers($$select nspname from pg_extension, pg_namespace where extname='seg' and pg_extension.extnamespace=pg_namespace.oid$$); count +--------------------------------------------------------------------- + 3 +(1 row) -3 -extname extversion nspname +extname|extversion|nspname +--------------------------------------------------------------------- +(0 rows) run_command_on_workers - +--------------------------------------------------------------------- (localhost,57638,t,"") +(1 row) + run_command_on_workers - +--------------------------------------------------------------------- (localhost,57638,t,"") +(1 row) + run_command_on_workers - +--------------------------------------------------------------------- (localhost,57638,t,"") +(1 row) + master_remove_node +--------------------------------------------------------------------- +(1 row) starting permutation: s1-begin s1-add-node-1 s2-create-extension-with-schema1 s1-commit s1-print @@ -150,8 +194,10 @@ step s1-add-node-1: SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-create-extension-with-schema1: CREATE extension seg with schema schema1; @@ -167,26 +213,38 @@ step s1-print: SELECT run_command_on_workers($$select nspname from pg_extension, pg_namespace where extname='seg' and pg_extension.extnamespace=pg_namespace.oid$$); count +--------------------------------------------------------------------- + 5 +(1 row) -5 -extname extversion nspname +extname|extversion|nspname +--------------------------------------------------------------------- +seg | 1.3|schema1 +(1 row) -seg 1.3 schema1 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,seg) (localhost,57638,t,seg) -run_command_on_workers +(2 rows) +run_command_on_workers +--------------------------------------------------------------------- (localhost,57637,t,1.2) (localhost,57638,t,1.3) -run_command_on_workers +(2 rows) +run_command_on_workers +--------------------------------------------------------------------- (localhost,57637,t,public) (localhost,57638,t,schema1) +(2 rows) + master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-begin s1-add-node-1 s2-drop-extension s1-commit s1-print @@ -197,8 +255,10 @@ step s1-add-node-1: SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-drop-extension: drop extension seg; @@ -214,25 +274,37 @@ step s1-print: SELECT run_command_on_workers($$select nspname from pg_extension, pg_namespace where extname='seg' and pg_extension.extnamespace=pg_namespace.oid$$); count +--------------------------------------------------------------------- + 4 +(1 row) -4 -extname extversion nspname +extname|extversion|nspname +--------------------------------------------------------------------- +(0 rows) run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") +(2 rows) + run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") +(2 rows) + run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") +(2 rows) + master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-add-node-1 s1-create-extension-with-schema2 s1-begin s1-remove-node-1 s2-alter-extension-set-schema3 s1-commit s1-print @@ -240,8 +312,10 @@ step s1-add-node-1: SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-create-extension-with-schema2: CREATE extension seg with schema schema2; @@ -252,8 +326,10 @@ step s1-remove-node-1: SELECT 1 FROM master_remove_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-alter-extension-set-schema3: alter extension seg set schema schema3; @@ -269,22 +345,34 @@ step s1-print: SELECT run_command_on_workers($$select nspname from pg_extension, pg_namespace where extname='seg' and pg_extension.extnamespace=pg_namespace.oid$$); count +--------------------------------------------------------------------- + 7 +(1 row) -7 -extname extversion nspname +extname|extversion|nspname +--------------------------------------------------------------------- +seg | 1.3|schema3 +(1 row) -seg 1.3 schema3 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57638,t,seg) -run_command_on_workers +(1 row) +run_command_on_workers +--------------------------------------------------------------------- (localhost,57638,t,1.3) +(1 row) + run_command_on_workers - +--------------------------------------------------------------------- (localhost,57638,t,schema3) -master_remove_node +(1 row) +master_remove_node +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-add-node-1 s2-drop-extension s1-begin s1-remove-node-1 s2-create-extension-with-schema1 s1-commit s1-print @@ -292,8 +380,10 @@ step s1-add-node-1: SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-drop-extension: drop extension seg; @@ -304,8 +394,10 @@ step s1-remove-node-1: SELECT 1 FROM master_remove_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-create-extension-with-schema1: CREATE extension seg with schema schema1; @@ -321,22 +413,34 @@ step s1-print: SELECT run_command_on_workers($$select nspname from pg_extension, pg_namespace where extname='seg' and pg_extension.extnamespace=pg_namespace.oid$$); count +--------------------------------------------------------------------- + 7 +(1 row) -7 -extname extversion nspname +extname|extversion|nspname +--------------------------------------------------------------------- +seg | 1.3|schema1 +(1 row) -seg 1.3 schema1 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57638,t,seg) -run_command_on_workers +(1 row) +run_command_on_workers +--------------------------------------------------------------------- (localhost,57638,t,1.3) +(1 row) + run_command_on_workers - +--------------------------------------------------------------------- (localhost,57638,t,schema1) -master_remove_node +(1 row) +master_remove_node +--------------------------------------------------------------------- + +(1 row) starting permutation: s2-add-node-1 s2-drop-extension s2-remove-node-1 s2-begin s2-create-extension-version-11 s1-add-node-1 s2-commit s1-print @@ -344,8 +448,10 @@ step s2-add-node-1: SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-drop-extension: drop extension seg; @@ -353,8 +459,10 @@ step s2-remove-node-1: SELECT 1 FROM master_remove_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-begin: BEGIN; @@ -365,8 +473,10 @@ step s1-add-node-1: SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-commit: COMMIT; @@ -378,26 +488,38 @@ step s1-print: SELECT run_command_on_workers($$select nspname from pg_extension, pg_namespace where extname='seg' and pg_extension.extnamespace=pg_namespace.oid$$); count +--------------------------------------------------------------------- + 6 +(1 row) -6 -extname extversion nspname +extname|extversion|nspname +--------------------------------------------------------------------- +seg | 1.1|public +(1 row) -seg 1.1 public run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") -run_command_on_workers +(2 rows) +run_command_on_workers +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") -run_command_on_workers +(2 rows) +run_command_on_workers +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") +(2 rows) + master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s2-drop-extension s2-add-node-1 s2-create-extension-version-11 s2-remove-node-1 s2-begin s2-alter-extension-update-to-version-12 s1-add-node-1 s2-commit s1-print @@ -408,8 +530,10 @@ step s2-add-node-1: SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-create-extension-version-11: CREATE extension seg VERSION "1.1"; @@ -417,8 +541,10 @@ step s2-remove-node-1: SELECT 1 FROM master_remove_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-begin: BEGIN; @@ -433,8 +559,10 @@ step s2-commit: step s1-add-node-1: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-print: select count(*) from citus.pg_dist_object ; select extname, extversion, nspname from pg_extension, pg_namespace where pg_namespace.oid=pg_extension.extnamespace and extname='seg'; @@ -443,26 +571,38 @@ step s1-print: SELECT run_command_on_workers($$select nspname from pg_extension, pg_namespace where extname='seg' and pg_extension.extnamespace=pg_namespace.oid$$); count +--------------------------------------------------------------------- + 7 +(1 row) -7 -extname extversion nspname +extname|extversion|nspname +--------------------------------------------------------------------- +seg | 1.2|public +(1 row) -seg 1.2 public run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,seg) (localhost,57638,t,seg) -run_command_on_workers +(2 rows) +run_command_on_workers +--------------------------------------------------------------------- (localhost,57637,t,1.1) (localhost,57638,t,1.2) -run_command_on_workers +(2 rows) +run_command_on_workers +--------------------------------------------------------------------- (localhost,57637,t,public) (localhost,57638,t,public) +(2 rows) + master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s2-add-node-1 s2-begin s2-drop-extension s1-remove-node-1 s2-commit s1-print @@ -470,8 +610,10 @@ step s2-add-node-1: SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-begin: BEGIN; @@ -486,8 +628,10 @@ step s2-commit: step s1-remove-node-1: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-print: select count(*) from citus.pg_dist_object ; select extname, extversion, nspname from pg_extension, pg_namespace where pg_namespace.oid=pg_extension.extnamespace and extname='seg'; @@ -496,21 +640,33 @@ step s1-print: SELECT run_command_on_workers($$select nspname from pg_extension, pg_namespace where extname='seg' and pg_extension.extnamespace=pg_namespace.oid$$); count +--------------------------------------------------------------------- + 6 +(1 row) -6 -extname extversion nspname +extname|extversion|nspname +--------------------------------------------------------------------- +(0 rows) run_command_on_workers - +--------------------------------------------------------------------- (localhost,57638,t,"") +(1 row) + run_command_on_workers - +--------------------------------------------------------------------- (localhost,57638,t,"") +(1 row) + run_command_on_workers - +--------------------------------------------------------------------- (localhost,57638,t,"") +(1 row) + master_remove_node +--------------------------------------------------------------------- +(1 row) starting permutation: s2-begin s2-create-extension-with-schema1 s1-add-node-1 s2-commit s1-print @@ -524,8 +680,10 @@ step s1-add-node-1: SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-commit: COMMIT; @@ -537,26 +695,38 @@ step s1-print: SELECT run_command_on_workers($$select nspname from pg_extension, pg_namespace where extname='seg' and pg_extension.extnamespace=pg_namespace.oid$$); count +--------------------------------------------------------------------- + 6 +(1 row) -6 -extname extversion nspname +extname|extversion|nspname +--------------------------------------------------------------------- +seg | 1.3|schema1 +(1 row) -seg 1.3 schema1 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") -run_command_on_workers +(2 rows) +run_command_on_workers +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") -run_command_on_workers +(2 rows) +run_command_on_workers +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") +(2 rows) + master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s2-drop-extension s2-add-node-1 s2-create-extension-with-schema2 s2-begin s2-alter-extension-version-13 s1-remove-node-1 s2-commit s1-print @@ -567,8 +737,10 @@ step s2-add-node-1: SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-create-extension-with-schema2: CREATE extension seg with schema schema2; @@ -586,8 +758,10 @@ step s2-commit: step s1-remove-node-1: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-print: select count(*) from citus.pg_dist_object ; select extname, extversion, nspname from pg_extension, pg_namespace where pg_namespace.oid=pg_extension.extnamespace and extname='seg'; @@ -596,22 +770,34 @@ step s1-print: SELECT run_command_on_workers($$select nspname from pg_extension, pg_namespace where extname='seg' and pg_extension.extnamespace=pg_namespace.oid$$); count +--------------------------------------------------------------------- + 7 +(1 row) -7 -extname extversion nspname +extname|extversion|nspname +--------------------------------------------------------------------- +seg | 1.3|schema2 +(1 row) -seg 1.3 schema2 run_command_on_workers - +--------------------------------------------------------------------- (localhost,57638,t,seg) -run_command_on_workers +(1 row) +run_command_on_workers +--------------------------------------------------------------------- (localhost,57638,t,1.3) +(1 row) + run_command_on_workers - +--------------------------------------------------------------------- (localhost,57638,t,schema2) -master_remove_node +(1 row) +master_remove_node +--------------------------------------------------------------------- + +(1 row) starting permutation: s2-drop-extension s2-add-node-1 s2-begin s2-create-extension-version-11 s1-remove-node-1 s2-commit s1-print @@ -622,8 +808,10 @@ step s2-add-node-1: SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-begin: BEGIN; @@ -634,8 +822,10 @@ step s1-remove-node-1: SELECT 1 FROM master_remove_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-commit: COMMIT; @@ -647,22 +837,34 @@ step s1-print: SELECT run_command_on_workers($$select nspname from pg_extension, pg_namespace where extname='seg' and pg_extension.extnamespace=pg_namespace.oid$$); count +--------------------------------------------------------------------- + 6 +(1 row) -6 -extname extversion nspname +extname|extversion|nspname +--------------------------------------------------------------------- +seg | 1.1|public +(1 row) -seg 1.1 public run_command_on_workers - +--------------------------------------------------------------------- (localhost,57638,t,"") +(1 row) + run_command_on_workers - +--------------------------------------------------------------------- (localhost,57638,t,"") +(1 row) + run_command_on_workers - +--------------------------------------------------------------------- (localhost,57638,t,"") +(1 row) + master_remove_node +--------------------------------------------------------------------- +(1 row) starting permutation: s2-drop-extension s2-add-node-1 s2-create-extension-version-11 s2-remove-node-1 s2-begin s2-drop-extension s1-add-node-1 s2-commit s1-print @@ -673,8 +875,10 @@ step s2-add-node-1: SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-create-extension-version-11: CREATE extension seg VERSION "1.1"; @@ -682,8 +886,10 @@ step s2-remove-node-1: SELECT 1 FROM master_remove_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-begin: BEGIN; @@ -698,8 +904,10 @@ step s2-commit: step s1-add-node-1: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-print: select count(*) from citus.pg_dist_object ; select extname, extversion, nspname from pg_extension, pg_namespace where pg_namespace.oid=pg_extension.extnamespace and extname='seg'; @@ -708,23 +916,35 @@ step s1-print: SELECT run_command_on_workers($$select nspname from pg_extension, pg_namespace where extname='seg' and pg_extension.extnamespace=pg_namespace.oid$$); count +--------------------------------------------------------------------- + 6 +(1 row) -6 -extname extversion nspname +extname|extversion|nspname +--------------------------------------------------------------------- +(0 rows) run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,seg) (localhost,57638,t,"") -run_command_on_workers +(2 rows) +run_command_on_workers +--------------------------------------------------------------------- (localhost,57637,t,1.3) (localhost,57638,t,"") -run_command_on_workers +(2 rows) +run_command_on_workers +--------------------------------------------------------------------- (localhost,57637,t,schema2) (localhost,57638,t,"") +(2 rows) + master_remove_node +--------------------------------------------------------------------- +(2 rows) diff --git a/src/test/regress/expected/isolation_get_all_active_transactions.out b/src/test/regress/expected/isolation_get_all_active_transactions.out index 3bc0437b0..9d94470ec 100644 --- a/src/test/regress/expected/isolation_get_all_active_transactions.out +++ b/src/test/regress/expected/isolation_get_all_active_transactions.out @@ -2,9 +2,11 @@ Parsed test spec with 3 sessions starting permutation: s1-grant s1-begin-insert s2-begin-insert s3-as-admin s3-as-user-1 s3-as-readonly s3-as-monitor s1-commit s2-commit run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"GRANT ROLE") (localhost,57638,t,"GRANT ROLE") +(2 rows) + step s1-grant: GRANT ALL ON test_table TO test_user_1; SELECT bool_and(success) FROM run_command_on_placements('test_table', 'GRANT ALL ON TABLE %s TO test_user_1'); @@ -12,11 +14,15 @@ step s1-grant: SELECT bool_and(success) FROM run_command_on_placements('test_table', 'GRANT ALL ON TABLE %s TO test_user_2'); bool_and - +--------------------------------------------------------------------- t +(1 row) + bool_and - +--------------------------------------------------------------------- t +(1 row) + step s1-begin-insert: BEGIN; SET ROLE test_user_1; @@ -33,11 +39,15 @@ step s3-as-admin: SELECT count(*) FROM get_global_active_transactions(); count +--------------------------------------------------------------------- + 2 +(1 row) -2 count +--------------------------------------------------------------------- + 4 +(1 row) -4 step s3-as-user-1: -- User should only be able to see its own transactions SET ROLE test_user_1; @@ -45,11 +55,15 @@ step s3-as-user-1: SELECT count(*) FROM get_global_active_transactions(); count +--------------------------------------------------------------------- + 1 +(1 row) -1 count +--------------------------------------------------------------------- + 2 +(1 row) -2 step s3-as-readonly: -- Other user should not see transactions SET ROLE test_readonly; @@ -57,11 +71,15 @@ step s3-as-readonly: SELECT count(*) FROM get_global_active_transactions(); count +--------------------------------------------------------------------- + 0 +(1 row) -0 count +--------------------------------------------------------------------- + 0 +(1 row) -0 step s3-as-monitor: -- Monitor should see all transactions SET ROLE test_monitor; @@ -69,11 +87,15 @@ step s3-as-monitor: SELECT count(*) FROM get_global_active_transactions(); count +--------------------------------------------------------------------- + 2 +(1 row) -2 count +--------------------------------------------------------------------- + 4 +(1 row) -4 step s1-commit: COMMIT; @@ -81,6 +103,8 @@ step s2-commit: COMMIT; run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,f,"ERROR: role ""test_user_1"" cannot be dropped because some objects depend on it") (localhost,57638,f,"ERROR: role ""test_user_1"" cannot be dropped because some objects depend on it") +(2 rows) + diff --git a/src/test/regress/expected/isolation_get_distributed_wait_queries_mx.out b/src/test/regress/expected/isolation_get_distributed_wait_queries_mx.out index 4833878ba..27e13263d 100644 --- a/src/test/regress/expected/isolation_get_distributed_wait_queries_mx.out +++ b/src/test/regress/expected/isolation_get_distributed_wait_queries_mx.out @@ -11,13 +11,17 @@ step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-update-ref-table: SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET value_1 = 12 WHERE user_id = 1'); @@ -25,32 +29,42 @@ step s2-update-ref-table: step s3-select-distributed-waiting-queries: SELECT blocked_statement, current_statement_in_blocking_process, waiting_node_name, blocking_node_name, waiting_node_port, blocking_node_port FROM citus_lock_waits; -blocked_statementcurrent_statement_in_blocking_processwaiting_node_nameblocking_node_namewaiting_node_portblocking_node_port - -UPDATE ref_table SET value_1 = 12 WHERE user_id = 1 +blocked_statement |current_statement_in_blocking_process|waiting_node_name|blocking_node_name|waiting_node_port|blocking_node_port +--------------------------------------------------------------------- +UPDATE ref_table SET value_1 = 12 WHERE user_id = 1| UPDATE ref_table SET value_1 = 15; -localhost coordinator_host57638 57636 +|localhost |coordinator_host | 57638| 57636 +(1 row) + step s1-commit: COMMIT; step s2-update-ref-table: <... completed> run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-update-ref-table s2-start-session-level-connection s2-begin-on-worker s2-update-ref-table s3-select-distributed-waiting-queries s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection @@ -58,31 +72,41 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-update-ref-table: SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET value_1 = 12 WHERE user_id = 1'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-update-ref-table: SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET value_1 = 12 WHERE user_id = 1'); @@ -90,39 +114,53 @@ step s2-update-ref-table: step s3-select-distributed-waiting-queries: SELECT blocked_statement, current_statement_in_blocking_process, waiting_node_name, blocking_node_name, waiting_node_port, blocking_node_port FROM citus_lock_waits; -blocked_statementcurrent_statement_in_blocking_processwaiting_node_nameblocking_node_namewaiting_node_portblocking_node_port +blocked_statement |current_statement_in_blocking_process |waiting_node_name|blocking_node_name|waiting_node_port|blocking_node_port +--------------------------------------------------------------------- +UPDATE ref_table SET value_1 = 12 WHERE user_id = 1|UPDATE ref_table SET value_1 = 12 WHERE user_id = 1|localhost |localhost | 57638| 57637 +(1 row) -UPDATE ref_table SET value_1 = 12 WHERE user_id = 1UPDATE ref_table SET value_1 = 12 WHERE user_id = 1localhost localhost 57638 57637 step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-update-ref-table: <... completed> run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-update-dist-table s2-start-session-level-connection s2-begin-on-worker s2-update-dist-table s3-select-distributed-waiting-queries s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection @@ -130,31 +168,41 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-update-dist-table: SELECT run_commands_on_session_level_connection_to_node('UPDATE tt1 SET value_1 = 4'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-update-dist-table: SELECT run_commands_on_session_level_connection_to_node('UPDATE tt1 SET value_1 = 5'); @@ -162,39 +210,53 @@ step s2-update-dist-table: step s3-select-distributed-waiting-queries: SELECT blocked_statement, current_statement_in_blocking_process, waiting_node_name, blocking_node_name, waiting_node_port, blocking_node_port FROM citus_lock_waits; -blocked_statementcurrent_statement_in_blocking_processwaiting_node_nameblocking_node_namewaiting_node_portblocking_node_port +blocked_statement |current_statement_in_blocking_process|waiting_node_name|blocking_node_name|waiting_node_port|blocking_node_port +--------------------------------------------------------------------- +UPDATE tt1 SET value_1 = 5|UPDATE tt1 SET value_1 = 4 |localhost |localhost | 57638| 57637 +(1 row) -UPDATE tt1 SET value_1 = 5UPDATE tt1 SET value_1 = 4localhost localhost 57638 57637 step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-update-dist-table: <... completed> run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-delete-from-ref-table s2-start-session-level-connection s2-begin-on-worker s2-update-ref-table s3-select-distributed-waiting-queries s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection @@ -202,31 +264,41 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-delete-from-ref-table: SELECT run_commands_on_session_level_connection_to_node('DELETE FROM ref_table WHERE user_id = 1'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-update-ref-table: SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET value_1 = 12 WHERE user_id = 1'); @@ -234,39 +306,53 @@ step s2-update-ref-table: step s3-select-distributed-waiting-queries: SELECT blocked_statement, current_statement_in_blocking_process, waiting_node_name, blocking_node_name, waiting_node_port, blocking_node_port FROM citus_lock_waits; -blocked_statementcurrent_statement_in_blocking_processwaiting_node_nameblocking_node_namewaiting_node_portblocking_node_port +blocked_statement |current_statement_in_blocking_process |waiting_node_name|blocking_node_name|waiting_node_port|blocking_node_port +--------------------------------------------------------------------- +UPDATE ref_table SET value_1 = 12 WHERE user_id = 1|DELETE FROM ref_table WHERE user_id = 1|localhost |localhost | 57638| 57637 +(1 row) -UPDATE ref_table SET value_1 = 12 WHERE user_id = 1DELETE FROM ref_table WHERE user_id = 1localhost localhost 57638 57637 step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-update-ref-table: <... completed> run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-insert-into-ref-table s2-start-session-level-connection s2-begin-on-worker s2-update-ref-table s3-select-distributed-waiting-queries s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection @@ -274,31 +360,41 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-insert-into-ref-table: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table VALUES(8,81),(9,91)'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-update-ref-table: SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET value_1 = 12 WHERE user_id = 1'); @@ -306,39 +402,53 @@ step s2-update-ref-table: step s3-select-distributed-waiting-queries: SELECT blocked_statement, current_statement_in_blocking_process, waiting_node_name, blocking_node_name, waiting_node_port, blocking_node_port FROM citus_lock_waits; -blocked_statementcurrent_statement_in_blocking_processwaiting_node_nameblocking_node_namewaiting_node_portblocking_node_port +blocked_statement |current_statement_in_blocking_process |waiting_node_name|blocking_node_name|waiting_node_port|blocking_node_port +--------------------------------------------------------------------- +UPDATE ref_table SET value_1 = 12 WHERE user_id = 1|INSERT INTO ref_table VALUES(8,81),(9,91)|localhost |localhost | 57638| 57637 +(1 row) -UPDATE ref_table SET value_1 = 12 WHERE user_id = 1INSERT INTO ref_table VALUES(8,81),(9,91)localhost localhost 57638 57637 step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-update-ref-table: <... completed> run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-insert-into-ref-table s2-start-session-level-connection s2-begin-on-worker s2-insert-into-ref-table s3-select-distributed-waiting-queries s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection @@ -346,69 +456,93 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-insert-into-ref-table: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table VALUES(8,81),(9,91)'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-insert-into-ref-table: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table VALUES(8,81),(9,91)'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-distributed-waiting-queries: SELECT blocked_statement, current_statement_in_blocking_process, waiting_node_name, blocking_node_name, waiting_node_port, blocking_node_port FROM citus_lock_waits; -blocked_statementcurrent_statement_in_blocking_processwaiting_node_nameblocking_node_namewaiting_node_portblocking_node_port +blocked_statement|current_statement_in_blocking_process|waiting_node_name|blocking_node_name|waiting_node_port|blocking_node_port +--------------------------------------------------------------------- +(0 rows) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-copy-to-ref-table s2-start-session-level-connection s2-begin-on-worker s2-update-ref-table s3-select-distributed-waiting-queries s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection @@ -416,31 +550,41 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-copy-to-ref-table: SELECT run_commands_on_session_level_connection_to_node('COPY ref_table FROM PROGRAM ''echo 10, 101 && echo 11, 111'' WITH CSV'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-update-ref-table: SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET value_1 = 12 WHERE user_id = 1'); @@ -448,39 +592,53 @@ step s2-update-ref-table: step s3-select-distributed-waiting-queries: SELECT blocked_statement, current_statement_in_blocking_process, waiting_node_name, blocking_node_name, waiting_node_port, blocking_node_port FROM citus_lock_waits; -blocked_statementcurrent_statement_in_blocking_processwaiting_node_nameblocking_node_namewaiting_node_portblocking_node_port +blocked_statement |current_statement_in_blocking_process |waiting_node_name|blocking_node_name|waiting_node_port|blocking_node_port +--------------------------------------------------------------------- +UPDATE ref_table SET value_1 = 12 WHERE user_id = 1|COPY ref_table FROM PROGRAM 'echo 10, 101 && echo 11, 111' WITH CSV|localhost |localhost | 57638| 57637 +(1 row) -UPDATE ref_table SET value_1 = 12 WHERE user_id = 1COPY ref_table FROM PROGRAM 'echo 10, 101 && echo 11, 111' WITH CSVlocalhost localhost 57638 57637 step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-update-ref-table: <... completed> run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-copy-to-ref-table s2-start-session-level-connection s2-begin-on-worker s2-insert-into-ref-table s3-select-distributed-waiting-queries s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection @@ -488,69 +646,93 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-copy-to-ref-table: SELECT run_commands_on_session_level_connection_to_node('COPY ref_table FROM PROGRAM ''echo 10, 101 && echo 11, 111'' WITH CSV'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-insert-into-ref-table: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table VALUES(8,81),(9,91)'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-distributed-waiting-queries: SELECT blocked_statement, current_statement_in_blocking_process, waiting_node_name, blocking_node_name, waiting_node_port, blocking_node_port FROM citus_lock_waits; -blocked_statementcurrent_statement_in_blocking_processwaiting_node_nameblocking_node_namewaiting_node_portblocking_node_port +blocked_statement|current_statement_in_blocking_process|waiting_node_name|blocking_node_name|waiting_node_port|blocking_node_port +--------------------------------------------------------------------- +(0 rows) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-copy-to-ref-table s2-start-session-level-connection s2-begin-on-worker s2-copy-to-ref-table s3-select-distributed-waiting-queries s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection @@ -558,69 +740,93 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-copy-to-ref-table: SELECT run_commands_on_session_level_connection_to_node('COPY ref_table FROM PROGRAM ''echo 10, 101 && echo 11, 111'' WITH CSV'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-copy-to-ref-table: SELECT run_commands_on_session_level_connection_to_node('COPY ref_table FROM PROGRAM ''echo 10, 101 && echo 11, 111'' WITH CSV'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-distributed-waiting-queries: SELECT blocked_statement, current_statement_in_blocking_process, waiting_node_name, blocking_node_name, waiting_node_port, blocking_node_port FROM citus_lock_waits; -blocked_statementcurrent_statement_in_blocking_processwaiting_node_nameblocking_node_namewaiting_node_portblocking_node_port +blocked_statement|current_statement_in_blocking_process|waiting_node_name|blocking_node_name|waiting_node_port|blocking_node_port +--------------------------------------------------------------------- +(0 rows) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-select-for-update s2-start-session-level-connection s2-begin-on-worker s2-update-ref-table s3-select-distributed-waiting-queries s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection @@ -628,31 +834,41 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-select-for-update: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table FOR UPDATE'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-update-ref-table: SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET value_1 = 12 WHERE user_id = 1'); @@ -660,39 +876,53 @@ step s2-update-ref-table: step s3-select-distributed-waiting-queries: SELECT blocked_statement, current_statement_in_blocking_process, waiting_node_name, blocking_node_name, waiting_node_port, blocking_node_port FROM citus_lock_waits; -blocked_statementcurrent_statement_in_blocking_processwaiting_node_nameblocking_node_namewaiting_node_portblocking_node_port +blocked_statement |current_statement_in_blocking_process|waiting_node_name|blocking_node_name|waiting_node_port|blocking_node_port +--------------------------------------------------------------------- +UPDATE ref_table SET value_1 = 12 WHERE user_id = 1|SELECT * FROM ref_table FOR UPDATE |localhost |localhost | 57638| 57637 +(1 row) -UPDATE ref_table SET value_1 = 12 WHERE user_id = 1SELECT * FROM ref_table FOR UPDATElocalhost localhost 57638 57637 step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-update-ref-table: <... completed> run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s2-start-session-level-connection s2-begin-on-worker s2-insert-into-ref-table s1-begin s1-alter-table s3-select-distributed-waiting-queries s2-commit-worker s1-commit s2-stop-connection @@ -700,19 +930,25 @@ step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-insert-into-ref-table: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table VALUES(8,81),(9,91)'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -723,16 +959,20 @@ step s1-alter-table: step s3-select-distributed-waiting-queries: SELECT blocked_statement, current_statement_in_blocking_process, waiting_node_name, blocking_node_name, waiting_node_port, blocking_node_port FROM citus_lock_waits; -blocked_statementcurrent_statement_in_blocking_processwaiting_node_nameblocking_node_namewaiting_node_portblocking_node_port - +blocked_statement |current_statement_in_blocking_process |waiting_node_name|blocking_node_name|waiting_node_port|blocking_node_port +--------------------------------------------------------------------- ALTER TABLE ref_table ADD CONSTRAINT rf_p_key PRIMARY KEY(user_id); -INSERT INTO ref_table VALUES(8,81),(9,91)coordinator_hostlocalhost 57636 57638 +|INSERT INTO ref_table VALUES(8,81),(9,91)|coordinator_host |localhost | 57636| 57638 +(1 row) + step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-alter-table: <... completed> step s1-commit: @@ -742,10 +982,14 @@ step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-begin s1-update-on-the-coordinator s2-update-on-the-coordinator s3-select-distributed-waiting-queries s1-commit @@ -761,19 +1005,23 @@ step s2-update-on-the-coordinator: step s3-select-distributed-waiting-queries: SELECT blocked_statement, current_statement_in_blocking_process, waiting_node_name, blocking_node_name, waiting_node_port, blocking_node_port FROM citus_lock_waits; -blocked_statementcurrent_statement_in_blocking_processwaiting_node_nameblocking_node_namewaiting_node_portblocking_node_port - +blocked_statement |current_statement_in_blocking_process|waiting_node_name|blocking_node_name|waiting_node_port|blocking_node_port +--------------------------------------------------------------------- UPDATE tt1 SET value_1 = 4; - +| UPDATE tt1 SET value_1 = 4; -coordinator_hostcoordinator_host57636 57636 + |coordinator_host |coordinator_host | 57636| 57636 +(1 row) + step s1-commit: COMMIT; step s2-update-on-the-coordinator: <... completed> restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-update-dist-table s4-start-session-level-connection s4-begin-on-worker s4-update-dist-table s3-select-distributed-waiting-queries s1-commit-worker s4-commit-worker s1-stop-connection s4-stop-connection @@ -781,31 +1029,41 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-update-dist-table: SELECT run_commands_on_session_level_connection_to_node('UPDATE tt1 SET value_1 = 4'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s4-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s4-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s4-update-dist-table: SELECT run_commands_on_session_level_connection_to_node('UPDATE tt1 SET value_1 = 5'); @@ -813,37 +1071,51 @@ step s4-update-dist-table: step s3-select-distributed-waiting-queries: SELECT blocked_statement, current_statement_in_blocking_process, waiting_node_name, blocking_node_name, waiting_node_port, blocking_node_port FROM citus_lock_waits; -blocked_statementcurrent_statement_in_blocking_processwaiting_node_nameblocking_node_namewaiting_node_portblocking_node_port +blocked_statement |current_statement_in_blocking_process|waiting_node_name|blocking_node_name|waiting_node_port|blocking_node_port +--------------------------------------------------------------------- +UPDATE tt1 SET value_1 = 5|UPDATE tt1 SET value_1 = 4 |localhost |localhost | 57637| 57637 +(1 row) -UPDATE tt1 SET value_1 = 5UPDATE tt1 SET value_1 = 4localhost localhost 57637 57637 step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s4-update-dist-table: <... completed> run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s4-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s4-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) diff --git a/src/test/regress/expected/isolation_hash_copy_vs_all.out b/src/test/regress/expected/isolation_hash_copy_vs_all.out index c4159d9b5..4cbaa0028 100644 --- a/src/test/regress/expected/isolation_hash_copy_vs_all.out +++ b/src/test/regress/expected/isolation_hash_copy_vs_all.out @@ -2,7 +2,9 @@ Parsed test spec with 2 sessions starting permutation: s1-initialize s1-begin s1-copy s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -11,50 +13,66 @@ step s2-copy: COPY hash_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 15 +(1 row) -15 starting permutation: s1-initialize s1-begin s1-copy s2-router-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-copy: COPY hash_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s2-router-select: SELECT * FROM hash_copy WHERE id = 1; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-copy s2-real-time-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-copy: COPY hash_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s2-real-time-select: SELECT * FROM hash_copy ORDER BY 1, 2; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-copy s2-adaptive-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -63,22 +81,28 @@ step s2-adaptive-select: SET citus.enable_repartition_joins TO ON; SELECT * FROM hash_copy AS t1 JOIN hash_copy AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-copy s2-insert s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -87,12 +111,16 @@ step s2-insert: INSERT INTO hash_copy VALUES(0, 'k', 0); step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 11 +(1 row) -11 starting permutation: s1-initialize s1-begin s1-copy s2-insert-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -101,12 +129,16 @@ step s2-insert-select: INSERT INTO hash_copy SELECT * FROM hash_copy; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 15 +(1 row) -15 starting permutation: s1-initialize s1-begin s1-copy s2-update s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -115,12 +147,16 @@ step s2-update: UPDATE hash_copy SET data = 'l' WHERE id = 0; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-copy s2-delete s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -129,12 +165,16 @@ step s2-delete: DELETE FROM hash_copy WHERE id = 1; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 9 +(1 row) -9 starting permutation: s1-initialize s1-begin s1-copy s2-truncate s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -144,12 +184,16 @@ step s1-commit: COMMIT; step s2-truncate: <... completed> step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 0 +(1 row) -0 starting permutation: s1-initialize s1-begin s1-copy s2-drop s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -162,7 +206,9 @@ ERROR: relation "hash_copy" does not exist starting permutation: s1-initialize s1-begin s1-copy s2-ddl-create-index s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -172,17 +218,23 @@ step s1-commit: COMMIT; step s2-ddl-create-index: <... completed> step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''hash_copy%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) +(2 rows) + starting permutation: s1-initialize s1-ddl-create-index s1-begin s1-copy s2-ddl-drop-index s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-ddl-create-index: CREATE INDEX hash_copy_index ON hash_copy(id); @@ -193,17 +245,23 @@ step s1-commit: COMMIT; step s2-ddl-drop-index: <... completed> step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''hash_copy%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + starting permutation: s1-initialize s1-begin s1-copy s2-ddl-create-index-concurrently s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -213,17 +271,23 @@ step s1-commit: COMMIT; step s2-ddl-create-index-concurrently: <... completed> step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''hash_copy%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) +(2 rows) + starting permutation: s1-initialize s1-begin s1-copy s2-ddl-add-column s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -233,17 +297,23 @@ step s1-commit: COMMIT; step s2-ddl-add-column: <... completed> step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''hash_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + starting permutation: s1-initialize s1-ddl-add-column s1-begin s1-copy-additional-column s2-ddl-drop-column s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-ddl-add-column: ALTER TABLE hash_copy ADD new_column int DEFAULT 0; @@ -254,17 +324,23 @@ step s1-commit: COMMIT; step s2-ddl-drop-column: <... completed> step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''hash_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") +(2 rows) + starting permutation: s1-initialize s1-begin s1-copy s2-ddl-rename-column s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -274,34 +350,46 @@ step s1-commit: COMMIT; step s2-ddl-rename-column: <... completed> step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''hash_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + starting permutation: s1-initialize s1-begin s1-copy s2-table-size s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-copy: COPY hash_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s2-table-size: SELECT citus_total_relation_size('hash_copy'); citus_total_relation_size +--------------------------------------------------------------------- + 65536 +(1 row) -65536 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-copy s2-master-modify-multiple-shards s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -310,12 +398,16 @@ step s2-master-modify-multiple-shards: DELETE FROM hash_copy; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 5 +(1 row) -5 starting permutation: s1-initialize s1-begin s1-copy s2-master-drop-all-shards s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -324,16 +416,22 @@ step s2-master-drop-all-shards: SELECT citus_drop_all_shards('hash_copy'::regcla step s1-commit: COMMIT; step s2-master-drop-all-shards: <... completed> citus_drop_all_shards +--------------------------------------------------------------------- + 4 +(1 row) -4 step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 0 +(1 row) -0 starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s1-copy s2-distribute-table s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop: DROP TABLE hash_copy; step s1-create-non-distributed-table: CREATE TABLE hash_copy(id integer, data text, int_data int); COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; @@ -344,16 +442,22 @@ step s2-distribute-table: SELECT create_distributed_table('hash_copy', 'id'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 15 +(1 row) -15 starting permutation: s1-recreate-with-replication-2 s1-initialize s1-begin s1-copy s2-update s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-recreate-with-replication-2: DROP TABLE hash_copy; @@ -362,7 +466,9 @@ step s1-recreate-with-replication-2: SELECT create_distributed_table('hash_copy', 'id'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -372,12 +478,16 @@ step s1-commit: COMMIT; step s2-update: <... completed> step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-recreate-with-replication-2 s1-initialize s1-begin s1-copy s2-delete s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-recreate-with-replication-2: DROP TABLE hash_copy; @@ -386,7 +496,9 @@ step s1-recreate-with-replication-2: SELECT create_distributed_table('hash_copy', 'id'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -396,12 +508,16 @@ step s1-commit: COMMIT; step s2-delete: <... completed> step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 9 +(1 row) -9 starting permutation: s1-recreate-with-replication-2 s1-initialize s1-begin s1-copy s2-insert-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-recreate-with-replication-2: DROP TABLE hash_copy; @@ -410,7 +526,9 @@ step s1-recreate-with-replication-2: SELECT create_distributed_table('hash_copy', 'id'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -420,12 +538,16 @@ step s1-commit: COMMIT; step s2-insert-select: <... completed> step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 20 +(1 row) -20 starting permutation: s1-recreate-with-replication-2 s1-initialize s1-begin s1-copy s2-master-modify-multiple-shards s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-recreate-with-replication-2: DROP TABLE hash_copy; @@ -434,7 +556,9 @@ step s1-recreate-with-replication-2: SELECT create_distributed_table('hash_copy', 'id'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -444,50 +568,66 @@ step s1-commit: COMMIT; step s2-master-modify-multiple-shards: <... completed> step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 0 +(1 row) -0 starting permutation: s1-initialize s1-begin s1-router-select s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-router-select: SELECT * FROM hash_copy WHERE id = 1; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s2-copy: COPY hash_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-real-time-select s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-real-time-select: SELECT * FROM hash_copy ORDER BY 1, 2; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s2-copy: COPY hash_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-adaptive-select s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -495,23 +635,29 @@ step s1-adaptive-select: SET citus.enable_repartition_joins TO ON; SELECT * FROM hash_copy AS t1 JOIN hash_copy AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s2-copy: COPY hash_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-insert s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -520,12 +666,16 @@ step s2-copy: COPY hash_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 11 +(1 row) -11 starting permutation: s1-initialize s1-begin s1-insert-select s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -534,12 +684,16 @@ step s2-copy: COPY hash_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 15 +(1 row) -15 starting permutation: s1-initialize s1-begin s1-update s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -548,12 +702,16 @@ step s2-copy: COPY hash_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-delete s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -562,12 +720,16 @@ step s2-copy: COPY hash_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 9 +(1 row) -9 starting permutation: s1-initialize s1-begin s1-truncate s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -577,12 +739,16 @@ step s1-commit: COMMIT; step s2-copy: <... completed> step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 5 +(1 row) -5 starting permutation: s1-initialize s1-begin s1-drop s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -596,7 +762,9 @@ ERROR: relation "hash_copy" does not exist starting permutation: s1-initialize s1-begin s1-ddl-create-index s2-copy s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -606,17 +774,23 @@ step s1-commit: COMMIT; step s2-copy: <... completed> step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''hash_copy%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) +(2 rows) + starting permutation: s1-initialize s1-ddl-create-index s1-begin s1-ddl-drop-index s2-copy s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-ddl-create-index: CREATE INDEX hash_copy_index ON hash_copy(id); @@ -627,17 +801,23 @@ step s1-commit: COMMIT; step s2-copy: <... completed> step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''hash_copy%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + starting permutation: s1-initialize s1-begin s1-ddl-add-column s2-copy s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -648,17 +828,23 @@ step s2-copy: <... completed> ERROR: missing data for column "new_column" step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''hash_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + starting permutation: s1-initialize s1-ddl-add-column s1-begin s1-ddl-drop-column s2-copy s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-ddl-add-column: ALTER TABLE hash_copy ADD new_column int DEFAULT 0; @@ -669,17 +855,23 @@ step s1-commit: COMMIT; step s2-copy: <... completed> step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''hash_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") +(2 rows) + starting permutation: s1-initialize s1-begin s1-ddl-rename-column s2-copy s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -689,34 +881,46 @@ step s1-commit: COMMIT; step s2-copy: <... completed> step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''hash_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + starting permutation: s1-initialize s1-begin s1-table-size s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-table-size: SELECT citus_total_relation_size('hash_copy'); citus_total_relation_size +--------------------------------------------------------------------- + 57344 +(1 row) -57344 step s2-copy: COPY hash_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-master-modify-multiple-shards s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -725,31 +929,41 @@ step s2-copy: COPY hash_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 5 +(1 row) -5 starting permutation: s1-initialize s1-begin s1-master-drop-all-shards s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-master-drop-all-shards: SELECT citus_drop_all_shards('hash_copy'::regclass, 'public', 'hash_copy'); citus_drop_all_shards +--------------------------------------------------------------------- + 4 +(1 row) -4 step s2-copy: COPY hash_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s1-commit: COMMIT; step s2-copy: <... completed> ERROR: could not find any shards into which to copy step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 0 +(1 row) -0 starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s1-distribute-table s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop: DROP TABLE hash_copy; step s1-create-non-distributed-table: CREATE TABLE hash_copy(id integer, data text, int_data int); COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; @@ -757,12 +971,16 @@ step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && step s1-begin: BEGIN; step s1-distribute-table: SELECT create_distributed_table('hash_copy', 'id'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-copy: COPY hash_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s1-commit: COMMIT; step s2-copy: <... completed> step s1-select-count: SELECT COUNT(*) FROM hash_copy; count +--------------------------------------------------------------------- + 15 +(1 row) -15 diff --git a/src/test/regress/expected/isolation_insert_select_conflict.out b/src/test/regress/expected/isolation_insert_select_conflict.out index d20f98b09..9c5411727 100644 --- a/src/test/regress/expected/isolation_insert_select_conflict.out +++ b/src/test/regress/expected/isolation_insert_select_conflict.out @@ -2,7 +2,9 @@ Parsed test spec with 2 sessions starting permutation: s1-begin s1-insert-into-select-conflict-update s2-begin s2-update s1-commit s2-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-begin: SET citus.shard_replication_factor to 1; @@ -21,13 +23,15 @@ step s1-insert-into-select-conflict-update: ) as foo ON CONFLICT(col_1) DO UPDATE SET col_2 = EXCLUDED.col_2 RETURNING *; -col_1 col_2 +col_1|col_2 +--------------------------------------------------------------------- + 1| 1 + 2| 2 + 3| 3 + 4| 4 + 5| 5 +(5 rows) -1 1 -2 2 -3 3 -4 4 -5 5 step s2-begin: BEGIN; @@ -44,7 +48,9 @@ step s2-commit: starting permutation: s1-begin s1-insert-into-select-conflict-do-nothing s2-begin s2-delete s1-commit s2-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-begin: SET citus.shard_replication_factor to 1; @@ -79,7 +85,9 @@ step s2-commit: starting permutation: s1-begin s1-insert-into-select-conflict-do-nothing s2-begin s2-insert-into-select-conflict-update s1-commit s2-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-begin: SET citus.shard_replication_factor to 1; @@ -118,20 +126,24 @@ step s1-commit: COMMIT; step s2-insert-into-select-conflict-update: <... completed> -col_1 col_2 +col_1|col_2 +--------------------------------------------------------------------- + 1| 1 + 2| 2 + 3| 3 + 4| 4 + 5| 5 +(5 rows) -1 1 -2 2 -3 3 -4 4 -5 5 step s2-commit: COMMIT; starting permutation: s1-begin s1-insert-into-select-conflict-update s2-begin s2-insert-into-select-conflict-update s1-commit s2-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-begin: SET citus.shard_replication_factor to 1; @@ -150,13 +162,15 @@ step s1-insert-into-select-conflict-update: ) as foo ON CONFLICT(col_1) DO UPDATE SET col_2 = EXCLUDED.col_2 RETURNING *; -col_1 col_2 +col_1|col_2 +--------------------------------------------------------------------- + 1| 1 + 2| 2 + 3| 3 + 4| 4 + 5| 5 +(5 rows) -1 1 -2 2 -3 3 -4 4 -5 5 step s2-begin: BEGIN; @@ -177,20 +191,24 @@ step s1-commit: COMMIT; step s2-insert-into-select-conflict-update: <... completed> -col_1 col_2 +col_1|col_2 +--------------------------------------------------------------------- + 1| 1 + 2| 2 + 3| 3 + 4| 4 + 5| 5 +(5 rows) -1 1 -2 2 -3 3 -4 4 -5 5 step s2-commit: COMMIT; starting permutation: s1-begin s1-insert-into-select-conflict-update s2-begin s2-insert-into-select-conflict-do-nothing s1-commit s2-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-begin: SET citus.shard_replication_factor to 1; @@ -209,13 +227,15 @@ step s1-insert-into-select-conflict-update: ) as foo ON CONFLICT(col_1) DO UPDATE SET col_2 = EXCLUDED.col_2 RETURNING *; -col_1 col_2 +col_1|col_2 +--------------------------------------------------------------------- + 1| 1 + 2| 2 + 3| 3 + 4| 4 + 5| 5 +(5 rows) -1 1 -2 2 -3 3 -4 4 -5 5 step s2-begin: BEGIN; @@ -242,7 +262,9 @@ step s2-commit: starting permutation: s1-begin-replication-factor-2 s1-insert-into-select-conflict-update-replication-factor-2 s2-begin-replication-factor-2 s2-insert-into-select-conflict-update-replication-factor-2 s1-commit s2-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-begin-replication-factor-2: SET citus.shard_replication_factor to 2; @@ -261,13 +283,15 @@ step s1-insert-into-select-conflict-update-replication-factor-2: ) as foo ON CONFLICT(col_1) DO UPDATE SET col_2 = EXCLUDED.col_2 RETURNING *; -col_1 col_2 col_3 +col_1|col_2|col_3 +--------------------------------------------------------------------- + 1| 1| + 2| 2| + 3| 3| + 4| 4| + 5| 5| +(5 rows) -1 1 -2 2 -3 3 -4 4 -5 5 step s2-begin-replication-factor-2: SET citus.shard_replication_factor to 2; BEGIN; @@ -289,13 +313,15 @@ step s1-commit: COMMIT; step s2-insert-into-select-conflict-update-replication-factor-2: <... completed> -col_1 col_2 col_3 +col_1|col_2|col_3 +--------------------------------------------------------------------- + 1| 1| + 2| 2| + 3| 3| + 4| 4| + 5| 5| +(5 rows) -1 1 -2 2 -3 3 -4 4 -5 5 step s2-commit: COMMIT; diff --git a/src/test/regress/expected/isolation_insert_select_repartition.out b/src/test/regress/expected/isolation_insert_select_repartition.out index ab2579021..1bc95ed3a 100644 --- a/src/test/regress/expected/isolation_insert_select_repartition.out +++ b/src/test/regress/expected/isolation_insert_select_repartition.out @@ -8,18 +8,20 @@ step s2-delete-from-source: DELETE FROM source_table; step s1-end: END; step s2-end: END; step s1-select-target: SELECT * FROM target_table ORDER BY a; -a b + a| b +--------------------------------------------------------------------- + 1| 1 + 2| 4 + 3| 9 + 4| 16 + 5| 25 + 6| 36 + 7| 49 + 8| 64 + 9| 81 +10|100 +(10 rows) -1 1 -2 4 -3 9 -4 16 -5 25 -6 36 -7 49 -8 64 -9 81 -10 100 starting permutation: s1-begin s2-begin s1-repartitioned-insert-select s2-update-source s1-end s2-end s1-select-target step s1-begin: BEGIN; @@ -29,18 +31,20 @@ step s2-update-source: UPDATE source_table SET b = 50 - b; step s1-end: END; step s2-end: END; step s1-select-target: SELECT * FROM target_table ORDER BY a; -a b + a| b +--------------------------------------------------------------------- + 1| 1 + 2| 4 + 3| 9 + 4| 16 + 5| 25 + 6| 36 + 7| 49 + 8| 64 + 9| 81 +10|100 +(10 rows) -1 1 -2 4 -3 9 -4 16 -5 25 -6 36 -7 49 -8 64 -9 81 -10 100 starting permutation: s1-begin s2-begin s1-repartitioned-insert-select s2-insert-into-source s1-end s2-end s1-select-target step s1-begin: BEGIN; @@ -50,18 +54,20 @@ step s2-insert-into-source: INSERT INTO source_table VALUES (0, 0); step s1-end: END; step s2-end: END; step s1-select-target: SELECT * FROM target_table ORDER BY a; -a b + a| b +--------------------------------------------------------------------- + 1| 1 + 2| 4 + 3| 9 + 4| 16 + 5| 25 + 6| 36 + 7| 49 + 8| 64 + 9| 81 +10|100 +(10 rows) -1 1 -2 4 -3 9 -4 16 -5 25 -6 36 -7 49 -8 64 -9 81 -10 100 starting permutation: s1-begin s2-begin s2-delete-from-source s1-repartitioned-insert-select s1-end s2-end s1-select-target step s1-begin: BEGIN; @@ -71,18 +77,20 @@ step s1-repartitioned-insert-select: INSERT INTO target_table SELECT * FROM sour step s1-end: END; step s2-end: END; step s1-select-target: SELECT * FROM target_table ORDER BY a; -a b + a| b +--------------------------------------------------------------------- + 1| 1 + 2| 4 + 3| 9 + 4| 16 + 5| 25 + 6| 36 + 7| 49 + 8| 64 + 9| 81 +10|100 +(10 rows) -1 1 -2 4 -3 9 -4 16 -5 25 -6 36 -7 49 -8 64 -9 81 -10 100 starting permutation: s1-begin s2-begin s2-update-source s1-repartitioned-insert-select s1-end s2-end s1-select-target step s1-begin: BEGIN; @@ -92,18 +100,20 @@ step s1-repartitioned-insert-select: INSERT INTO target_table SELECT * FROM sour step s1-end: END; step s2-end: END; step s1-select-target: SELECT * FROM target_table ORDER BY a; -a b + a| b +--------------------------------------------------------------------- + 1| 1 + 2| 4 + 3| 9 + 4| 16 + 5| 25 + 6| 36 + 7| 49 + 8| 64 + 9| 81 +10|100 +(10 rows) -1 1 -2 4 -3 9 -4 16 -5 25 -6 36 -7 49 -8 64 -9 81 -10 100 starting permutation: s1-begin s2-begin s2-insert-into-source s1-repartitioned-insert-select s1-end s2-end s1-select-target step s1-begin: BEGIN; @@ -113,18 +123,20 @@ step s1-repartitioned-insert-select: INSERT INTO target_table SELECT * FROM sour step s1-end: END; step s2-end: END; step s1-select-target: SELECT * FROM target_table ORDER BY a; -a b + a| b +--------------------------------------------------------------------- + 1| 1 + 2| 4 + 3| 9 + 4| 16 + 5| 25 + 6| 36 + 7| 49 + 8| 64 + 9| 81 +10|100 +(10 rows) -1 1 -2 4 -3 9 -4 16 -5 25 -6 36 -7 49 -8 64 -9 81 -10 100 starting permutation: s1-begin s2-begin s1-repartitioned-insert-select s2-delete-from-target s1-end s2-end s1-select-target step s1-begin: BEGIN; @@ -135,7 +147,9 @@ step s1-end: END; step s2-delete-from-target: <... completed> step s2-end: END; step s1-select-target: SELECT * FROM target_table ORDER BY a; -a b +a|b +--------------------------------------------------------------------- +(0 rows) starting permutation: s1-begin s2-begin s1-repartitioned-insert-select s2-update-target s1-end s2-end s1-select-target @@ -147,18 +161,20 @@ step s1-end: END; step s2-update-target: <... completed> step s2-end: END; step s1-select-target: SELECT * FROM target_table ORDER BY a; -a b + a| b +--------------------------------------------------------------------- + 1| 49 + 2| 46 + 3| 41 + 4| 34 + 5| 25 + 6| 14 + 7| 1 + 8|-14 + 9|-31 +10|-50 +(10 rows) -1 49 -2 46 -3 41 -4 34 -5 25 -6 14 -7 1 -8 -14 -9 -31 -10 -50 starting permutation: s1-begin s2-begin s1-repartitioned-insert-select s2-insert-into-target s1-end s2-end s1-select-target step s1-begin: BEGIN; @@ -168,19 +184,21 @@ step s2-insert-into-target: INSERT INTO target_table VALUES (0, 0); step s1-end: END; step s2-end: END; step s1-select-target: SELECT * FROM target_table ORDER BY a; -a b + a| b +--------------------------------------------------------------------- + 0| 0 + 1| 1 + 2| 4 + 3| 9 + 4| 16 + 5| 25 + 6| 36 + 7| 49 + 8| 64 + 9| 81 +10|100 +(11 rows) -0 0 -1 1 -2 4 -3 9 -4 16 -5 25 -6 36 -7 49 -8 64 -9 81 -10 100 starting permutation: s1-begin s2-begin s2-delete-from-target s1-repartitioned-insert-select s2-end s1-end s1-select-target step s1-begin: BEGIN; @@ -191,18 +209,20 @@ step s2-end: END; step s1-repartitioned-insert-select: <... completed> step s1-end: END; step s1-select-target: SELECT * FROM target_table ORDER BY a; -a b + a| b +--------------------------------------------------------------------- + 1| 1 + 2| 4 + 3| 9 + 4| 16 + 5| 25 + 6| 36 + 7| 49 + 8| 64 + 9| 81 +10|100 +(10 rows) -1 1 -2 4 -3 9 -4 16 -5 25 -6 36 -7 49 -8 64 -9 81 -10 100 starting permutation: s1-begin s2-begin s2-update-target s1-repartitioned-insert-select s2-end s1-end s1-select-target step s1-begin: BEGIN; @@ -213,18 +233,20 @@ step s2-end: END; step s1-repartitioned-insert-select: <... completed> step s1-end: END; step s1-select-target: SELECT * FROM target_table ORDER BY a; -a b + a| b +--------------------------------------------------------------------- + 1| 1 + 2| 4 + 3| 9 + 4| 16 + 5| 25 + 6| 36 + 7| 49 + 8| 64 + 9| 81 +10|100 +(10 rows) -1 1 -2 4 -3 9 -4 16 -5 25 -6 36 -7 49 -8 64 -9 81 -10 100 starting permutation: s1-begin s2-begin s2-insert-into-target s1-repartitioned-insert-select s2-end s1-end s1-select-target step s1-begin: BEGIN; @@ -234,16 +256,18 @@ step s1-repartitioned-insert-select: INSERT INTO target_table SELECT * FROM sour step s2-end: END; step s1-end: END; step s1-select-target: SELECT * FROM target_table ORDER BY a; -a b + a| b +--------------------------------------------------------------------- + 0| 0 + 1| 1 + 2| 4 + 3| 9 + 4| 16 + 5| 25 + 6| 36 + 7| 49 + 8| 64 + 9| 81 +10|100 +(11 rows) -0 0 -1 1 -2 4 -3 9 -4 16 -5 25 -6 36 -7 49 -8 64 -9 81 -10 100 diff --git a/src/test/regress/expected/isolation_insert_select_vs_all.out b/src/test/regress/expected/isolation_insert_select_vs_all.out index 75da468b0..cb5ea7aea 100644 --- a/src/test/regress/expected/isolation_insert_select_vs_all.out +++ b/src/test/regress/expected/isolation_insert_select_vs_all.out @@ -2,7 +2,9 @@ Parsed test spec with 2 sessions starting permutation: s1-initialize s1-begin s1-insert-select s2-insert-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -16,12 +18,16 @@ step s2-insert-select: INSERT INTO insert_of_insert_select_hash SELECT * FROM se step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-insert-select s2-update-on-inserted s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -35,12 +41,16 @@ step s2-update-on-inserted: UPDATE insert_of_insert_select_hash SET data = 'l' W step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-insert-select s2-delete-on-inserted s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -54,12 +64,16 @@ step s2-delete-on-inserted: DELETE FROM insert_of_insert_select_hash WHERE id = step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-insert-select s2-truncate-on-inserted s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -74,12 +88,16 @@ step s1-commit: COMMIT; step s2-truncate-on-inserted: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-insert-select s2-drop-on-inserted s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -94,12 +112,16 @@ step s1-commit: COMMIT; step s2-drop-on-inserted: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-insert-select s2-ddl-create-index-on-inserted s1-commit s1-select-count s1-show-indexes-inserted create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -114,17 +136,23 @@ step s1-commit: COMMIT; step s2-ddl-create-index-on-inserted: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-indexes-inserted: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''insert_of_insert_select_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) +(2 rows) + starting permutation: s1-initialize s1-ddl-create-index-on-inserted s1-begin s1-insert-select s2-ddl-drop-index-on-inserted s1-commit s1-select-count s1-show-indexes-inserted create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -140,17 +168,23 @@ step s1-commit: COMMIT; step s2-ddl-drop-index-on-inserted: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-indexes-inserted: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''insert_of_insert_select_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + starting permutation: s1-initialize s1-begin s1-insert-select s2-ddl-create-index-concurrently-on-inserted s1-commit s1-select-count s1-show-indexes-inserted create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -165,17 +199,23 @@ step s1-commit: COMMIT; step s2-ddl-create-index-concurrently-on-inserted: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-indexes-inserted: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''insert_of_insert_select_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) +(2 rows) + starting permutation: s1-initialize s1-begin s1-insert-select s2-ddl-add-column-on-inserted s1-commit s1-select-count s1-show-columns-inserted create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -190,17 +230,23 @@ step s1-commit: COMMIT; step s2-ddl-add-column-on-inserted: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-columns-inserted: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''insert_of_insert_select_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + starting permutation: s1-initialize s1-ddl-add-column-on-inserted s1-begin s1-insert-select s2-ddl-drop-column-on-inserted s1-commit s1-select-count s1-show-columns-inserted create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -216,17 +262,23 @@ step s1-commit: COMMIT; step s2-ddl-drop-column-on-inserted: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-columns-inserted: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''insert_of_insert_select_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") +(2 rows) + starting permutation: s1-initialize s1-begin s1-insert-select s2-ddl-rename-column-on-inserted s1-commit s1-select-count s1-show-columns-inserted s1-show-columns-inserted create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -241,22 +293,30 @@ step s1-commit: COMMIT; step s2-ddl-rename-column-on-inserted: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-columns-inserted: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''insert_of_insert_select_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + step s1-show-columns-inserted: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''insert_of_insert_select_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + starting permutation: s1-initialize s1-begin s1-insert-select s2-table-size-on-inserted s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -268,17 +328,23 @@ step s1-begin: BEGIN; step s1-insert-select: INSERT INTO insert_of_insert_select_hash SELECT * FROM select_of_insert_select_hash ORDER BY 1, 2 LIMIT 5;; step s2-table-size-on-inserted: SELECT citus_total_relation_size('insert_of_insert_select_hash'); citus_total_relation_size +--------------------------------------------------------------------- + 65536 +(1 row) -65536 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-insert-select s2-master-modify-multiple-shards-on-inserted s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -292,12 +358,16 @@ step s2-master-modify-multiple-shards-on-inserted: DELETE FROM insert_of_insert_ step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-insert-select s2-master-drop-all-shards-on-inserted s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -311,16 +381,22 @@ step s2-master-drop-all-shards-on-inserted: SELECT citus_drop_all_shards('insert step s1-commit: COMMIT; step s2-master-drop-all-shards-on-inserted: <... completed> citus_drop_all_shards +--------------------------------------------------------------------- + 4 +(1 row) -4 step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-drop-on-inserted s1-create-non-distributed-table-on-inserted s1-initialize s1-begin s1-insert-select s2-distribute-table-on-inserted s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop-on-inserted: DROP TABLE insert_of_insert_select_hash; step s1-create-non-distributed-table-on-inserted: CREATE TABLE insert_of_insert_select_hash(id integer, data text); @@ -336,16 +412,22 @@ step s2-distribute-table-on-inserted: SELECT create_distributed_table('insert_of step s1-commit: COMMIT; step s2-distribute-table-on-inserted: <... completed> create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-insert-select s2-update-on-selected s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -359,12 +441,16 @@ step s2-update-on-selected: UPDATE select_of_insert_select_hash SET data = 'l' W step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-insert-select s2-delete-on-selected s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -378,12 +464,16 @@ step s2-delete-on-selected: DELETE FROM select_of_insert_select_hash WHERE id = step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 9 +(1 row) -9 starting permutation: s1-initialize s1-begin s1-insert-select s2-truncate-on-selected s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -398,12 +488,16 @@ step s1-commit: COMMIT; step s2-truncate-on-selected: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 0 +(1 row) -0 starting permutation: s1-initialize s1-begin s1-insert-select s2-drop-on-selected s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -421,7 +515,9 @@ ERROR: relation "select_of_insert_select_hash" does not exist starting permutation: s1-initialize s1-begin s1-insert-select s2-ddl-create-index-on-selected s1-commit s1-select-count s1-show-indexes-selected create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -435,17 +531,23 @@ step s2-ddl-create-index-on-selected: CREATE INDEX select_of_insert_select_hash_ step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-indexes-selected: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''select_of_insert_select_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) +(2 rows) + starting permutation: s1-initialize s1-ddl-create-index-on-selected s1-begin s1-insert-select s2-ddl-drop-index-on-selected s1-commit s1-select-count s1-show-indexes-selected create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -461,17 +563,23 @@ step s1-commit: COMMIT; step s2-ddl-drop-index-on-selected: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-indexes-selected: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''select_of_insert_select_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + starting permutation: s1-initialize s1-begin s1-insert-select s2-ddl-create-index-concurrently-on-selected s1-commit s1-select-count s1-show-indexes-selected create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -486,17 +594,23 @@ step s1-commit: COMMIT; step s2-ddl-create-index-concurrently-on-selected: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-indexes-selected: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''select_of_insert_select_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + starting permutation: s1-initialize s1-begin s1-insert-select s2-ddl-add-column-on-selected s1-commit s1-select-count s1-show-columns-selected create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -511,17 +625,23 @@ step s1-commit: COMMIT; step s2-ddl-add-column-on-selected: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-columns-selected: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''select_of_insert_select_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + starting permutation: s1-initialize s1-ddl-add-column-on-selected s1-begin s1-insert-select s2-ddl-drop-column-on-selected s1-commit s1-select-count s1-show-columns-selected create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -537,17 +657,23 @@ step s2-ddl-drop-column-on-selected: ALTER TABLE select_of_insert_select_hash DR step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-columns-selected: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''select_of_insert_select_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") +(2 rows) + starting permutation: s1-initialize s1-begin s1-insert-select s2-ddl-rename-column-on-selected s1-commit s1-select-count s1-show-columns-selected create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -562,17 +688,23 @@ step s1-commit: COMMIT; step s2-ddl-rename-column-on-selected: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-columns-selected: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''select_of_insert_select_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + starting permutation: s1-initialize s1-begin s1-insert-select s2-table-size-on-selected s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -584,17 +716,23 @@ step s1-begin: BEGIN; step s1-insert-select: INSERT INTO insert_of_insert_select_hash SELECT * FROM select_of_insert_select_hash ORDER BY 1, 2 LIMIT 5;; step s2-table-size-on-selected: SELECT citus_total_relation_size('select_of_insert_select_hash'); citus_total_relation_size +--------------------------------------------------------------------- + 65536 +(1 row) -65536 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-insert-select s2-master-modify-multiple-shards-on-selected s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -608,12 +746,16 @@ step s2-master-modify-multiple-shards-on-selected: DELETE FROM select_of_insert_ step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 0 +(1 row) -0 starting permutation: s1-initialize s1-begin s1-insert-select s2-master-drop-all-shards-on-selected s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -627,16 +769,22 @@ step s2-master-drop-all-shards-on-selected: SELECT citus_drop_all_shards('select step s1-commit: COMMIT; step s2-master-drop-all-shards-on-selected: <... completed> citus_drop_all_shards +--------------------------------------------------------------------- + 4 +(1 row) -4 step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 0 +(1 row) -0 starting permutation: s1-drop-on-selected s1-create-non-distributed-table-on-selected s1-initialize s1-begin s1-insert-select s2-distribute-table-on-selected s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop-on-selected: DROP TABLE select_of_insert_select_hash; step s1-create-non-distributed-table-on-selected: CREATE TABLE select_of_insert_select_hash(id integer, data text); @@ -650,17 +798,23 @@ step s1-begin: BEGIN; step s1-insert-select: INSERT INTO insert_of_insert_select_hash SELECT * FROM select_of_insert_select_hash ORDER BY 1, 2 LIMIT 5;; step s2-distribute-table-on-selected: SELECT create_distributed_table('select_of_insert_select_hash', 'id'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-update-on-inserted s2-insert-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -674,12 +828,16 @@ step s2-insert-select: INSERT INTO insert_of_insert_select_hash SELECT * FROM se step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-delete-on-inserted s2-insert-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -693,12 +851,16 @@ step s2-insert-select: INSERT INTO insert_of_insert_select_hash SELECT * FROM se step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-truncate-on-inserted s2-insert-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -713,12 +875,16 @@ step s1-commit: COMMIT; step s2-insert-select: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-drop-on-inserted s2-insert-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -734,12 +900,16 @@ step s2-insert-select: <... completed> ERROR: relation "insert_of_insert_select_hash" does not exist step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-ddl-create-index-on-inserted s2-insert-select s1-commit s1-select-count s1-show-indexes-inserted create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -754,17 +924,23 @@ step s1-commit: COMMIT; step s2-insert-select: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-indexes-inserted: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''insert_of_insert_select_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) +(2 rows) + starting permutation: s1-initialize s1-ddl-create-index-on-inserted s1-begin s1-ddl-drop-index-on-inserted s2-insert-select s1-commit s1-select-count s1-show-indexes-inserted create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -780,17 +956,23 @@ step s1-commit: COMMIT; step s2-insert-select: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-indexes-inserted: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''insert_of_insert_select_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + starting permutation: s1-initialize s1-begin s1-ddl-add-column-on-inserted s2-insert-select s1-commit s1-select-count s1-show-columns-inserted create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -805,17 +987,23 @@ step s1-commit: COMMIT; step s2-insert-select: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-columns-inserted: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''insert_of_insert_select_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + starting permutation: s1-initialize s1-ddl-add-column-on-inserted s1-begin s1-ddl-drop-column-on-inserted s2-insert-select s1-commit s1-select-count s1-show-columns-inserted create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -831,17 +1019,23 @@ step s1-commit: COMMIT; step s2-insert-select: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-columns-inserted: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''insert_of_insert_select_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") +(2 rows) + starting permutation: s1-initialize s1-begin s1-ddl-rename-column-on-inserted s2-insert-select s1-commit s1-select-count s1-show-columns-inserted create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -856,17 +1050,23 @@ step s1-commit: COMMIT; step s2-insert-select: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-columns-inserted: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''insert_of_insert_select_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + starting permutation: s1-initialize s1-begin s1-table-size-on-inserted s2-insert-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -877,18 +1077,24 @@ step s1-initialize: step s1-begin: BEGIN; step s1-table-size-on-inserted: SELECT citus_total_relation_size('insert_of_insert_select_hash'); citus_total_relation_size +--------------------------------------------------------------------- + 65536 +(1 row) -65536 step s2-insert-select: INSERT INTO insert_of_insert_select_hash SELECT * FROM select_of_insert_select_hash ORDER BY 1, 2 LIMIT 5; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-master-modify-multiple-shards-on-inserted s2-insert-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -902,12 +1108,16 @@ step s2-insert-select: INSERT INTO insert_of_insert_select_hash SELECT * FROM se step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-master-drop-all-shards-on-inserted s2-insert-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -918,20 +1128,26 @@ step s1-initialize: step s1-begin: BEGIN; step s1-master-drop-all-shards-on-inserted: SELECT citus_drop_all_shards('insert_of_insert_select_hash'::regclass, 'public', 'insert_of_insert_select_hash'); citus_drop_all_shards +--------------------------------------------------------------------- + 4 +(1 row) -4 step s2-insert-select: INSERT INTO insert_of_insert_select_hash SELECT * FROM select_of_insert_select_hash ORDER BY 1, 2 LIMIT 5; step s1-commit: COMMIT; step s2-insert-select: <... completed> ERROR: could not find any shards into which to copy step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-drop-on-inserted s1-create-non-distributed-table-on-inserted s1-initialize s1-begin s1-distribute-table-on-inserted s2-insert-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop-on-inserted: DROP TABLE insert_of_insert_select_hash; step s1-create-non-distributed-table-on-inserted: CREATE TABLE insert_of_insert_select_hash(id integer, data text); @@ -944,19 +1160,25 @@ step s1-initialize: step s1-begin: BEGIN; step s1-distribute-table-on-inserted: SELECT create_distributed_table('insert_of_insert_select_hash', 'id'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-insert-select: INSERT INTO insert_of_insert_select_hash SELECT * FROM select_of_insert_select_hash ORDER BY 1, 2 LIMIT 5; step s1-commit: COMMIT; step s2-insert-select: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-update-on-selected s2-insert-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -970,12 +1192,16 @@ step s2-insert-select: INSERT INTO insert_of_insert_select_hash SELECT * FROM se step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-delete-on-selected s2-insert-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -989,12 +1215,16 @@ step s2-insert-select: INSERT INTO insert_of_insert_select_hash SELECT * FROM se step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 9 +(1 row) -9 starting permutation: s1-initialize s1-begin s1-truncate-on-selected s2-insert-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -1009,12 +1239,16 @@ step s1-commit: COMMIT; step s2-insert-select: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 0 +(1 row) -0 starting permutation: s1-initialize s1-begin s1-drop-on-selected s2-insert-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -1033,7 +1267,9 @@ ERROR: relation "select_of_insert_select_hash" does not exist starting permutation: s1-initialize s1-begin s1-ddl-create-index-on-selected s2-insert-select s1-commit s1-select-count s1-show-indexes-selected create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -1047,17 +1283,23 @@ step s2-insert-select: INSERT INTO insert_of_insert_select_hash SELECT * FROM se step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-indexes-selected: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''select_of_insert_select_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) +(2 rows) + starting permutation: s1-initialize s1-ddl-create-index-on-selected s1-begin s1-ddl-drop-index-on-selected s2-insert-select s1-commit s1-select-count s1-show-indexes-selected create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -1073,17 +1315,23 @@ step s1-commit: COMMIT; step s2-insert-select: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-indexes-selected: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''select_of_insert_select_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + starting permutation: s1-initialize s1-begin s1-ddl-add-column-on-selected s2-insert-select s1-commit s1-select-count s1-show-columns-selected create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -1099,17 +1347,23 @@ step s2-insert-select: <... completed> ERROR: INSERT has more expressions than target columns step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-columns-selected: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''select_of_insert_select_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + starting permutation: s1-initialize s1-ddl-add-column-on-selected s1-begin s1-ddl-drop-column-on-selected s2-insert-select s1-commit s1-select-count s1-show-columns-selected create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -1125,17 +1379,23 @@ step s1-commit: COMMIT; step s2-insert-select: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-columns-selected: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''select_of_insert_select_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") +(2 rows) + starting permutation: s1-initialize s1-begin s1-ddl-rename-column-on-selected s2-insert-select s1-commit s1-select-count s1-show-columns-selected create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -1150,17 +1410,23 @@ step s1-commit: COMMIT; step s2-insert-select: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-columns-selected: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''select_of_insert_select_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + starting permutation: s1-initialize s1-begin s1-table-size-on-selected s2-insert-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -1171,18 +1437,24 @@ step s1-initialize: step s1-begin: BEGIN; step s1-table-size-on-selected: SELECT citus_total_relation_size('select_of_insert_select_hash'); citus_total_relation_size +--------------------------------------------------------------------- + 65536 +(1 row) -65536 step s2-insert-select: INSERT INTO insert_of_insert_select_hash SELECT * FROM select_of_insert_select_hash ORDER BY 1, 2 LIMIT 5; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-master-modify-multiple-shards-on-selected s2-insert-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -1196,12 +1468,16 @@ step s2-insert-select: INSERT INTO insert_of_insert_select_hash SELECT * FROM se step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 0 +(1 row) -0 starting permutation: s1-initialize s1-begin s1-master-drop-all-shards-on-selected s2-insert-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -1212,19 +1488,25 @@ step s1-initialize: step s1-begin: BEGIN; step s1-master-drop-all-shards-on-selected: SELECT citus_drop_all_shards('select_of_insert_select_hash'::regclass, 'public', 'select_of_insert_select_hash'); citus_drop_all_shards +--------------------------------------------------------------------- + 4 +(1 row) -4 step s2-insert-select: INSERT INTO insert_of_insert_select_hash SELECT * FROM select_of_insert_select_hash ORDER BY 1, 2 LIMIT 5; step s1-commit: COMMIT; step s2-insert-select: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 0 +(1 row) -0 starting permutation: s1-drop-on-selected s1-create-non-distributed-table-on-selected s1-initialize s1-begin s1-distribute-table-on-selected s2-insert-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop-on-selected: DROP TABLE select_of_insert_select_hash; step s1-create-non-distributed-table-on-selected: CREATE TABLE select_of_insert_select_hash(id integer, data text); @@ -1237,11 +1519,15 @@ step s1-initialize: step s1-begin: BEGIN; step s1-distribute-table-on-selected: SELECT create_distributed_table('select_of_insert_select_hash', 'id'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-insert-select: INSERT INTO insert_of_insert_select_hash SELECT * FROM select_of_insert_select_hash ORDER BY 1, 2 LIMIT 5; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 diff --git a/src/test/regress/expected/isolation_insert_select_vs_all_on_mx.out b/src/test/regress/expected/isolation_insert_select_vs_all_on_mx.out index 8bf1b961b..91a487c8a 100644 --- a/src/test/regress/expected/isolation_insert_select_vs_all_on_mx.out +++ b/src/test/regress/expected/isolation_insert_select_vs_all_on_mx.out @@ -5,70 +5,94 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-colocated-insert-select: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO dist_table SELECT * FROM dist_table'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-colocated-insert-select: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO dist_table SELECT * FROM dist_table'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM dist_table; count +--------------------------------------------------------------------- + 15 +(1 row) -15 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-insert-select-via-coordinator s2-start-session-level-connection s2-begin-on-worker s2-colocated-insert-select s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count @@ -76,70 +100,94 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-insert-select-via-coordinator: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO dist_table SELECT value, id FROM dist_table'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-colocated-insert-select: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO dist_table SELECT * FROM dist_table'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM dist_table; count +--------------------------------------------------------------------- + 15 +(1 row) -15 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-colocated-insert-select s2-start-session-level-connection s2-begin-on-worker s2-insert-select-via-coordinator s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count @@ -147,70 +195,94 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-colocated-insert-select: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO dist_table SELECT * FROM dist_table'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-insert-select-via-coordinator: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO dist_table SELECT value, id FROM dist_table'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM dist_table; count +--------------------------------------------------------------------- + 15 +(1 row) -15 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-insert-select-via-coordinator s2-start-session-level-connection s2-begin-on-worker s2-insert-select-via-coordinator s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count @@ -218,70 +290,94 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-insert-select-via-coordinator: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO dist_table SELECT value, id FROM dist_table'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-insert-select-via-coordinator: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO dist_table SELECT value, id FROM dist_table'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM dist_table; count +--------------------------------------------------------------------- + 15 +(1 row) -15 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-insert-select-via-coordinator s2-start-session-level-connection s2-begin-on-worker s2-insert s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count @@ -289,70 +385,94 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-insert-select-via-coordinator: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO dist_table SELECT value, id FROM dist_table'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-insert: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO dist_table VALUES (5, 50), (6, 60)') run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM dist_table; count +--------------------------------------------------------------------- + 12 +(1 row) -12 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-insert-select-via-coordinator s2-start-session-level-connection s2-begin-on-worker s2-select s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count @@ -360,70 +480,94 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-insert-select-via-coordinator: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO dist_table SELECT value, id FROM dist_table'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-select: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM dist_table') run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM dist_table; count +--------------------------------------------------------------------- + 10 +(1 row) -10 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-colocated-insert-select s2-start-session-level-connection s2-begin-on-worker s2-update s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count @@ -431,70 +575,94 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-colocated-insert-select: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO dist_table SELECT * FROM dist_table'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-update: SELECT run_commands_on_session_level_connection_to_node('UPDATE dist_table SET value=55 WHERE id=5'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM dist_table; count +--------------------------------------------------------------------- + 10 +(1 row) -10 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-insert-select-via-coordinator s2-start-session-level-connection s2-begin-on-worker s2-update s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count @@ -502,70 +670,94 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-insert-select-via-coordinator: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO dist_table SELECT value, id FROM dist_table'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-update: SELECT run_commands_on_session_level_connection_to_node('UPDATE dist_table SET value=55 WHERE id=5'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM dist_table; count +--------------------------------------------------------------------- + 10 +(1 row) -10 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-colocated-insert-select s2-start-session-level-connection s2-begin-on-worker s2-copy s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count @@ -573,70 +765,94 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-colocated-insert-select: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO dist_table SELECT * FROM dist_table'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-copy: SELECT run_commands_on_session_level_connection_to_node('COPY dist_table FROM PROGRAM ''echo 5, 50 && echo 9, 90 && echo 10, 100''WITH CSV'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM dist_table; count +--------------------------------------------------------------------- + 13 +(1 row) -13 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-insert-select-via-coordinator s2-start-session-level-connection s2-begin-on-worker s2-copy s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count @@ -644,70 +860,94 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-insert-select-via-coordinator: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO dist_table SELECT value, id FROM dist_table'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-copy: SELECT run_commands_on_session_level_connection_to_node('COPY dist_table FROM PROGRAM ''echo 5, 50 && echo 9, 90 && echo 10, 100''WITH CSV'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM dist_table; count +--------------------------------------------------------------------- + 13 +(1 row) -13 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-colocated-insert-select s2-begin s2-coordinator-drop s1-commit-worker s2-commit s1-stop-connection s2-stop-connection s3-select-count @@ -715,19 +955,25 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-colocated-insert-select: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO dist_table SELECT * FROM dist_table'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin: BEGIN; @@ -739,7 +985,9 @@ step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-coordinator-drop: <... completed> step s2-commit: @@ -749,20 +997,26 @@ step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM dist_table; ERROR: relation "dist_table" does not exist restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-insert-select-via-coordinator s2-begin s2-coordinator-drop s1-commit-worker s2-commit s1-stop-connection s2-stop-connection s3-select-count @@ -770,19 +1024,25 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-insert-select-via-coordinator: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO dist_table SELECT value, id FROM dist_table'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin: BEGIN; @@ -794,7 +1054,9 @@ step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-coordinator-drop: <... completed> step s2-commit: @@ -804,20 +1066,26 @@ step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM dist_table; ERROR: relation "dist_table" does not exist restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-colocated-insert-select s2-start-session-level-connection s2-begin-on-worker s2-select-for-update s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count @@ -825,70 +1093,94 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-colocated-insert-select: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO dist_table SELECT * FROM dist_table'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-select-for-update: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM dist_table WHERE id = 5 FOR UPDATE'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM dist_table; count +--------------------------------------------------------------------- + 10 +(1 row) -10 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-insert-select-via-coordinator s2-start-session-level-connection s2-begin-on-worker s2-select-for-update s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count @@ -896,68 +1188,92 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-insert-select-via-coordinator: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO dist_table SELECT value, id FROM dist_table'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-select-for-update: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM dist_table WHERE id = 5 FOR UPDATE'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM dist_table; count +--------------------------------------------------------------------- + 10 +(1 row) -10 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) diff --git a/src/test/regress/expected/isolation_insert_vs_all.out b/src/test/regress/expected/isolation_insert_vs_all.out index 125ccd21e..33ce3ac69 100644 --- a/src/test/regress/expected/isolation_insert_vs_all.out +++ b/src/test/regress/expected/isolation_insert_vs_all.out @@ -2,7 +2,9 @@ Parsed test spec with 2 sessions starting permutation: s1-initialize s1-begin s1-insert s2-insert s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -11,12 +13,16 @@ step s2-insert: INSERT INTO insert_hash VALUES(7, 'k'); step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 7 +(1 row) -7 starting permutation: s1-initialize s1-begin s1-insert s2-insert-multi-row s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -25,12 +31,16 @@ step s2-insert-multi-row: INSERT INTO insert_hash VALUES(7, 'k'), (8, 'l'), (9, step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 9 +(1 row) -9 starting permutation: s1-initialize s1-begin s1-insert-multi-row s2-insert s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -39,12 +49,16 @@ step s2-insert: INSERT INTO insert_hash VALUES(7, 'k'); step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 9 +(1 row) -9 starting permutation: s1-initialize s1-begin s1-insert-multi-row s2-insert-multi-row s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -53,12 +67,16 @@ step s2-insert-multi-row: INSERT INTO insert_hash VALUES(7, 'k'), (8, 'l'), (9, step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 11 +(1 row) -11 starting permutation: s1-initialize s1-begin s1-insert s2-insert-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -67,12 +85,16 @@ step s2-insert-select: INSERT INTO insert_hash SELECT * FROM insert_hash; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 11 +(1 row) -11 starting permutation: s1-initialize s1-begin s1-insert s2-update s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -81,12 +103,16 @@ step s2-update: UPDATE insert_hash SET data = 'l' WHERE id = 4; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 6 +(1 row) -6 starting permutation: s1-initialize s1-begin s1-insert s2-delete s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -95,12 +121,16 @@ step s2-delete: DELETE FROM insert_hash WHERE id = 4; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 starting permutation: s1-initialize s1-begin s1-insert s2-truncate s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -110,12 +140,16 @@ step s1-commit: COMMIT; step s2-truncate: <... completed> step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 0 +(1 row) -0 starting permutation: s1-initialize s1-begin s1-insert s2-drop s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -128,7 +162,9 @@ ERROR: relation "insert_hash" does not exist starting permutation: s1-initialize s1-begin s1-insert s2-ddl-create-index s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -138,17 +174,23 @@ step s1-commit: COMMIT; step s2-ddl-create-index: <... completed> step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 6 +(1 row) -6 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''insert_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) +(2 rows) + starting permutation: s1-initialize s1-ddl-create-index s1-begin s1-insert s2-ddl-drop-index s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-ddl-create-index: CREATE INDEX insert_hash_index ON insert_hash(id); @@ -159,17 +201,23 @@ step s1-commit: COMMIT; step s2-ddl-drop-index: <... completed> step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 6 +(1 row) -6 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''insert_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + starting permutation: s1-initialize s1-begin s1-insert s2-ddl-create-index-concurrently s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -179,17 +227,23 @@ step s1-commit: COMMIT; step s2-ddl-create-index-concurrently: <... completed> step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 6 +(1 row) -6 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''insert_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) +(2 rows) + starting permutation: s1-initialize s1-begin s1-insert s2-ddl-add-column s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -199,17 +253,23 @@ step s1-commit: COMMIT; step s2-ddl-add-column: <... completed> step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 6 +(1 row) -6 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''insert_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + starting permutation: s1-initialize s1-ddl-add-column s1-begin s1-insert s2-ddl-drop-column s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-ddl-add-column: ALTER TABLE insert_hash ADD new_column int DEFAULT 0; @@ -220,17 +280,23 @@ step s1-commit: COMMIT; step s2-ddl-drop-column: <... completed> step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 6 +(1 row) -6 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''insert_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") +(2 rows) + starting permutation: s1-initialize s1-begin s1-insert s2-ddl-rename-column s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -240,34 +306,46 @@ step s1-commit: COMMIT; step s2-ddl-rename-column: <... completed> step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 6 +(1 row) -6 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''insert_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + starting permutation: s1-initialize s1-begin s1-insert s2-table-size s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; step s1-insert: INSERT INTO insert_hash VALUES(7, 'k'); step s2-table-size: SELECT citus_total_relation_size('insert_hash'); citus_total_relation_size +--------------------------------------------------------------------- + 57344 +(1 row) -57344 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 6 +(1 row) -6 starting permutation: s1-initialize s1-begin s1-insert s2-master-modify-multiple-shards s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -276,12 +354,16 @@ step s2-master-modify-multiple-shards: DELETE FROM insert_hash; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 1 +(1 row) -1 starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s1-insert s2-distribute-table s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop: DROP TABLE insert_hash; step s1-create-non-distributed-table: CREATE TABLE insert_hash(id integer, data text); COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -292,16 +374,22 @@ step s2-distribute-table: SELECT create_distributed_table('insert_hash', 'id'); step s1-commit: COMMIT; step s2-distribute-table: <... completed> create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 11 +(1 row) -11 starting permutation: s1-initialize s1-begin s1-insert-select s2-insert s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -310,12 +398,16 @@ step s2-insert: INSERT INTO insert_hash VALUES(7, 'k'); step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 11 +(1 row) -11 starting permutation: s1-initialize s1-begin s1-update s2-insert s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -324,12 +416,16 @@ step s2-insert: INSERT INTO insert_hash VALUES(7, 'k'); step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 6 +(1 row) -6 starting permutation: s1-initialize s1-begin s1-delete s2-insert s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -338,12 +434,16 @@ step s2-insert: INSERT INTO insert_hash VALUES(7, 'k'); step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 starting permutation: s1-initialize s1-begin s1-truncate s2-insert s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -353,12 +453,16 @@ step s1-commit: COMMIT; step s2-insert: <... completed> step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 1 +(1 row) -1 starting permutation: s1-initialize s1-begin s1-drop s2-insert s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -372,7 +476,9 @@ ERROR: relation "insert_hash" does not exist starting permutation: s1-initialize s1-begin s1-ddl-create-index s2-insert s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -382,17 +488,23 @@ step s1-commit: COMMIT; step s2-insert: <... completed> step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 6 +(1 row) -6 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''insert_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) +(2 rows) + starting permutation: s1-initialize s1-ddl-create-index s1-begin s1-ddl-drop-index s2-insert s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-ddl-create-index: CREATE INDEX insert_hash_index ON insert_hash(id); @@ -403,17 +515,23 @@ step s1-commit: COMMIT; step s2-insert: <... completed> step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 6 +(1 row) -6 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''insert_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + starting permutation: s1-initialize s1-begin s1-ddl-add-column s2-insert s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -423,17 +541,23 @@ step s1-commit: COMMIT; step s2-insert: <... completed> step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 6 +(1 row) -6 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''insert_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + starting permutation: s1-initialize s1-ddl-add-column s1-begin s1-ddl-drop-column s2-insert s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-ddl-add-column: ALTER TABLE insert_hash ADD new_column int DEFAULT 0; @@ -444,17 +568,23 @@ step s1-commit: COMMIT; step s2-insert: <... completed> step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 6 +(1 row) -6 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''insert_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") +(2 rows) + starting permutation: s1-initialize s1-begin s1-ddl-rename-column s2-insert s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -464,34 +594,46 @@ step s1-commit: COMMIT; step s2-insert: <... completed> step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 6 +(1 row) -6 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''insert_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + starting permutation: s1-initialize s1-begin s1-table-size s2-insert s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; step s1-table-size: SELECT citus_total_relation_size('insert_hash'); citus_total_relation_size +--------------------------------------------------------------------- + 57344 +(1 row) -57344 step s2-insert: INSERT INTO insert_hash VALUES(7, 'k'); step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 6 +(1 row) -6 starting permutation: s1-initialize s1-begin s1-master-modify-multiple-shards s2-insert s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -500,12 +642,16 @@ step s2-insert: INSERT INTO insert_hash VALUES(7, 'k'); step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 1 +(1 row) -1 starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s1-distribute-table s2-insert s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop: DROP TABLE insert_hash; step s1-create-non-distributed-table: CREATE TABLE insert_hash(id integer, data text); COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -513,19 +659,25 @@ step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && ech step s1-begin: BEGIN; step s1-distribute-table: SELECT create_distributed_table('insert_hash', 'id'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-insert: INSERT INTO insert_hash VALUES(7, 'k'); step s1-commit: COMMIT; step s2-insert: <... completed> step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 11 +(1 row) -11 starting permutation: s1-initialize s1-begin s1-insert-multi-row s2-insert-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -534,12 +686,16 @@ step s2-insert-select: INSERT INTO insert_hash SELECT * FROM insert_hash; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 13 +(1 row) -13 starting permutation: s1-initialize s1-begin s1-insert-multi-row s2-update s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -548,12 +704,16 @@ step s2-update: UPDATE insert_hash SET data = 'l' WHERE id = 4; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 8 +(1 row) -8 starting permutation: s1-initialize s1-begin s1-insert-multi-row s2-delete s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -562,12 +722,16 @@ step s2-delete: DELETE FROM insert_hash WHERE id = 4; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 7 +(1 row) -7 starting permutation: s1-initialize s1-begin s1-insert-multi-row s2-truncate s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -577,12 +741,16 @@ step s1-commit: COMMIT; step s2-truncate: <... completed> step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 0 +(1 row) -0 starting permutation: s1-initialize s1-begin s1-insert-multi-row s2-drop s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -595,7 +763,9 @@ ERROR: relation "insert_hash" does not exist starting permutation: s1-initialize s1-begin s1-insert-multi-row s2-ddl-create-index s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -605,17 +775,23 @@ step s1-commit: COMMIT; step s2-ddl-create-index: <... completed> step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 8 +(1 row) -8 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''insert_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) +(2 rows) + starting permutation: s1-initialize s1-ddl-create-index s1-begin s1-insert-multi-row s2-ddl-drop-index s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-ddl-create-index: CREATE INDEX insert_hash_index ON insert_hash(id); @@ -626,17 +802,23 @@ step s1-commit: COMMIT; step s2-ddl-drop-index: <... completed> step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 8 +(1 row) -8 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''insert_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + starting permutation: s1-initialize s1-begin s1-insert-multi-row s2-ddl-create-index-concurrently s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -646,17 +828,23 @@ step s1-commit: COMMIT; step s2-ddl-create-index-concurrently: <... completed> step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 8 +(1 row) -8 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''insert_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) +(2 rows) + starting permutation: s1-initialize s1-begin s1-insert-multi-row s2-ddl-add-column s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -666,17 +854,23 @@ step s1-commit: COMMIT; step s2-ddl-add-column: <... completed> step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 8 +(1 row) -8 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''insert_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + starting permutation: s1-initialize s1-ddl-add-column s1-begin s1-insert-multi-row s2-ddl-drop-column s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-ddl-add-column: ALTER TABLE insert_hash ADD new_column int DEFAULT 0; @@ -687,17 +881,23 @@ step s1-commit: COMMIT; step s2-ddl-drop-column: <... completed> step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 8 +(1 row) -8 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''insert_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") +(2 rows) + starting permutation: s1-initialize s1-begin s1-insert-multi-row s2-ddl-rename-column s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -707,34 +907,46 @@ step s1-commit: COMMIT; step s2-ddl-rename-column: <... completed> step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 8 +(1 row) -8 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''insert_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + starting permutation: s1-initialize s1-begin s1-insert-multi-row s2-table-size s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; step s1-insert-multi-row: INSERT INTO insert_hash VALUES(7, 'k'), (8, 'l'), (9, 'm'); step s2-table-size: SELECT citus_total_relation_size('insert_hash'); citus_total_relation_size +--------------------------------------------------------------------- + 57344 +(1 row) -57344 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 8 +(1 row) -8 starting permutation: s1-initialize s1-begin s1-insert-multi-row s2-master-modify-multiple-shards s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -743,12 +955,16 @@ step s2-master-modify-multiple-shards: DELETE FROM insert_hash; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 3 +(1 row) -3 starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s1-insert-multi-row s2-distribute-table s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop: DROP TABLE insert_hash; step s1-create-non-distributed-table: CREATE TABLE insert_hash(id integer, data text); COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -759,16 +975,22 @@ step s2-distribute-table: SELECT create_distributed_table('insert_hash', 'id'); step s1-commit: COMMIT; step s2-distribute-table: <... completed> create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 13 +(1 row) -13 starting permutation: s1-initialize s1-begin s1-insert-select s2-insert-multi-row s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -777,12 +999,16 @@ step s2-insert-multi-row: INSERT INTO insert_hash VALUES(7, 'k'), (8, 'l'), (9, step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 13 +(1 row) -13 starting permutation: s1-initialize s1-begin s1-update s2-insert-multi-row s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -791,12 +1017,16 @@ step s2-insert-multi-row: INSERT INTO insert_hash VALUES(7, 'k'), (8, 'l'), (9, step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 8 +(1 row) -8 starting permutation: s1-initialize s1-begin s1-delete s2-insert-multi-row s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -805,12 +1035,16 @@ step s2-insert-multi-row: INSERT INTO insert_hash VALUES(7, 'k'), (8, 'l'), (9, step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 7 +(1 row) -7 starting permutation: s1-initialize s1-begin s1-truncate s2-insert-multi-row s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -820,12 +1054,16 @@ step s1-commit: COMMIT; step s2-insert-multi-row: <... completed> step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 3 +(1 row) -3 starting permutation: s1-initialize s1-begin s1-drop s2-insert-multi-row s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -839,7 +1077,9 @@ ERROR: relation "insert_hash" does not exist starting permutation: s1-initialize s1-begin s1-ddl-create-index s2-insert-multi-row s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -849,17 +1089,23 @@ step s1-commit: COMMIT; step s2-insert-multi-row: <... completed> step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 8 +(1 row) -8 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''insert_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) +(2 rows) + starting permutation: s1-initialize s1-ddl-create-index s1-begin s1-ddl-drop-index s2-insert-multi-row s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-ddl-create-index: CREATE INDEX insert_hash_index ON insert_hash(id); @@ -870,17 +1116,23 @@ step s1-commit: COMMIT; step s2-insert-multi-row: <... completed> step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 8 +(1 row) -8 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''insert_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + starting permutation: s1-initialize s1-begin s1-ddl-add-column s2-insert-multi-row s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -890,17 +1142,23 @@ step s1-commit: COMMIT; step s2-insert-multi-row: <... completed> step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 8 +(1 row) -8 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''insert_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + starting permutation: s1-initialize s1-ddl-add-column s1-begin s1-ddl-drop-column s2-insert-multi-row s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-ddl-add-column: ALTER TABLE insert_hash ADD new_column int DEFAULT 0; @@ -911,17 +1169,23 @@ step s1-commit: COMMIT; step s2-insert-multi-row: <... completed> step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 8 +(1 row) -8 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''insert_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") +(2 rows) + starting permutation: s1-initialize s1-begin s1-ddl-rename-column s2-insert-multi-row s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -931,34 +1195,46 @@ step s1-commit: COMMIT; step s2-insert-multi-row: <... completed> step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 8 +(1 row) -8 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''insert_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + starting permutation: s1-initialize s1-begin s1-table-size s2-insert-multi-row s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; step s1-table-size: SELECT citus_total_relation_size('insert_hash'); citus_total_relation_size +--------------------------------------------------------------------- + 57344 +(1 row) -57344 step s2-insert-multi-row: INSERT INTO insert_hash VALUES(7, 'k'), (8, 'l'), (9, 'm'); step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 8 +(1 row) -8 starting permutation: s1-initialize s1-begin s1-master-modify-multiple-shards s2-insert-multi-row s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -967,12 +1243,16 @@ step s2-insert-multi-row: INSERT INTO insert_hash VALUES(7, 'k'), (8, 'l'), (9, step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 3 +(1 row) -3 starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s1-distribute-table s2-insert-multi-row s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop: DROP TABLE insert_hash; step s1-create-non-distributed-table: CREATE TABLE insert_hash(id integer, data text); COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -980,12 +1260,16 @@ step s1-initialize: COPY insert_hash FROM PROGRAM 'echo 0, a && echo 1, b && ech step s1-begin: BEGIN; step s1-distribute-table: SELECT create_distributed_table('insert_hash', 'id'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-insert-multi-row: INSERT INTO insert_hash VALUES(7, 'k'), (8, 'l'), (9, 'm'); step s1-commit: COMMIT; step s2-insert-multi-row: <... completed> step s1-select-count: SELECT COUNT(*) FROM insert_hash; count +--------------------------------------------------------------------- + 13 +(1 row) -13 diff --git a/src/test/regress/expected/isolation_insert_vs_all_on_mx.out b/src/test/regress/expected/isolation_insert_vs_all_on_mx.out index fdef65db1..8f4bb9cbb 100644 --- a/src/test/regress/expected/isolation_insert_vs_all_on_mx.out +++ b/src/test/regress/expected/isolation_insert_vs_all_on_mx.out @@ -5,70 +5,94 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-insert: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO insert_table VALUES(6, 60)'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-insert: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO insert_table VALUES(6, 60)'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM insert_table; count +--------------------------------------------------------------------- + 7 +(1 row) -7 step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-insert-multi-row s2-start-session-level-connection s2-begin-on-worker s2-insert s1-commit-worker s2-commit-worker s3-select-count s1-stop-connection s2-stop-connection @@ -76,70 +100,94 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-insert-multi-row: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO insert_table VALUES(6, 60), (7, 70), (8, 80)'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-insert: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO insert_table VALUES(6, 60)'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM insert_table; count +--------------------------------------------------------------------- + 9 +(1 row) -9 step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-insert s2-start-session-level-connection s2-begin-on-worker s2-insert-multi-row s1-commit-worker s2-commit-worker s3-select-count s1-stop-connection s2-stop-connection @@ -147,70 +195,94 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-insert: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO insert_table VALUES(6, 60)'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-insert-multi-row: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO insert_table VALUES(6, 60), (7, 70), (8, 80)'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM insert_table; count +--------------------------------------------------------------------- + 9 +(1 row) -9 step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-insert-multi-row s2-start-session-level-connection s2-begin-on-worker s2-insert-multi-row s1-commit-worker s2-commit-worker s3-select-count s1-stop-connection s2-stop-connection @@ -218,70 +290,94 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-insert-multi-row: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO insert_table VALUES(6, 60), (7, 70), (8, 80)'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-insert-multi-row: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO insert_table VALUES(6, 60), (7, 70), (8, 80)'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM insert_table; count +--------------------------------------------------------------------- + 11 +(1 row) -11 step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-insert s2-start-session-level-connection s2-begin-on-worker s2-select s1-commit-worker s2-commit-worker s3-select-count s1-stop-connection s2-stop-connection @@ -289,70 +385,94 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-insert: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO insert_table VALUES(6, 60)'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-select: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM insert_table WHERE id = 6'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM insert_table; count +--------------------------------------------------------------------- + 6 +(1 row) -6 step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-insert s2-start-session-level-connection s2-begin-on-worker s2-insert-select s1-commit-worker s2-commit-worker s3-select-count s1-stop-connection s2-stop-connection @@ -360,70 +480,94 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-insert: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO insert_table VALUES(6, 60)'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-insert-select: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO insert_table SELECT * FROM insert_table'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM insert_table; count +--------------------------------------------------------------------- + 11 +(1 row) -11 step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-insert s2-start-session-level-connection s2-begin-on-worker s2-update s1-commit-worker s2-commit-worker s3-select-count s1-stop-connection s2-stop-connection @@ -431,70 +575,94 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-insert: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO insert_table VALUES(6, 60)'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-update: SELECT run_commands_on_session_level_connection_to_node('UPDATE insert_table SET value = 65 WHERE id = 6'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM insert_table; count +--------------------------------------------------------------------- + 6 +(1 row) -6 step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-insert-multi-row s2-start-session-level-connection s2-begin-on-worker s2-update-multi-row s1-commit-worker s2-commit-worker s3-select-count s1-stop-connection s2-stop-connection @@ -502,70 +670,94 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-insert-multi-row: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO insert_table VALUES(6, 60), (7, 70), (8, 80)'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-update-multi-row: SELECT run_commands_on_session_level_connection_to_node('UPDATE insert_table SET value = 67 WHERE id IN (6, 7)'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM insert_table; count +--------------------------------------------------------------------- + 8 +(1 row) -8 step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-insert s2-start-session-level-connection s2-begin-on-worker s2-copy s1-commit-worker s2-commit-worker s3-select-count s1-stop-connection s2-stop-connection @@ -573,70 +765,94 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-insert: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO insert_table VALUES(6, 60)'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-copy: SELECT run_commands_on_session_level_connection_to_node('COPY insert_table FROM PROGRAM ''echo 9, 90 && echo 10, 100''WITH CSV'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM insert_table; count +--------------------------------------------------------------------- + 8 +(1 row) -8 step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-insert s2-start-session-level-connection s2-begin-on-worker s2-truncate s1-commit-worker s2-commit-worker s3-select-count s1-stop-connection s2-stop-connection @@ -644,31 +860,41 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-insert: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO insert_table VALUES(6, 60)'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-truncate: SELECT run_commands_on_session_level_connection_to_node('TRUNCATE insert_table'); @@ -677,38 +903,52 @@ step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-truncate: <... completed> run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM insert_table; count +--------------------------------------------------------------------- + 0 +(1 row) -0 step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-insert s2-start-session-level-connection s2-begin-on-worker s2-select-for-update s1-commit-worker s2-commit-worker s3-select-count s1-stop-connection s2-stop-connection @@ -716,68 +956,92 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-insert: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO insert_table VALUES(6, 60)'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-select-for-update: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM insert_table WHERE id = 6 FOR UPDATE'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM insert_table; count +--------------------------------------------------------------------- + 6 +(1 row) -6 step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) diff --git a/src/test/regress/expected/isolation_insert_vs_vacuum.out b/src/test/regress/expected/isolation_insert_vs_vacuum.out index 4e42032b5..285a981d0 100644 --- a/src/test/regress/expected/isolation_insert_vs_vacuum.out +++ b/src/test/regress/expected/isolation_insert_vs_vacuum.out @@ -2,7 +2,9 @@ Parsed test spec with 2 sessions starting permutation: s1-begin s1-insert s2-vacuum-analyze s1-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -19,7 +21,9 @@ step s1-commit: starting permutation: s1-begin s1-insert s2-vacuum-full s1-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; diff --git a/src/test/regress/expected/isolation_master_append_table.out b/src/test/regress/expected/isolation_master_append_table.out index 97d415bb8..0290ec825 100644 --- a/src/test/regress/expected/isolation_master_append_table.out +++ b/src/test/regress/expected/isolation_master_append_table.out @@ -16,8 +16,10 @@ step s1-master_append_table_to_shard: 'table_to_append'::regclass::oid = logicalrelid; master_append_table_to_shard +--------------------------------------------------------------------- + 0.0426667 +(1 row) -0.0426667 step s2-master_append_table_to_shard: SELECT master_append_table_to_shard(shardid, 'table_to_be_appended', 'localhost', 57636) @@ -31,8 +33,10 @@ step s1-commit: step s2-master_append_table_to_shard: <... completed> master_append_table_to_shard +--------------------------------------------------------------------- + 0.064 +(1 row) -0.064 step s2-commit: COMMIT; diff --git a/src/test/regress/expected/isolation_master_apply_delete.out b/src/test/regress/expected/isolation_master_apply_delete.out index 105eeb81c..e53e3d52d 100644 --- a/src/test/regress/expected/isolation_master_apply_delete.out +++ b/src/test/regress/expected/isolation_master_apply_delete.out @@ -11,8 +11,10 @@ step s1-master_apply_delete_command_all_shard: SELECT master_apply_delete_command($$DELETE FROM table_to_delete_from WHERE id >= 0$$); master_apply_delete_command +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-master_apply_delete_command_all_shard: SELECT master_apply_delete_command($$DELETE FROM table_to_delete_from WHERE id >= 0$$); @@ -21,8 +23,10 @@ step s1-commit: step s2-master_apply_delete_command_all_shard: <... completed> master_apply_delete_command +--------------------------------------------------------------------- + 0 +(1 row) -0 step s2-commit: COMMIT; @@ -38,8 +42,10 @@ step s1-master_apply_delete_command_all_shard: SELECT master_apply_delete_command($$DELETE FROM table_to_delete_from WHERE id >= 0$$); master_apply_delete_command +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-master_apply_delete_command_row: SELECT master_apply_delete_command($$DELETE FROM table_to_delete_from WHERE id >= 0 and id < 3$$); @@ -48,8 +54,10 @@ step s1-commit: step s2-master_apply_delete_command_row: <... completed> master_apply_delete_command +--------------------------------------------------------------------- + 0 +(1 row) -0 step s2-commit: COMMIT; @@ -65,8 +73,10 @@ step s1-master_apply_delete_command_row: SELECT master_apply_delete_command($$DELETE FROM table_to_delete_from WHERE id >= 0 and id < 3$$); master_apply_delete_command +--------------------------------------------------------------------- + 0 +(1 row) -0 step s2-master_apply_delete_command_all_shard: SELECT master_apply_delete_command($$DELETE FROM table_to_delete_from WHERE id >= 0$$); @@ -75,8 +85,10 @@ step s1-commit: step s2-master_apply_delete_command_all_shard: <... completed> master_apply_delete_command +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-commit: COMMIT; @@ -92,8 +104,10 @@ step s1-master_apply_delete_command_row: SELECT master_apply_delete_command($$DELETE FROM table_to_delete_from WHERE id >= 0 and id < 3$$); master_apply_delete_command +--------------------------------------------------------------------- + 0 +(1 row) -0 step s2-master_apply_delete_command_row: SELECT master_apply_delete_command($$DELETE FROM table_to_delete_from WHERE id >= 0 and id < 3$$); @@ -102,8 +116,10 @@ step s1-commit: step s2-master_apply_delete_command_row: <... completed> master_apply_delete_command +--------------------------------------------------------------------- + 0 +(1 row) -0 step s2-commit: COMMIT; diff --git a/src/test/regress/expected/isolation_master_update_node.out b/src/test/regress/expected/isolation_master_update_node.out index b80d77e1d..46e0d23d5 100644 --- a/src/test/regress/expected/isolation_master_update_node.out +++ b/src/test/regress/expected/isolation_master_update_node.out @@ -2,7 +2,9 @@ Parsed test spec with 2 sessions starting permutation: s1-begin s1-insert s2-begin s2-update-node-1 s1-abort s2-abort create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; step s1-insert: INSERT INTO t1 SELECT generate_series(1, 100); @@ -17,17 +19,23 @@ step s2-update-node-1: step s1-abort: ABORT; step s2-update-node-1: <... completed> master_update_node +--------------------------------------------------------------------- +(1 row) step s2-abort: ABORT; master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-begin s1-insert s2-begin s2-update-node-1-force s2-abort s1-abort create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; step s1-insert: INSERT INTO t1 SELECT generate_series(1, 100); @@ -41,7 +49,9 @@ step s2-update-node-1-force: step s2-update-node-1-force: <... completed> master_update_node +--------------------------------------------------------------------- +(1 row) step s2-abort: ABORT; step s1-abort: ABORT; @@ -51,6 +61,8 @@ server closed the connection unexpectedly before or while processing the request. master_remove_node +--------------------------------------------------------------------- +(2 rows) diff --git a/src/test/regress/expected/isolation_metadata_sync_deadlock.out b/src/test/regress/expected/isolation_metadata_sync_deadlock.out index dc09f8f65..ebca8f427 100644 --- a/src/test/regress/expected/isolation_metadata_sync_deadlock.out +++ b/src/test/regress/expected/isolation_metadata_sync_deadlock.out @@ -2,7 +2,9 @@ Parsed test spec with 3 sessions starting permutation: enable-deadlock-detection reload-conf s2-start-session-level-connection s1-begin s1-update-1 s2-begin-on-worker s2-update-2-on-worker s2-truncate-on-worker s3-invalidate-metadata s3-resync s3-wait s2-update-1-on-worker s1-update-2 s1-commit s2-commit-on-worker disable-deadlock-detection reload-conf s2-stop-connection create_distributed_table +--------------------------------------------------------------------- +(1 row) step enable-deadlock-detection: ALTER SYSTEM SET citus.distributed_deadlock_detection_factor TO 3; @@ -11,13 +13,17 @@ step reload-conf: SELECT pg_reload_conf(); pg_reload_conf - +--------------------------------------------------------------------- t +(1 row) + step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -29,19 +35,25 @@ step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-update-2-on-worker: SELECT run_commands_on_session_level_connection_to_node('UPDATE deadlock_detection_test SET some_val = 2 WHERE user_id = 2'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-truncate-on-worker: SELECT run_commands_on_session_level_connection_to_node('TRUNCATE t2'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-invalidate-metadata: update pg_dist_node SET metadatasynced = false; @@ -50,13 +62,17 @@ step s3-resync: SELECT trigger_metadata_sync(); trigger_metadata_sync +--------------------------------------------------------------------- +(1 row) step s3-wait: SELECT pg_sleep(2); pg_sleep +--------------------------------------------------------------------- +(1 row) step s2-update-1-on-worker: SELECT run_commands_on_session_level_connection_to_node('UPDATE deadlock_detection_test SET some_val = 2 WHERE user_id = 1'); @@ -67,7 +83,9 @@ step s1-update-2: ERROR: canceling the transaction since it was involved in a distributed deadlock step s2-update-1-on-worker: <... completed> run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit: COMMIT; @@ -76,7 +94,9 @@ step s2-commit-on-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step disable-deadlock-detection: ALTER SYSTEM SET citus.distributed_deadlock_detection_factor TO -1; @@ -85,21 +105,29 @@ step reload-conf: SELECT pg_reload_conf(); pg_reload_conf - +--------------------------------------------------------------------- t +(1 row) + step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: increase-retry-interval reload-conf s2-start-session-level-connection s2-begin-on-worker s2-truncate-on-worker s3-invalidate-metadata s3-resync s3-wait s1-count-daemons s1-cancel-metadata-sync s1-count-daemons reset-retry-interval reload-conf s2-commit-on-worker s2-stop-connection s3-resync s3-wait create_distributed_table +--------------------------------------------------------------------- +(1 row) step increase-retry-interval: ALTER SYSTEM SET citus.metadata_sync_retry_interval TO 20000; @@ -108,25 +136,33 @@ step reload-conf: SELECT pg_reload_conf(); pg_reload_conf - +--------------------------------------------------------------------- t +(1 row) + step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-truncate-on-worker: SELECT run_commands_on_session_level_connection_to_node('TRUNCATE t2'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-invalidate-metadata: update pg_dist_node SET metadatasynced = false; @@ -135,36 +171,48 @@ step s3-resync: SELECT trigger_metadata_sync(); trigger_metadata_sync +--------------------------------------------------------------------- +(1 row) step s3-wait: SELECT pg_sleep(2); pg_sleep +--------------------------------------------------------------------- +(1 row) step s1-count-daemons: SELECT count(*) FROM pg_stat_activity WHERE application_name LIKE 'Citus Met%'; count +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-cancel-metadata-sync: SELECT pg_cancel_backend(pid) FROM pg_stat_activity WHERE application_name LIKE 'Citus Met%'; SELECT pg_sleep(2); pg_cancel_backend - +--------------------------------------------------------------------- t -pg_sleep +(1 row) +pg_sleep +--------------------------------------------------------------------- + +(1 row) step s1-count-daemons: SELECT count(*) FROM pg_stat_activity WHERE application_name LIKE 'Citus Met%'; count +--------------------------------------------------------------------- + 0 +(1 row) -0 step reset-retry-interval: ALTER SYSTEM RESET citus.metadata_sync_retry_interval; @@ -172,32 +220,44 @@ step reload-conf: SELECT pg_reload_conf(); pg_reload_conf - +--------------------------------------------------------------------- t +(1 row) + step s2-commit-on-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-resync: SELECT trigger_metadata_sync(); trigger_metadata_sync +--------------------------------------------------------------------- +(1 row) step s3-wait: SELECT pg_sleep(2); pg_sleep +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) diff --git a/src/test/regress/expected/isolation_multi_shard_modify_vs_all.out b/src/test/regress/expected/isolation_multi_shard_modify_vs_all.out index faab62cbf..849522d04 100644 --- a/src/test/regress/expected/isolation_multi_shard_modify_vs_all.out +++ b/src/test/regress/expected/isolation_multi_shard_modify_vs_all.out @@ -13,30 +13,34 @@ step s2-begin: step s2-select: SELECT * FROM users_test_table ORDER BY value_2, value_3; -user_id value_1 value_2 value_3 +user_id|value_1|value_2|value_3 +--------------------------------------------------------------------- + 1| 5| 6| 7 + 2| 12| 7| 18 + 3| 23| 8| 25 + 4| 42| 9| 23 + 5| 35| 10| 17 + 6| 21| 11| 25 + 7| 27| 12| 18 +(7 rows) -1 5 6 7 -2 12 7 18 -3 23 8 25 -4 42 9 23 -5 35 10 17 -6 21 11 25 -7 27 12 18 step s1-commit: COMMIT; step s2-select: SELECT * FROM users_test_table ORDER BY value_2, value_3; -user_id value_1 value_2 value_3 +user_id|value_1|value_2|value_3 +--------------------------------------------------------------------- + 1| 3| 6| 7 + 2| 3| 7| 18 + 3| 3| 8| 25 + 4| 3| 9| 23 + 5| 3| 10| 17 + 6| 3| 11| 25 + 7| 3| 12| 18 +(7 rows) -1 3 6 7 -2 3 7 18 -3 3 8 25 -4 3 9 23 -5 3 10 17 -6 3 11 25 -7 3 12 18 step s2-commit: COMMIT; @@ -131,15 +135,17 @@ step s2-commit: step s2-select: SELECT * FROM users_test_table ORDER BY value_2, value_3; -user_id value_1 value_2 value_3 +user_id|value_1|value_2|value_3 +--------------------------------------------------------------------- + 1| 5| 6| 7 + 2| 12| 7| 18 + 3| 5| 8| 25 + 4| 4| 9| 23 + 5| 35| 10| 17 + 6| 4| 11| 25 + 7| 27| 12| 18 +(7 rows) -1 5 6 7 -2 12 7 18 -3 5 8 25 -4 4 9 23 -5 35 10 17 -6 4 11 25 -7 27 12 18 starting permutation: s1-begin s1-update_value_1_of_1_or_3_to_5 s2-begin s2-update_value_1_of_1_or_3_to_8 s1-commit s2-commit s2-select step s1-begin: @@ -164,15 +170,17 @@ step s2-commit: step s2-select: SELECT * FROM users_test_table ORDER BY value_2, value_3; -user_id value_1 value_2 value_3 +user_id|value_1|value_2|value_3 +--------------------------------------------------------------------- + 1| 8| 6| 7 + 2| 12| 7| 18 + 3| 8| 8| 25 + 4| 42| 9| 23 + 5| 35| 10| 17 + 6| 21| 11| 25 + 7| 27| 12| 18 +(7 rows) -1 8 6 7 -2 12 7 18 -3 8 8 25 -4 42 9 23 -5 35 10 17 -6 21 11 25 -7 27 12 18 starting permutation: s1-begin s1-update_all_value_1 s2-begin s2-insert-to-table s1-commit s2-commit s2-select step s1-begin: @@ -196,16 +204,18 @@ step s2-commit: step s2-select: SELECT * FROM users_test_table ORDER BY value_2, value_3; -user_id value_1 value_2 value_3 +user_id|value_1|value_2|value_3 +--------------------------------------------------------------------- + 1| 2| 3| 4 + 1| 3| 6| 7 + 2| 3| 7| 18 + 3| 3| 8| 25 + 4| 3| 9| 23 + 5| 3| 10| 17 + 6| 3| 11| 25 + 7| 3| 12| 18 +(8 rows) -1 2 3 4 -1 3 6 7 -2 3 7 18 -3 3 8 25 -4 3 9 23 -5 3 10 17 -6 3 11 25 -7 3 12 18 starting permutation: s1-begin s1-update_all_value_1 s2-begin s2-insert-into-select s1-commit s2-commit s2-select step s1-begin: @@ -230,22 +240,24 @@ step s2-commit: step s2-select: SELECT * FROM users_test_table ORDER BY value_2, value_3; -user_id value_1 value_2 value_3 +user_id|value_1|value_2|value_3 +--------------------------------------------------------------------- + 1| 3| 6| 7 + 1| 5| 7| 7 + 2| 3| 7| 18 + 3| 3| 8| 25 + 4| 3| 9| 23 + 5| 22| 9| 25 + 5| 3| 10| 17 + 7| 41| 10| 23 + 6| 3| 11| 25 + 7| 3| 12| 18 + 1| 20| 12| 25 + 3| 26| 13| 18 + 5| 17| 14| 4 + 3| 11| 78| 18 +(14 rows) -1 3 6 7 -1 5 7 7 -2 3 7 18 -3 3 8 25 -4 3 9 23 -5 22 9 25 -5 3 10 17 -7 41 10 23 -6 3 11 25 -7 3 12 18 -1 20 12 25 -3 26 13 18 -5 17 14 4 -3 11 78 18 starting permutation: s1-begin s2-begin s1-update_value_1_of_1_or_3_to_5 s2-update_value_1_of_1_or_3_to_8 s1-commit s2-commit step s1-begin: @@ -317,15 +329,17 @@ step s2-commit: step s2-select: SELECT * FROM users_test_table ORDER BY value_2, value_3; -user_id value_1 value_2 value_3 +user_id|value_1|value_2|value_3 +--------------------------------------------------------------------- + 1| 6| 6| 7 + 2| 6| 7| 18 + 3| 6| 8| 25 + 4| 6| 9| 23 + 5| 6| 10| 17 + 6| 6| 11| 25 + 7| 6| 12| 18 +(7 rows) -1 6 6 7 -2 6 7 18 -3 6 8 25 -4 6 9 23 -5 6 10 17 -6 6 11 25 -7 6 12 18 starting permutation: s1-begin s1-change_connection_mode_to_sequential s1-update_value_1_of_1_or_3_to_5 s2-begin s2-change_connection_mode_to_sequential s2-update_value_1_of_1_or_3_to_8 s1-commit s2-commit s2-select step s1-begin: @@ -356,15 +370,17 @@ step s2-commit: step s2-select: SELECT * FROM users_test_table ORDER BY value_2, value_3; -user_id value_1 value_2 value_3 +user_id|value_1|value_2|value_3 +--------------------------------------------------------------------- + 1| 8| 6| 7 + 2| 12| 7| 18 + 3| 8| 8| 25 + 4| 42| 9| 23 + 5| 35| 10| 17 + 6| 21| 11| 25 + 7| 27| 12| 18 +(7 rows) -1 8 6 7 -2 12 7 18 -3 8 8 25 -4 42 9 23 -5 35 10 17 -6 21 11 25 -7 27 12 18 starting permutation: s1-begin s1-change_connection_mode_to_sequential s1-update_value_1_of_1_or_3_to_5 s2-begin s2-change_connection_mode_to_sequential s2-update_value_1_of_4_or_6_to_4 s1-commit s2-commit s2-select step s1-begin: @@ -394,15 +410,17 @@ step s2-commit: step s2-select: SELECT * FROM users_test_table ORDER BY value_2, value_3; -user_id value_1 value_2 value_3 +user_id|value_1|value_2|value_3 +--------------------------------------------------------------------- + 1| 5| 6| 7 + 2| 12| 7| 18 + 3| 5| 8| 25 + 4| 4| 9| 23 + 5| 35| 10| 17 + 6| 4| 11| 25 + 7| 27| 12| 18 +(7 rows) -1 5 6 7 -2 12 7 18 -3 5 8 25 -4 4 9 23 -5 35 10 17 -6 4 11 25 -7 27 12 18 starting permutation: s1-begin s2-begin s1-change_connection_mode_to_sequential s2-change_connection_mode_to_sequential s1-update_value_1_of_1_or_3_to_5 s2-update_value_1_of_1_or_3_to_8 s1-commit s2-commit step s1-begin: diff --git a/src/test/regress/expected/isolation_multiuser_locking.out b/src/test/regress/expected/isolation_multiuser_locking.out index 2c04134d4..a667b5dfb 100644 --- a/src/test/regress/expected/isolation_multiuser_locking.out +++ b/src/test/regress/expected/isolation_multiuser_locking.out @@ -30,8 +30,10 @@ step s1-grant: GRANT ALL ON test_table TO test_user_2; bool_and - +--------------------------------------------------------------------- t +(1 row) + step s1-begin: BEGIN; SET ROLE test_user_1; @@ -65,8 +67,10 @@ step s1-grant: GRANT ALL ON test_table TO test_user_2; bool_and - +--------------------------------------------------------------------- t +(1 row) + step s1-begin: BEGIN; SET ROLE test_user_1; @@ -125,8 +129,10 @@ step s1-grant: GRANT ALL ON test_table TO test_user_2; bool_and - +--------------------------------------------------------------------- t +(1 row) + step s1-begin: BEGIN; SET ROLE test_user_1; @@ -162,8 +168,10 @@ step s1-grant: GRANT ALL ON test_table TO test_user_2; bool_and - +--------------------------------------------------------------------- t +(1 row) + step s1-begin: BEGIN; SET ROLE test_user_1; @@ -225,8 +233,10 @@ step s1-grant: GRANT ALL ON test_table TO test_user_2; bool_and - +--------------------------------------------------------------------- t +(1 row) + step s1-begin: BEGIN; SET ROLE test_user_1; @@ -259,8 +269,10 @@ step s1-grant: GRANT ALL ON test_table TO test_user_2; bool_and - +--------------------------------------------------------------------- t +(1 row) + step s1-begin: BEGIN; SET ROLE test_user_1; diff --git a/src/test/regress/expected/isolation_partitioned_copy_vs_all.out b/src/test/regress/expected/isolation_partitioned_copy_vs_all.out index f2b7d5dd4..9808490b7 100644 --- a/src/test/regress/expected/isolation_partitioned_copy_vs_all.out +++ b/src/test/regress/expected/isolation_partitioned_copy_vs_all.out @@ -2,7 +2,9 @@ Parsed test spec with 2 sessions starting permutation: s1-initialize s1-begin s1-copy s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -11,50 +13,66 @@ step s2-copy: COPY partitioned_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 & step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM partitioned_copy; count +--------------------------------------------------------------------- + 15 +(1 row) -15 starting permutation: s1-initialize s1-begin s1-copy s2-router-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-copy: COPY partitioned_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s2-router-select: SELECT * FROM partitioned_copy WHERE id = 1; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM partitioned_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-copy s2-real-time-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-copy: COPY partitioned_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s2-real-time-select: SELECT * FROM partitioned_copy ORDER BY 1, 2; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM partitioned_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-copy s2-adaptive-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -63,22 +81,28 @@ step s2-adaptive-select: SET citus.enable_repartition_joins TO ON; SELECT * FROM partitioned_copy AS t1 JOIN partitioned_copy AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM partitioned_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-copy s2-insert s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -87,12 +111,16 @@ step s2-insert: INSERT INTO partitioned_copy VALUES(0, 'k', 0); step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM partitioned_copy; count +--------------------------------------------------------------------- + 11 +(1 row) -11 starting permutation: s1-initialize s1-begin s1-copy s2-insert-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -101,12 +129,16 @@ step s2-insert-select: INSERT INTO partitioned_copy SELECT * FROM partitioned_co step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM partitioned_copy; count +--------------------------------------------------------------------- + 15 +(1 row) -15 starting permutation: s1-initialize s1-begin s1-copy s2-update s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -115,12 +147,16 @@ step s2-update: UPDATE partitioned_copy SET data = 'l' WHERE id = 0; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM partitioned_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-copy s2-delete s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -129,12 +165,16 @@ step s2-delete: DELETE FROM partitioned_copy WHERE id = 1; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM partitioned_copy; count +--------------------------------------------------------------------- + 9 +(1 row) -9 starting permutation: s1-initialize s1-begin s1-copy s2-truncate s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -144,12 +184,16 @@ step s1-commit: COMMIT; step s2-truncate: <... completed> step s1-select-count: SELECT COUNT(*) FROM partitioned_copy; count +--------------------------------------------------------------------- + 0 +(1 row) -0 starting permutation: s1-initialize s1-begin s1-copy s2-drop s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -162,7 +206,9 @@ ERROR: relation "partitioned_copy" does not exist starting permutation: s1-initialize s1-begin s1-copy s2-ddl-add-column s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -172,17 +218,23 @@ step s1-commit: COMMIT; step s2-ddl-add-column: <... completed> step s1-select-count: SELECT COUNT(*) FROM partitioned_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''partitioned_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + starting permutation: s1-initialize s1-ddl-add-column s1-begin s1-copy-additional-column s2-ddl-drop-column s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-ddl-add-column: ALTER TABLE partitioned_copy ADD new_column int DEFAULT 0; @@ -193,17 +245,23 @@ step s1-commit: COMMIT; step s2-ddl-drop-column: <... completed> step s1-select-count: SELECT COUNT(*) FROM partitioned_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''partitioned_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") +(2 rows) + starting permutation: s1-initialize s1-begin s1-copy s2-ddl-rename-column s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -213,34 +271,46 @@ step s1-commit: COMMIT; step s2-ddl-rename-column: <... completed> step s1-select-count: SELECT COUNT(*) FROM partitioned_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''partitioned_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + starting permutation: s1-initialize s1-begin s1-copy s2-table-size s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-copy: COPY partitioned_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s2-table-size: SELECT citus_total_relation_size('partitioned_copy'); citus_total_relation_size +--------------------------------------------------------------------- + 0 +(1 row) -0 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM partitioned_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-copy s2-master-modify-multiple-shards s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -249,12 +319,16 @@ step s2-master-modify-multiple-shards: DELETE FROM partitioned_copy; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM partitioned_copy; count +--------------------------------------------------------------------- + 5 +(1 row) -5 starting permutation: s1-initialize s1-begin s1-copy s2-master-drop-all-shards s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -263,16 +337,22 @@ step s2-master-drop-all-shards: SELECT citus_drop_all_shards('partitioned_copy': step s1-commit: COMMIT; step s2-master-drop-all-shards: <... completed> citus_drop_all_shards +--------------------------------------------------------------------- + 4 +(1 row) -4 step s1-select-count: SELECT COUNT(*) FROM partitioned_copy; count +--------------------------------------------------------------------- + 0 +(1 row) -0 starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s1-copy s2-distribute-table s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop: DROP TABLE partitioned_copy; step s1-create-non-distributed-table: CREATE TABLE partitioned_copy(id integer, data text, int_data int); COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; @@ -283,54 +363,72 @@ step s2-distribute-table: SELECT create_distributed_table('partitioned_copy', 'i step s1-commit: COMMIT; step s2-distribute-table: <... completed> create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-select-count: SELECT COUNT(*) FROM partitioned_copy; count +--------------------------------------------------------------------- + 15 +(1 row) -15 starting permutation: s1-initialize s1-begin s1-router-select s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-router-select: SELECT * FROM partitioned_copy WHERE id = 1; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s2-copy: COPY partitioned_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM partitioned_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-real-time-select s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-real-time-select: SELECT * FROM partitioned_copy ORDER BY 1, 2; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s2-copy: COPY partitioned_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM partitioned_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-adaptive-select s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -338,23 +436,29 @@ step s1-adaptive-select: SET citus.enable_repartition_joins TO ON; SELECT * FROM partitioned_copy AS t1 JOIN partitioned_copy AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s2-copy: COPY partitioned_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM partitioned_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-insert s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -363,12 +467,16 @@ step s2-copy: COPY partitioned_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 & step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM partitioned_copy; count +--------------------------------------------------------------------- + 11 +(1 row) -11 starting permutation: s1-initialize s1-begin s1-insert-select s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -377,12 +485,16 @@ step s2-copy: COPY partitioned_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 & step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM partitioned_copy; count +--------------------------------------------------------------------- + 15 +(1 row) -15 starting permutation: s1-initialize s1-begin s1-update s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -391,12 +503,16 @@ step s2-copy: COPY partitioned_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 & step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM partitioned_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-delete s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -405,12 +521,16 @@ step s2-copy: COPY partitioned_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 & step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM partitioned_copy; count +--------------------------------------------------------------------- + 9 +(1 row) -9 starting permutation: s1-initialize s1-begin s1-truncate s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -420,12 +540,16 @@ step s1-commit: COMMIT; step s2-copy: <... completed> step s1-select-count: SELECT COUNT(*) FROM partitioned_copy; count +--------------------------------------------------------------------- + 5 +(1 row) -5 starting permutation: s1-initialize s1-begin s1-drop s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -439,7 +563,9 @@ ERROR: relation "partitioned_copy" does not exist starting permutation: s1-initialize s1-begin s1-ddl-add-column s2-copy s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -450,17 +576,23 @@ step s2-copy: <... completed> ERROR: missing data for column "new_column" step s1-select-count: SELECT COUNT(*) FROM partitioned_copy; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''partitioned_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + starting permutation: s1-initialize s1-ddl-add-column s1-begin s1-ddl-drop-column s2-copy s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-ddl-add-column: ALTER TABLE partitioned_copy ADD new_column int DEFAULT 0; @@ -471,17 +603,23 @@ step s1-commit: COMMIT; step s2-copy: <... completed> step s1-select-count: SELECT COUNT(*) FROM partitioned_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''partitioned_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") +(2 rows) + starting permutation: s1-initialize s1-begin s1-ddl-rename-column s2-copy s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -491,34 +629,46 @@ step s1-commit: COMMIT; step s2-copy: <... completed> step s1-select-count: SELECT COUNT(*) FROM partitioned_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''partitioned_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + starting permutation: s1-initialize s1-begin s1-table-size s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-table-size: SELECT citus_total_relation_size('partitioned_copy'); citus_total_relation_size +--------------------------------------------------------------------- + 0 +(1 row) -0 step s2-copy: COPY partitioned_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM partitioned_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-master-modify-multiple-shards s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -527,31 +677,41 @@ step s2-copy: COPY partitioned_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 & step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM partitioned_copy; count +--------------------------------------------------------------------- + 5 +(1 row) -5 starting permutation: s1-initialize s1-begin s1-master-drop-all-shards s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-master-drop-all-shards: SELECT citus_drop_all_shards('partitioned_copy'::regclass, 'public', 'partitioned_copy'); citus_drop_all_shards +--------------------------------------------------------------------- + 4 +(1 row) -4 step s2-copy: COPY partitioned_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s1-commit: COMMIT; step s2-copy: <... completed> ERROR: could not find any shards into which to copy step s1-select-count: SELECT COUNT(*) FROM partitioned_copy; count +--------------------------------------------------------------------- + 0 +(1 row) -0 starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s1-distribute-table s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop: DROP TABLE partitioned_copy; step s1-create-non-distributed-table: CREATE TABLE partitioned_copy(id integer, data text, int_data int); COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; @@ -559,12 +719,16 @@ step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, step s1-begin: BEGIN; step s1-distribute-table: SELECT create_distributed_table('partitioned_copy', 'id'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-copy: COPY partitioned_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s1-commit: COMMIT; step s2-copy: <... completed> step s1-select-count: SELECT COUNT(*) FROM partitioned_copy; count +--------------------------------------------------------------------- + 15 +(1 row) -15 diff --git a/src/test/regress/expected/isolation_progress_monitoring.out b/src/test/regress/expected/isolation_progress_monitoring.out index 4e9b1cf08..6b8391e3f 100644 --- a/src/test/regress/expected/isolation_progress_monitoring.out +++ b/src/test/regress/expected/isolation_progress_monitoring.out @@ -16,31 +16,49 @@ step take-locks: SELECT pg_advisory_lock(32); pg_advisory_lock +--------------------------------------------------------------------- +(1 row) pg_advisory_lock +--------------------------------------------------------------------- +(1 row) pg_advisory_lock +--------------------------------------------------------------------- +(1 row) pg_advisory_lock +--------------------------------------------------------------------- +(1 row) pg_advisory_lock +--------------------------------------------------------------------- +(1 row) pg_advisory_lock +--------------------------------------------------------------------- +(1 row) pg_advisory_lock +--------------------------------------------------------------------- +(1 row) pg_advisory_lock +--------------------------------------------------------------------- +(1 row) pg_advisory_lock +--------------------------------------------------------------------- +(1 row) step s1-start-operation: SELECT sample_operation(1337, 10, -1); @@ -56,15 +74,19 @@ step show-progress: SELECT show_progress(3778); show_progress +--------------------------------------------------------------------- +(0,0) +(1,0) +(0,0) +(1,0) +(4 rows) -(0,0) -(1,0) -(0,0) -(1,0) show_progress - +--------------------------------------------------------------------- (0,0) (1,0) +(2 rows) + step release-locks-1: -- Release the locks of first steps of sample operations SELECT pg_advisory_unlock(10); @@ -72,28 +94,38 @@ step release-locks-1: SELECT pg_advisory_unlock(30); pg_advisory_unlock - +--------------------------------------------------------------------- t +(1 row) + pg_advisory_unlock - +--------------------------------------------------------------------- t +(1 row) + pg_advisory_unlock - +--------------------------------------------------------------------- t +(1 row) + step show-progress: SELECT show_progress(1337); SELECT show_progress(3778); show_progress - +--------------------------------------------------------------------- (0,-1) (1,0) (0,2) (1,0) -show_progress +(4 rows) +show_progress +--------------------------------------------------------------------- (0,9) (1,0) +(2 rows) + step release-locks-2: -- Release the locks of second steps of sample operations SELECT pg_advisory_unlock(11); @@ -101,28 +133,38 @@ step release-locks-2: SELECT pg_advisory_unlock(31); pg_advisory_unlock - +--------------------------------------------------------------------- t +(1 row) + pg_advisory_unlock - +--------------------------------------------------------------------- t +(1 row) + pg_advisory_unlock - +--------------------------------------------------------------------- t +(1 row) + step show-progress: SELECT show_progress(1337); SELECT show_progress(3778); show_progress - +--------------------------------------------------------------------- (0,-1) (1,-1) (0,2) (1,2) -show_progress +(4 rows) +show_progress +--------------------------------------------------------------------- (0,9) (1,9) +(2 rows) + step release-locks-3: -- Release the locks of final steps of sample operations SELECT pg_advisory_unlock(12); @@ -130,23 +172,35 @@ step release-locks-3: SELECT pg_advisory_unlock(32); pg_advisory_unlock - +--------------------------------------------------------------------- t +(1 row) + pg_advisory_unlock - +--------------------------------------------------------------------- t +(1 row) + pg_advisory_unlock - +--------------------------------------------------------------------- t +(1 row) + step s1-start-operation: <... completed> sample_operation +--------------------------------------------------------------------- +(1 row) step s2-start-operation: <... completed> sample_operation +--------------------------------------------------------------------- +(1 row) step s3-start-operation: <... completed> sample_operation +--------------------------------------------------------------------- +(1 row) diff --git a/src/test/regress/expected/isolation_range_copy_vs_all.out b/src/test/regress/expected/isolation_range_copy_vs_all.out index d9a17e7bf..2490d9547 100644 --- a/src/test/regress/expected/isolation_range_copy_vs_all.out +++ b/src/test/regress/expected/isolation_range_copy_vs_all.out @@ -2,7 +2,9 @@ Parsed test spec with 2 sessions starting permutation: s1-initialize s1-begin s1-copy s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -11,50 +13,66 @@ step s2-copy: COPY range_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM range_copy; count +--------------------------------------------------------------------- + 15 +(1 row) -15 starting permutation: s1-initialize s1-begin s1-copy s2-router-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-copy: COPY range_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s2-router-select: SELECT * FROM range_copy WHERE id = 1; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM range_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-copy s2-real-time-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-copy: COPY range_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s2-real-time-select: SELECT * FROM range_copy ORDER BY 1, 2; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM range_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-copy s2-adaptive-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -63,22 +81,28 @@ step s2-adaptive-select: SET citus.enable_repartition_joins TO ON; SELECT * FROM range_copy AS t1 JOIN range_copy AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM range_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-copy s2-insert s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -87,12 +111,16 @@ step s2-insert: INSERT INTO range_copy VALUES(0, 'k', 0); step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM range_copy; count +--------------------------------------------------------------------- + 11 +(1 row) -11 starting permutation: s1-initialize s1-begin s1-copy s2-insert-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -101,12 +129,16 @@ step s2-insert-select: INSERT INTO range_copy SELECT * FROM range_copy; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM range_copy; count +--------------------------------------------------------------------- + 15 +(1 row) -15 starting permutation: s1-initialize s1-begin s1-copy s2-update s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -115,12 +147,16 @@ step s2-update: UPDATE range_copy SET data = 'l' WHERE id = 0; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM range_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-copy s2-delete s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -129,12 +165,16 @@ step s2-delete: DELETE FROM range_copy WHERE id = 1; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM range_copy; count +--------------------------------------------------------------------- + 9 +(1 row) -9 starting permutation: s1-initialize s1-begin s1-copy s2-truncate s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -144,12 +184,16 @@ step s1-commit: COMMIT; step s2-truncate: <... completed> step s1-select-count: SELECT COUNT(*) FROM range_copy; count +--------------------------------------------------------------------- + 0 +(1 row) -0 starting permutation: s1-initialize s1-begin s1-copy s2-drop s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -162,7 +206,9 @@ ERROR: relation "range_copy" does not exist starting permutation: s1-initialize s1-begin s1-copy s2-ddl-create-index s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -172,17 +218,23 @@ step s1-commit: COMMIT; step s2-ddl-create-index: <... completed> step s1-select-count: SELECT COUNT(*) FROM range_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''range_copy%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) +(2 rows) + starting permutation: s1-initialize s1-ddl-create-index s1-begin s1-copy s2-ddl-drop-index s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-ddl-create-index: CREATE INDEX range_copy_index ON range_copy(id); @@ -193,17 +245,23 @@ step s1-commit: COMMIT; step s2-ddl-drop-index: <... completed> step s1-select-count: SELECT COUNT(*) FROM range_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''range_copy%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + starting permutation: s1-initialize s1-begin s1-copy s2-ddl-create-index-concurrently s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -213,17 +271,23 @@ step s1-commit: COMMIT; step s2-ddl-create-index-concurrently: <... completed> step s1-select-count: SELECT COUNT(*) FROM range_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''range_copy%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,1) (localhost,57638,t,1) +(2 rows) + starting permutation: s1-initialize s1-begin s1-copy s2-ddl-add-column s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -233,17 +297,23 @@ step s1-commit: COMMIT; step s2-ddl-add-column: <... completed> step s1-select-count: SELECT COUNT(*) FROM range_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''range_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + starting permutation: s1-initialize s1-ddl-add-column s1-begin s1-copy-additional-column s2-ddl-drop-column s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-ddl-add-column: ALTER TABLE range_copy ADD new_column int DEFAULT 0; @@ -254,17 +324,23 @@ step s1-commit: COMMIT; step s2-ddl-drop-column: <... completed> step s1-select-count: SELECT COUNT(*) FROM range_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''range_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") +(2 rows) + starting permutation: s1-initialize s1-begin s1-copy s2-ddl-rename-column s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -274,34 +350,46 @@ step s1-commit: COMMIT; step s2-ddl-rename-column: <... completed> step s1-select-count: SELECT COUNT(*) FROM range_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''range_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + starting permutation: s1-initialize s1-begin s1-copy s2-table-size s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-copy: COPY range_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s2-table-size: SELECT citus_total_relation_size('range_copy'); citus_total_relation_size +--------------------------------------------------------------------- + 32768 +(1 row) -32768 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM range_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-copy s2-master-modify-multiple-shards s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -310,12 +398,16 @@ step s2-master-modify-multiple-shards: DELETE FROM range_copy; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM range_copy; count +--------------------------------------------------------------------- + 5 +(1 row) -5 starting permutation: s1-initialize s1-begin s1-copy s2-master-apply-delete-command s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -324,16 +416,22 @@ step s2-master-apply-delete-command: SELECT master_apply_delete_command('DELETE step s1-commit: COMMIT; step s2-master-apply-delete-command: <... completed> master_apply_delete_command +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-select-count: SELECT COUNT(*) FROM range_copy; count +--------------------------------------------------------------------- + 5 +(1 row) -5 starting permutation: s1-initialize s1-begin s1-copy s2-master-drop-all-shards s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -342,16 +440,22 @@ step s2-master-drop-all-shards: SELECT citus_drop_all_shards('range_copy'::regcl step s1-commit: COMMIT; step s2-master-drop-all-shards: <... completed> citus_drop_all_shards +--------------------------------------------------------------------- + 2 +(1 row) -2 step s1-select-count: SELECT COUNT(*) FROM range_copy; count +--------------------------------------------------------------------- + 0 +(1 row) -0 starting permutation: s1-drop s1-create-non-distributed-table s1-begin s1-copy s2-distribute-table s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop: DROP TABLE range_copy; step s1-create-non-distributed-table: CREATE TABLE range_copy(id integer, data text, int_data int); @@ -361,54 +465,72 @@ step s2-distribute-table: SELECT create_distributed_table('range_copy', 'id', 'r step s1-commit: COMMIT; step s2-distribute-table: <... completed> create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-select-count: SELECT COUNT(*) FROM range_copy; count +--------------------------------------------------------------------- + 0 +(1 row) -0 starting permutation: s1-initialize s1-begin s1-router-select s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-router-select: SELECT * FROM range_copy WHERE id = 1; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s2-copy: COPY range_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM range_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-real-time-select s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-real-time-select: SELECT * FROM range_copy ORDER BY 1, 2; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s2-copy: COPY range_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM range_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-adaptive-select s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -416,23 +538,29 @@ step s1-adaptive-select: SET citus.enable_repartition_joins TO ON; SELECT * FROM range_copy AS t1 JOIN range_copy AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s2-copy: COPY range_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM range_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-insert s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -441,12 +569,16 @@ step s2-copy: COPY range_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM range_copy; count +--------------------------------------------------------------------- + 11 +(1 row) -11 starting permutation: s1-initialize s1-begin s1-insert-select s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -455,12 +587,16 @@ step s2-copy: COPY range_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM range_copy; count +--------------------------------------------------------------------- + 15 +(1 row) -15 starting permutation: s1-initialize s1-begin s1-update s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -469,12 +605,16 @@ step s2-copy: COPY range_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM range_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-delete s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -483,12 +623,16 @@ step s2-copy: COPY range_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM range_copy; count +--------------------------------------------------------------------- + 9 +(1 row) -9 starting permutation: s1-initialize s1-begin s1-truncate s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -498,12 +642,16 @@ step s1-commit: COMMIT; step s2-copy: <... completed> step s1-select-count: SELECT COUNT(*) FROM range_copy; count +--------------------------------------------------------------------- + 5 +(1 row) -5 starting permutation: s1-initialize s1-begin s1-drop s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -517,7 +665,9 @@ ERROR: relation "range_copy" does not exist starting permutation: s1-initialize s1-begin s1-ddl-create-index s2-copy s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -527,17 +677,23 @@ step s1-commit: COMMIT; step s2-copy: <... completed> step s1-select-count: SELECT COUNT(*) FROM range_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''range_copy%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) +(2 rows) + starting permutation: s1-initialize s1-ddl-create-index s1-begin s1-ddl-drop-index s2-copy s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-ddl-create-index: CREATE INDEX range_copy_index ON range_copy(id); @@ -548,17 +704,23 @@ step s1-commit: COMMIT; step s2-copy: <... completed> step s1-select-count: SELECT COUNT(*) FROM range_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''range_copy%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + starting permutation: s1-initialize s1-begin s1-ddl-add-column s2-copy s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -569,17 +731,23 @@ step s2-copy: <... completed> ERROR: missing data for column "new_column" step s1-select-count: SELECT COUNT(*) FROM range_copy; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''range_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + starting permutation: s1-initialize s1-ddl-add-column s1-begin s1-ddl-drop-column s2-copy s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-ddl-add-column: ALTER TABLE range_copy ADD new_column int DEFAULT 0; @@ -590,17 +758,23 @@ step s1-commit: COMMIT; step s2-copy: <... completed> step s1-select-count: SELECT COUNT(*) FROM range_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''range_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") +(2 rows) + starting permutation: s1-initialize s1-begin s1-ddl-rename-column s2-copy s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -610,34 +784,46 @@ step s1-commit: COMMIT; step s2-copy: <... completed> step s1-select-count: SELECT COUNT(*) FROM range_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''range_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + starting permutation: s1-initialize s1-begin s1-table-size s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-table-size: SELECT citus_total_relation_size('range_copy'); citus_total_relation_size +--------------------------------------------------------------------- + 32768 +(1 row) -32768 step s2-copy: COPY range_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM range_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-master-modify-multiple-shards s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -646,55 +832,73 @@ step s2-copy: COPY range_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM range_copy; count +--------------------------------------------------------------------- + 5 +(1 row) -5 starting permutation: s1-initialize s1-begin s1-master-apply-delete-command s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-master-apply-delete-command: SELECT master_apply_delete_command('DELETE FROM range_copy WHERE id <= 4;'); master_apply_delete_command +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-copy: COPY range_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s1-commit: COMMIT; step s2-copy: <... completed> step s1-select-count: SELECT COUNT(*) FROM range_copy; count +--------------------------------------------------------------------- + 5 +(1 row) -5 starting permutation: s1-initialize s1-begin s1-master-drop-all-shards s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-master-drop-all-shards: SELECT citus_drop_all_shards('range_copy'::regclass, 'public', 'range_copy'); citus_drop_all_shards +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-copy: COPY range_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s1-commit: COMMIT; step s2-copy: <... completed> step s1-select-count: SELECT COUNT(*) FROM range_copy; count +--------------------------------------------------------------------- + 5 +(1 row) -5 starting permutation: s1-drop s1-create-non-distributed-table s1-begin s1-distribute-table s2-copy s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop: DROP TABLE range_copy; step s1-create-non-distributed-table: CREATE TABLE range_copy(id integer, data text, int_data int); step s1-begin: BEGIN; step s1-distribute-table: SELECT create_distributed_table('range_copy', 'id', 'range'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-copy: COPY range_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s1-commit: COMMIT; @@ -702,5 +906,7 @@ step s2-copy: <... completed> ERROR: could not find any shards into which to copy step s1-select-count: SELECT COUNT(*) FROM range_copy; count +--------------------------------------------------------------------- + 0 +(1 row) -0 diff --git a/src/test/regress/expected/isolation_rebalancer_deferred_drop.out b/src/test/regress/expected/isolation_rebalancer_deferred_drop.out index 199678ca0..d89a71ece 100644 --- a/src/test/regress/expected/isolation_rebalancer_deferred_drop.out +++ b/src/test/regress/expected/isolation_rebalancer_deferred_drop.out @@ -8,7 +8,9 @@ step s1-move-placement: SELECT master_move_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638); master_move_shard_placement +--------------------------------------------------------------------- +(1 row) s1: NOTICE: cleaned up 1 orphaned shards step s1-drop-marked-shards: @@ -32,7 +34,9 @@ step s1-move-placement: SELECT master_move_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638); master_move_shard_placement +--------------------------------------------------------------------- +(1 row) step s2-drop-marked-shards: SET client_min_messages to DEBUG1; @@ -55,23 +59,31 @@ step s1-move-placement: SELECT master_move_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638); master_move_shard_placement +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-lock-table-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN;'); SELECT run_commands_on_session_level_connection_to_node('LOCK TABLE t1_120000'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-drop-marked-shards: SET client_min_messages to NOTICE; @@ -87,7 +99,9 @@ step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) starting permutation: s1-begin s1-move-placement s2-start-session-level-connection s2-lock-table-on-worker s1-commit s1-begin s1-move-placement-back s1-commit s2-stop-connection @@ -98,23 +112,31 @@ step s1-move-placement: SELECT master_move_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638); master_move_shard_placement +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-lock-table-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN;'); SELECT run_commands_on_session_level_connection_to_node('LOCK TABLE t1_120000'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit: COMMIT; @@ -128,8 +150,10 @@ step s1-move-placement-back: SELECT master_move_shard_placement((SELECT * FROM selected_shard), 'localhost', 57638, 'localhost', 57637); log_error_verbosity - +--------------------------------------------------------------------- verbose +(1 row) + ERROR: shard xxxxx still exists on the target node as an orphaned shard step s1-commit: COMMIT; @@ -138,7 +162,9 @@ step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) starting permutation: s1-begin s1-lock-pg-dist-placement s2-drop-old-shards s1-commit @@ -153,7 +179,9 @@ step s2-drop-old-shards: SELECT run_try_drop_marked_shards(); run_try_drop_marked_shards +--------------------------------------------------------------------- +(1 row) step s1-commit: COMMIT; @@ -170,8 +198,10 @@ step s2-select: SELECT COUNT(*) FROM t1; count +--------------------------------------------------------------------- + 0 +(1 row) -0 step s1-move-placement-without-deferred: SET citus.defer_drop_after_shard_move TO OFF; SELECT master_move_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638); @@ -181,7 +211,9 @@ step s2-commit: step s1-move-placement-without-deferred: <... completed> master_move_shard_placement +--------------------------------------------------------------------- +(1 row) step s1-commit: COMMIT; diff --git a/src/test/regress/expected/isolation_ref2ref_foreign_keys.out b/src/test/regress/expected/isolation_ref2ref_foreign_keys.out index f0e8c608b..6c63be9c1 100644 --- a/src/test/regress/expected/isolation_ref2ref_foreign_keys.out +++ b/src/test/regress/expected/isolation_ref2ref_foreign_keys.out @@ -16,10 +16,12 @@ step s1-view-locks: WHERE locktype='advisory' GROUP BY mode; -mode count +mode |count +--------------------------------------------------------------------- +ExclusiveLock| 1 +ShareLock | 1 +(2 rows) -ExclusiveLock 1 -ShareLock 1 step s1-rollback: ROLLBACK; @@ -32,7 +34,9 @@ step s1-view-locks: WHERE locktype='advisory' GROUP BY mode; -mode count +mode|count +--------------------------------------------------------------------- +(0 rows) starting permutation: s2-begin s2-delete-table-1 s1-view-locks s2-rollback s1-view-locks @@ -48,10 +52,12 @@ step s1-view-locks: WHERE locktype='advisory' GROUP BY mode; -mode count +mode |count +--------------------------------------------------------------------- +ExclusiveLock| 1 +ShareLock | 1 +(2 rows) -ExclusiveLock 1 -ShareLock 1 step s2-rollback: ROLLBACK; @@ -61,7 +67,9 @@ step s1-view-locks: WHERE locktype='advisory' GROUP BY mode; -mode count +mode|count +--------------------------------------------------------------------- +(0 rows) starting permutation: s2-begin s2-update-table-2 s1-view-locks s2-rollback s1-view-locks @@ -77,10 +85,12 @@ step s1-view-locks: WHERE locktype='advisory' GROUP BY mode; -mode count +mode |count +--------------------------------------------------------------------- +ExclusiveLock| 2 +ShareLock | 1 +(2 rows) -ExclusiveLock 2 -ShareLock 1 step s2-rollback: ROLLBACK; @@ -90,7 +100,9 @@ step s1-view-locks: WHERE locktype='advisory' GROUP BY mode; -mode count +mode|count +--------------------------------------------------------------------- +(0 rows) starting permutation: s2-begin s2-delete-table-2 s1-view-locks s2-rollback s1-view-locks @@ -106,10 +118,12 @@ step s1-view-locks: WHERE locktype='advisory' GROUP BY mode; -mode count +mode |count +--------------------------------------------------------------------- +ExclusiveLock| 2 +ShareLock | 1 +(2 rows) -ExclusiveLock 2 -ShareLock 1 step s2-rollback: ROLLBACK; @@ -119,7 +133,9 @@ step s1-view-locks: WHERE locktype='advisory' GROUP BY mode; -mode count +mode|count +--------------------------------------------------------------------- +(0 rows) starting permutation: s2-begin s2-update-table-3 s1-begin s1-view-locks s1-rollback s2-rollback s1-view-locks @@ -138,10 +154,12 @@ step s1-view-locks: WHERE locktype='advisory' GROUP BY mode; -mode count +mode |count +--------------------------------------------------------------------- +ExclusiveLock| 3 +ShareLock | 1 +(2 rows) -ExclusiveLock 3 -ShareLock 1 step s1-rollback: ROLLBACK; @@ -154,7 +172,9 @@ step s1-view-locks: WHERE locktype='advisory' GROUP BY mode; -mode count +mode|count +--------------------------------------------------------------------- +(0 rows) starting permutation: s2-begin s2-delete-table-3 s1-begin s1-view-locks s1-rollback s2-rollback s1-view-locks @@ -173,10 +193,12 @@ step s1-view-locks: WHERE locktype='advisory' GROUP BY mode; -mode count +mode |count +--------------------------------------------------------------------- +ExclusiveLock| 3 +ShareLock | 1 +(2 rows) -ExclusiveLock 3 -ShareLock 1 step s1-rollback: ROLLBACK; @@ -189,7 +211,9 @@ step s1-view-locks: WHERE locktype='advisory' GROUP BY mode; -mode count +mode|count +--------------------------------------------------------------------- +(0 rows) starting permutation: s2-begin s2-insert-table-1 s1-view-locks s2-rollback s1-view-locks @@ -205,10 +229,12 @@ step s1-view-locks: WHERE locktype='advisory' GROUP BY mode; -mode count +mode |count +--------------------------------------------------------------------- +RowExclusiveLock| 1 +ShareLock | 1 +(2 rows) -RowExclusiveLock1 -ShareLock 1 step s2-rollback: ROLLBACK; @@ -218,7 +244,9 @@ step s1-view-locks: WHERE locktype='advisory' GROUP BY mode; -mode count +mode|count +--------------------------------------------------------------------- +(0 rows) starting permutation: s2-begin s2-insert-table-2 s1-view-locks s2-rollback s1-view-locks @@ -234,10 +262,12 @@ step s1-view-locks: WHERE locktype='advisory' GROUP BY mode; -mode count +mode |count +--------------------------------------------------------------------- +RowExclusiveLock| 2 +ShareLock | 1 +(2 rows) -RowExclusiveLock2 -ShareLock 1 step s2-rollback: ROLLBACK; @@ -247,7 +277,9 @@ step s1-view-locks: WHERE locktype='advisory' GROUP BY mode; -mode count +mode|count +--------------------------------------------------------------------- +(0 rows) starting permutation: s2-begin s2-insert-table-3 s1-view-locks s2-rollback s1-view-locks @@ -263,10 +295,12 @@ step s1-view-locks: WHERE locktype='advisory' GROUP BY mode; -mode count +mode |count +--------------------------------------------------------------------- +RowExclusiveLock| 3 +ShareLock | 1 +(2 rows) -RowExclusiveLock3 -ShareLock 1 step s2-rollback: ROLLBACK; @@ -276,7 +310,9 @@ step s1-view-locks: WHERE locktype='advisory' GROUP BY mode; -mode count +mode|count +--------------------------------------------------------------------- +(0 rows) starting permutation: s1-begin s2-begin s2-update-table-1 s1-delete-table-2 s2-commit s1-commit s1-select-table-2 @@ -302,10 +338,12 @@ step s1-commit: step s1-select-table-2: SELECT * FROM ref_table_2 ORDER BY id, value; -id value +id|value +--------------------------------------------------------------------- + 3| 3 + 5| 5 +(2 rows) -3 3 -5 5 starting permutation: s1-begin s2-begin s2-update-table-1 s1-insert-table-2 s2-commit s1-commit s1-select-table-2 step s1-begin: @@ -330,12 +368,14 @@ step s1-commit: step s1-select-table-2: SELECT * FROM ref_table_2 ORDER BY id, value; -id value +id|value +--------------------------------------------------------------------- + 1| 2 + 3| 3 + 5| 5 + 7| 2 +(4 rows) -1 2 -3 3 -5 5 -7 2 starting permutation: s1-begin s2-begin s2-update-table-1 s1-update-table-2 s2-commit s1-commit s1-select-table-2 step s1-begin: @@ -360,11 +400,13 @@ step s1-commit: step s1-select-table-2: SELECT * FROM ref_table_2 ORDER BY id, value; -id value +id|value +--------------------------------------------------------------------- + 0| 2 + 3| 3 + 5| 5 +(3 rows) -0 2 -3 3 -5 5 starting permutation: s1-begin s2-begin s2-delete-table-1 s1-delete-table-2 s2-commit s1-commit s1-select-table-2 step s1-begin: @@ -389,10 +431,12 @@ step s1-commit: step s1-select-table-2: SELECT * FROM ref_table_2 ORDER BY id, value; -id value +id|value +--------------------------------------------------------------------- + 3| 3 + 5| 5 +(2 rows) -3 3 -5 5 starting permutation: s1-begin s2-begin s2-delete-table-1 s1-insert-table-2 s2-commit s1-commit s1-select-table-2 step s1-begin: @@ -418,10 +462,12 @@ step s1-commit: step s1-select-table-2: SELECT * FROM ref_table_2 ORDER BY id, value; -id value +id|value +--------------------------------------------------------------------- + 3| 3 + 5| 5 +(2 rows) -3 3 -5 5 starting permutation: s1-begin s2-begin s2-delete-table-1 s1-update-table-2 s2-commit s1-commit s1-select-table-2 step s1-begin: @@ -446,10 +492,12 @@ step s1-commit: step s1-select-table-2: SELECT * FROM ref_table_2 ORDER BY id, value; -id value +id|value +--------------------------------------------------------------------- + 3| 3 + 5| 5 +(2 rows) -3 3 -5 5 starting permutation: s1-begin s2-begin s2-delete-table-1 s1-delete-table-3 s2-commit s1-commit s1-select-table-3 step s1-begin: @@ -469,6 +517,8 @@ step s2-commit: step s1-delete-table-3: <... completed> id +-- +(0 rows) step s1-commit: COMMIT; @@ -476,10 +526,12 @@ step s1-commit: step s1-select-table-3: SELECT * FROM ref_table_3 ORDER BY id, value; -id value +id|value +--------------------------------------------------------------------- + 3| 3 + 5| 5 +(2 rows) -3 3 -5 5 starting permutation: s1-begin s2-begin s2-delete-table-1 s1-insert-table-3 s2-commit s1-commit s1-select-table-3 step s1-begin: @@ -505,10 +557,12 @@ step s1-commit: step s1-select-table-3: SELECT * FROM ref_table_3 ORDER BY id, value; -id value +id|value +--------------------------------------------------------------------- + 3| 3 + 5| 5 +(2 rows) -3 3 -5 5 starting permutation: s1-begin s2-begin s2-delete-table-1 s1-update-table-3 s2-commit s1-commit s1-select-table-3 step s1-begin: @@ -528,6 +582,8 @@ step s2-commit: step s1-update-table-3: <... completed> id +-- +(0 rows) step s1-commit: COMMIT; @@ -535,10 +591,12 @@ step s1-commit: step s1-select-table-3: SELECT * FROM ref_table_3 ORDER BY id, value; -id value +id|value +--------------------------------------------------------------------- + 3| 3 + 5| 5 +(2 rows) -3 3 -5 5 starting permutation: s1-begin s2-begin s2-insert-table-1 s1-update-table-3 s2-commit s1-commit s1-select-table-3 step s1-begin: @@ -558,19 +616,23 @@ step s2-commit: step s1-update-table-3: <... completed> id +-- + 2 +(1 row) -2 step s1-commit: COMMIT; step s1-select-table-3: SELECT * FROM ref_table_3 ORDER BY id, value; -id value +id|value +--------------------------------------------------------------------- + 2| 1 + 3| 3 + 5| 5 +(3 rows) -2 1 -3 3 -5 5 starting permutation: s1-begin s2-begin s1-update-table-3 s2-insert-table-1 s1-commit s2-commit s1-select-table-3 step s1-begin: @@ -583,8 +645,10 @@ step s1-update-table-3: UPDATE ref_table_3 SET id = 2 WHERE value = 1 RETURNING id; id +-- + 2 +(1 row) -2 step s2-insert-table-1: INSERT INTO ref_table_1 VALUES (7, 7); @@ -598,11 +662,13 @@ step s2-commit: step s1-select-table-3: SELECT * FROM ref_table_3 ORDER BY id, value; -id value +id|value +--------------------------------------------------------------------- + 2| 1 + 3| 3 + 5| 5 +(3 rows) -2 1 -3 3 -5 5 starting permutation: s1-begin s2-begin s2-insert-table-1 s1-update-table-2 s2-commit s1-commit s1-select-table-3 step s1-begin: @@ -627,11 +693,13 @@ step s1-commit: step s1-select-table-3: SELECT * FROM ref_table_3 ORDER BY id, value; -id value +id|value +--------------------------------------------------------------------- + 1| 1 + 3| 3 + 5| 5 +(3 rows) -1 1 -3 3 -5 5 starting permutation: s1-begin s2-begin s1-update-table-2 s2-insert-table-1 s1-commit s2-commit s1-select-table-3 step s1-begin: @@ -656,11 +724,13 @@ step s2-commit: step s1-select-table-3: SELECT * FROM ref_table_3 ORDER BY id, value; -id value +id|value +--------------------------------------------------------------------- + 1| 1 + 3| 3 + 5| 5 +(3 rows) -1 1 -3 3 -5 5 starting permutation: s1-begin s2-begin s2-insert-table-2 s1-update-table-3 s2-commit s1-commit s1-select-table-3 step s1-begin: @@ -680,19 +750,23 @@ step s2-commit: step s1-update-table-3: <... completed> id +-- + 2 +(1 row) -2 step s1-commit: COMMIT; step s1-select-table-3: SELECT * FROM ref_table_3 ORDER BY id, value; -id value +id|value +--------------------------------------------------------------------- + 2| 1 + 3| 3 + 5| 5 +(3 rows) -2 1 -3 3 -5 5 starting permutation: s1-begin s2-begin s1-update-table-3 s2-insert-table-2 s1-commit s2-commit s1-select-table-3 step s1-begin: @@ -705,8 +779,10 @@ step s1-update-table-3: UPDATE ref_table_3 SET id = 2 WHERE value = 1 RETURNING id; id +-- + 2 +(1 row) -2 step s2-insert-table-2: INSERT INTO ref_table_2 VALUES (7, 5); @@ -720,11 +796,13 @@ step s2-commit: step s1-select-table-3: SELECT * FROM ref_table_3 ORDER BY id, value; -id value +id|value +--------------------------------------------------------------------- + 2| 1 + 3| 3 + 5| 5 +(3 rows) -2 1 -3 3 -5 5 starting permutation: s1-begin s2-begin s2-insert-table-1 s1-select-table-1 s2-commit s1-commit step s1-begin: @@ -739,11 +817,13 @@ step s2-insert-table-1: step s1-select-table-1: SELECT * FROM ref_table_1 ORDER BY id, value; -id value +id|value +--------------------------------------------------------------------- + 1| 1 + 3| 3 + 5| 5 +(3 rows) -1 1 -3 3 -5 5 step s2-commit: COMMIT; @@ -764,11 +844,13 @@ step s2-insert-table-1: step s1-select-table-2: SELECT * FROM ref_table_2 ORDER BY id, value; -id value +id|value +--------------------------------------------------------------------- + 1| 1 + 3| 3 + 5| 5 +(3 rows) -1 1 -3 3 -5 5 step s2-commit: COMMIT; @@ -789,11 +871,13 @@ step s2-insert-table-1: step s1-select-table-3: SELECT * FROM ref_table_3 ORDER BY id, value; -id value +id|value +--------------------------------------------------------------------- + 1| 1 + 3| 3 + 5| 5 +(3 rows) -1 1 -3 3 -5 5 step s2-commit: COMMIT; @@ -814,11 +898,13 @@ step s2-delete-table-2: step s1-select-table-1: SELECT * FROM ref_table_1 ORDER BY id, value; -id value +id|value +--------------------------------------------------------------------- + 1| 1 + 3| 3 + 5| 5 +(3 rows) -1 1 -3 3 -5 5 step s2-commit: COMMIT; @@ -839,11 +925,13 @@ step s2-delete-table-2: step s1-select-table-2: SELECT * FROM ref_table_2 ORDER BY id, value; -id value +id|value +--------------------------------------------------------------------- + 1| 1 + 3| 3 + 5| 5 +(3 rows) -1 1 -3 3 -5 5 step s2-commit: COMMIT; @@ -864,11 +952,13 @@ step s2-delete-table-2: step s1-select-table-3: SELECT * FROM ref_table_3 ORDER BY id, value; -id value +id|value +--------------------------------------------------------------------- + 1| 1 + 3| 3 + 5| 5 +(3 rows) -1 1 -3 3 -5 5 step s2-commit: COMMIT; @@ -889,11 +979,13 @@ step s2-update-table-3: step s1-select-table-1: SELECT * FROM ref_table_1 ORDER BY id, value; -id value +id|value +--------------------------------------------------------------------- + 1| 1 + 3| 3 + 5| 5 +(3 rows) -1 1 -3 3 -5 5 step s2-commit: COMMIT; @@ -914,11 +1006,13 @@ step s2-update-table-3: step s1-select-table-2: SELECT * FROM ref_table_2 ORDER BY id, value; -id value +id|value +--------------------------------------------------------------------- + 1| 1 + 3| 3 + 5| 5 +(3 rows) -1 1 -3 3 -5 5 step s2-commit: COMMIT; @@ -939,11 +1033,13 @@ step s2-update-table-3: step s1-select-table-3: SELECT * FROM ref_table_3 ORDER BY id, value; -id value +id|value +--------------------------------------------------------------------- + 1| 1 + 3| 3 + 5| 5 +(3 rows) -1 1 -3 3 -5 5 step s2-commit: COMMIT; diff --git a/src/test/regress/expected/isolation_ref2ref_foreign_keys_on_mx.out b/src/test/regress/expected/isolation_ref2ref_foreign_keys_on_mx.out index 11d64c56d..91482f247 100644 --- a/src/test/regress/expected/isolation_ref2ref_foreign_keys_on_mx.out +++ b/src/test/regress/expected/isolation_ref2ref_foreign_keys_on_mx.out @@ -5,25 +5,33 @@ step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-update-table-1: SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table_1 SET id = 2 WHERE id = 1'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-view-locks: SELECT * FROM master_run_on_worker( @@ -35,14 +43,18 @@ step s1-view-locks: WHERE locktype='advisory' GROUP BY mode) t$$]::text[], false); -node_name node_port success result +node_name|node_port|success|result +--------------------------------------------------------------------- +localhost| 57637|t |{"(ExclusiveLock,1)","(ShareLock,1)"} +(1 row) -localhost 57637 t {"(ExclusiveLock,1)","(ShareLock,1)"} step s2-rollback-worker: SELECT run_commands_on_session_level_connection_to_node('ROLLBACK'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-view-locks: SELECT * FROM master_run_on_worker( @@ -54,23 +66,31 @@ step s1-view-locks: WHERE locktype='advisory' GROUP BY mode) t$$]::text[], false); -node_name node_port success result +node_name|node_port|success|result +--------------------------------------------------------------------- +localhost| 57637|t | +(1 row) -localhost 57637 t step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s2-start-session-level-connection s2-begin-on-worker s2-delete-table-1 s1-start-session-level-connection s1-view-locks s2-rollback-worker s1-view-locks s1-stop-connection s2-stop-connection @@ -78,25 +98,33 @@ step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-delete-table-1: SELECT run_commands_on_session_level_connection_to_node('DELETE FROM ref_table_1 WHERE id = 1'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-view-locks: SELECT * FROM master_run_on_worker( @@ -108,14 +136,18 @@ step s1-view-locks: WHERE locktype='advisory' GROUP BY mode) t$$]::text[], false); -node_name node_port success result +node_name|node_port|success|result +--------------------------------------------------------------------- +localhost| 57637|t |{"(ExclusiveLock,1)","(ShareLock,1)"} +(1 row) -localhost 57637 t {"(ExclusiveLock,1)","(ShareLock,1)"} step s2-rollback-worker: SELECT run_commands_on_session_level_connection_to_node('ROLLBACK'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-view-locks: SELECT * FROM master_run_on_worker( @@ -127,23 +159,31 @@ step s1-view-locks: WHERE locktype='advisory' GROUP BY mode) t$$]::text[], false); -node_name node_port success result +node_name|node_port|success|result +--------------------------------------------------------------------- +localhost| 57637|t | +(1 row) -localhost 57637 t step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s2-start-session-level-connection s2-begin-on-worker s2-update-table-2 s1-start-session-level-connection s1-view-locks s2-rollback-worker s1-view-locks s1-stop-connection s2-stop-connection @@ -151,25 +191,33 @@ step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-update-table-2: SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table_2 SET id = 2 WHERE id = 1'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-view-locks: SELECT * FROM master_run_on_worker( @@ -181,14 +229,18 @@ step s1-view-locks: WHERE locktype='advisory' GROUP BY mode) t$$]::text[], false); -node_name node_port success result +node_name|node_port|success|result +--------------------------------------------------------------------- +localhost| 57637|t |{"(ExclusiveLock,2)","(ShareLock,1)"} +(1 row) -localhost 57637 t {"(ExclusiveLock,2)","(ShareLock,1)"} step s2-rollback-worker: SELECT run_commands_on_session_level_connection_to_node('ROLLBACK'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-view-locks: SELECT * FROM master_run_on_worker( @@ -200,23 +252,31 @@ step s1-view-locks: WHERE locktype='advisory' GROUP BY mode) t$$]::text[], false); -node_name node_port success result +node_name|node_port|success|result +--------------------------------------------------------------------- +localhost| 57637|t | +(1 row) -localhost 57637 t step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s2-start-session-level-connection s2-begin-on-worker s2-delete-table-2 s1-start-session-level-connection s1-view-locks s2-rollback-worker s1-view-locks s1-stop-connection s2-stop-connection @@ -224,25 +284,33 @@ step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-delete-table-2: SELECT run_commands_on_session_level_connection_to_node('DELETE FROM ref_table_2 WHERE id = 1'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-view-locks: SELECT * FROM master_run_on_worker( @@ -254,14 +322,18 @@ step s1-view-locks: WHERE locktype='advisory' GROUP BY mode) t$$]::text[], false); -node_name node_port success result +node_name|node_port|success|result +--------------------------------------------------------------------- +localhost| 57637|t |{"(ExclusiveLock,2)","(ShareLock,1)"} +(1 row) -localhost 57637 t {"(ExclusiveLock,2)","(ShareLock,1)"} step s2-rollback-worker: SELECT run_commands_on_session_level_connection_to_node('ROLLBACK'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-view-locks: SELECT * FROM master_run_on_worker( @@ -273,23 +345,31 @@ step s1-view-locks: WHERE locktype='advisory' GROUP BY mode) t$$]::text[], false); -node_name node_port success result +node_name|node_port|success|result +--------------------------------------------------------------------- +localhost| 57637|t | +(1 row) -localhost 57637 t step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s2-start-session-level-connection s2-begin-on-worker s2-update-table-3 s1-start-session-level-connection s1-view-locks s2-rollback-worker s1-view-locks s1-stop-connection s2-stop-connection @@ -297,25 +377,33 @@ step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-update-table-3: SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table_3 SET id = 2 WHERE id = 1'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-view-locks: SELECT * FROM master_run_on_worker( @@ -327,14 +415,18 @@ step s1-view-locks: WHERE locktype='advisory' GROUP BY mode) t$$]::text[], false); -node_name node_port success result +node_name|node_port|success|result +--------------------------------------------------------------------- +localhost| 57637|t |{"(ExclusiveLock,3)","(ShareLock,1)"} +(1 row) -localhost 57637 t {"(ExclusiveLock,3)","(ShareLock,1)"} step s2-rollback-worker: SELECT run_commands_on_session_level_connection_to_node('ROLLBACK'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-view-locks: SELECT * FROM master_run_on_worker( @@ -346,23 +438,31 @@ step s1-view-locks: WHERE locktype='advisory' GROUP BY mode) t$$]::text[], false); -node_name node_port success result +node_name|node_port|success|result +--------------------------------------------------------------------- +localhost| 57637|t | +(1 row) -localhost 57637 t step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s2-start-session-level-connection s2-begin-on-worker s2-delete-table-3 s1-start-session-level-connection s1-view-locks s2-rollback-worker s1-view-locks s1-stop-connection s2-stop-connection @@ -370,25 +470,33 @@ step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-delete-table-3: SELECT run_commands_on_session_level_connection_to_node('DELETE FROM ref_table_3 WHERE id = 1'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-view-locks: SELECT * FROM master_run_on_worker( @@ -400,14 +508,18 @@ step s1-view-locks: WHERE locktype='advisory' GROUP BY mode) t$$]::text[], false); -node_name node_port success result +node_name|node_port|success|result +--------------------------------------------------------------------- +localhost| 57637|t |{"(ExclusiveLock,3)","(ShareLock,1)"} +(1 row) -localhost 57637 t {"(ExclusiveLock,3)","(ShareLock,1)"} step s2-rollback-worker: SELECT run_commands_on_session_level_connection_to_node('ROLLBACK'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-view-locks: SELECT * FROM master_run_on_worker( @@ -419,23 +531,31 @@ step s1-view-locks: WHERE locktype='advisory' GROUP BY mode) t$$]::text[], false); -node_name node_port success result +node_name|node_port|success|result +--------------------------------------------------------------------- +localhost| 57637|t | +(1 row) -localhost 57637 t step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s2-start-session-level-connection s2-begin-on-worker s2-insert-table-1 s1-start-session-level-connection s1-view-locks s2-rollback-worker s1-view-locks s1-stop-connection s2-stop-connection @@ -443,25 +563,33 @@ step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-insert-table-1: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table_1 VALUES (7, 7)'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-view-locks: SELECT * FROM master_run_on_worker( @@ -473,14 +601,18 @@ step s1-view-locks: WHERE locktype='advisory' GROUP BY mode) t$$]::text[], false); -node_name node_port success result +node_name|node_port|success|result +--------------------------------------------------------------------- +localhost| 57637|t |{"(RowExclusiveLock,1)","(ShareLock,1)"} +(1 row) -localhost 57637 t {"(RowExclusiveLock,1)","(ShareLock,1)"} step s2-rollback-worker: SELECT run_commands_on_session_level_connection_to_node('ROLLBACK'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-view-locks: SELECT * FROM master_run_on_worker( @@ -492,23 +624,31 @@ step s1-view-locks: WHERE locktype='advisory' GROUP BY mode) t$$]::text[], false); -node_name node_port success result +node_name|node_port|success|result +--------------------------------------------------------------------- +localhost| 57637|t | +(1 row) -localhost 57637 t step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s2-start-session-level-connection s2-begin-on-worker s2-insert-table-2 s1-start-session-level-connection s1-view-locks s2-rollback-worker s1-view-locks s1-stop-connection s2-stop-connection @@ -516,25 +656,33 @@ step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-insert-table-2: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table_2 VALUES (7, 5)'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-view-locks: SELECT * FROM master_run_on_worker( @@ -546,14 +694,18 @@ step s1-view-locks: WHERE locktype='advisory' GROUP BY mode) t$$]::text[], false); -node_name node_port success result +node_name|node_port|success|result +--------------------------------------------------------------------- +localhost| 57637|t |{"(RowExclusiveLock,2)","(ShareLock,1)"} +(1 row) -localhost 57637 t {"(RowExclusiveLock,2)","(ShareLock,1)"} step s2-rollback-worker: SELECT run_commands_on_session_level_connection_to_node('ROLLBACK'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-view-locks: SELECT * FROM master_run_on_worker( @@ -565,23 +717,31 @@ step s1-view-locks: WHERE locktype='advisory' GROUP BY mode) t$$]::text[], false); -node_name node_port success result +node_name|node_port|success|result +--------------------------------------------------------------------- +localhost| 57637|t | +(1 row) -localhost 57637 t step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s2-start-session-level-connection s2-begin-on-worker s2-insert-table-3 s1-start-session-level-connection s1-view-locks s2-rollback-worker s1-view-locks s1-stop-connection s2-stop-connection @@ -589,25 +749,33 @@ step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-insert-table-3: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table_3 VALUES (7, 5)'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-view-locks: SELECT * FROM master_run_on_worker( @@ -619,14 +787,18 @@ step s1-view-locks: WHERE locktype='advisory' GROUP BY mode) t$$]::text[], false); -node_name node_port success result +node_name|node_port|success|result +--------------------------------------------------------------------- +localhost| 57637|t |{"(RowExclusiveLock,3)","(ShareLock,1)"} +(1 row) -localhost 57637 t {"(RowExclusiveLock,3)","(ShareLock,1)"} step s2-rollback-worker: SELECT run_commands_on_session_level_connection_to_node('ROLLBACK'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-view-locks: SELECT * FROM master_run_on_worker( @@ -638,21 +810,29 @@ step s1-view-locks: WHERE locktype='advisory' GROUP BY mode) t$$]::text[], false); -node_name node_port success result +node_name|node_port|success|result +--------------------------------------------------------------------- +localhost| 57637|t | +(1 row) -localhost 57637 t step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) diff --git a/src/test/regress/expected/isolation_ref_select_for_update_vs_all_on_mx.out b/src/test/regress/expected/isolation_ref_select_for_update_vs_all_on_mx.out index af3c91e76..5e4c8d8d8 100644 --- a/src/test/regress/expected/isolation_ref_select_for_update_vs_all_on_mx.out +++ b/src/test/regress/expected/isolation_ref_select_for_update_vs_all_on_mx.out @@ -2,37 +2,49 @@ Parsed test spec with 3 sessions starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-select-for-update s2-start-session-level-connection s2-begin-on-worker s2-select-for-update s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-select-for-update: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table WHERE id=1 OR id=2 FOR UPDATE'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-select-for-update: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table WHERE id=1 OR id=2 FOR UPDATE'); @@ -41,67 +53,91 @@ step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-select-for-update: <... completed> run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-select-for-update s2-start-session-level-connection s2-begin-on-worker s2-insert s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-select-for-update: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table WHERE id=1 OR id=2 FOR UPDATE'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-insert: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table VALUES (1, 10), (2, 20)'); @@ -110,141 +146,191 @@ step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-insert: <... completed> run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM ref_table; count +--------------------------------------------------------------------- + 2 +(1 row) -2 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-select-for-update s2-start-session-level-connection s2-begin-on-worker s2-select s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-select-for-update: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table WHERE id=1 OR id=2 FOR UPDATE'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-select: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table WHERE id=1 OR id=2'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-select-for-update s2-start-session-level-connection s2-begin-on-worker s2-insert-select-ref-table s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-select-for-update: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table WHERE id=1 OR id=2 FOR UPDATE'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-insert-select-ref-table: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table SELECT * FROM ref_table'); @@ -253,67 +339,91 @@ step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-insert-select-ref-table: <... completed> run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-select-for-update s2-start-session-level-connection s2-begin-on-worker s2-copy s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-select-for-update: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table WHERE id=1 OR id=2 FOR UPDATE'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-copy: SELECT run_commands_on_session_level_connection_to_node('COPY ref_table FROM PROGRAM ''echo 1, 10 && echo 2, 20''WITH CSV'); @@ -322,73 +432,99 @@ step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-copy: <... completed> run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM ref_table; count +--------------------------------------------------------------------- + 2 +(1 row) -2 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-select-for-update s2-start-session-level-connection s2-begin-on-worker s2-alter s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-select-for-update: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table WHERE id=1 OR id=2 FOR UPDATE'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-alter: ALTER TABLE ref_table DROP value; @@ -397,64 +533,86 @@ step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-alter: <... completed> step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-select-for-update s2-start-session-level-connection s2-begin-on-worker s2-truncate s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-select-for-update: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table WHERE id=1 OR id=2 FOR UPDATE'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-truncate: SELECT run_commands_on_session_level_connection_to_node('TRUNCATE ref_table'); @@ -463,55 +621,75 @@ step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-truncate: <... completed> run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-select-for-update s2-coordinator-create-index-concurrently s1-commit-worker s1-stop-connection create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-select-for-update: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table WHERE id=1 OR id=2 FOR UPDATE'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-coordinator-create-index-concurrently: CREATE INDEX CONCURRENTLY ref_table_index ON ref_table(id); @@ -520,14 +698,20 @@ step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) diff --git a/src/test/regress/expected/isolation_ref_update_delete_upsert_vs_all_on_mx.out b/src/test/regress/expected/isolation_ref_update_delete_upsert_vs_all_on_mx.out index aa6378511..88f4d68cd 100644 --- a/src/test/regress/expected/isolation_ref_update_delete_upsert_vs_all_on_mx.out +++ b/src/test/regress/expected/isolation_ref_update_delete_upsert_vs_all_on_mx.out @@ -2,7 +2,9 @@ Parsed test spec with 3 sessions starting permutation: s1-add-primary-key s1-start-session-level-connection s1-begin-on-worker s1-upsert s2-start-session-level-connection s2-begin-on-worker s2-select s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-add-primary-key: ALTER TABLE ref_table ADD CONSTRAINT pri_key PRIMARY KEY (id); @@ -11,105 +13,141 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-upsert: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table VALUES (1, 3), (2, 3) ON CONFLICT (id) DO UPDATE SET value=3'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-select: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table WHERE id=1 OR id=2'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM ref_table; count +--------------------------------------------------------------------- + 2 +(1 row) -2 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-delete s2-start-session-level-connection s2-begin-on-worker s2-insert-select-ref-table s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-delete: SELECT run_commands_on_session_level_connection_to_node('DELETE FROM ref_table WHERE id=1 OR id=2'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-insert-select-ref-table: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table SELECT * FROM ref_table'); @@ -118,43 +156,59 @@ step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-insert-select-ref-table: <... completed> run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM ref_table; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-add-primary-key s1-start-session-level-connection s1-begin-on-worker s1-upsert s2-start-session-level-connection s2-begin-on-worker s2-drop s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-add-primary-key: ALTER TABLE ref_table ADD CONSTRAINT pri_key PRIMARY KEY (id); @@ -163,31 +217,41 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-upsert: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table VALUES (1, 3), (2, 3) ON CONFLICT (id) DO UPDATE SET value=3'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-drop: DROP TABLE ref_table; @@ -196,68 +260,90 @@ step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-drop: <... completed> step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM ref_table; ERROR: relation "ref_table" does not exist restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-delete s2-start-session-level-connection s2-begin-on-worker s2-truncate s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-delete: SELECT run_commands_on_session_level_connection_to_node('DELETE FROM ref_table WHERE id=1 OR id=2'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-truncate: SELECT run_commands_on_session_level_connection_to_node('TRUNCATE ref_table'); @@ -266,36 +352,50 @@ step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-truncate: <... completed> run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM ref_table; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) diff --git a/src/test/regress/expected/isolation_reference_copy_vs_all.out b/src/test/regress/expected/isolation_reference_copy_vs_all.out index 24bb20fc0..a90eec3ef 100644 --- a/src/test/regress/expected/isolation_reference_copy_vs_all.out +++ b/src/test/regress/expected/isolation_reference_copy_vs_all.out @@ -2,7 +2,9 @@ Parsed test spec with 2 sessions starting permutation: s1-initialize s1-begin s1-copy s2-copy s1-commit s1-select-count create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -11,50 +13,66 @@ step s2-copy: COPY reference_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM reference_copy; count +--------------------------------------------------------------------- + 15 +(1 row) -15 starting permutation: s1-initialize s1-begin s1-copy s2-router-select s1-commit s1-select-count create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-copy: COPY reference_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s2-router-select: SELECT * FROM reference_copy WHERE id = 1; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM reference_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-copy s2-real-time-select s1-commit s1-select-count create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-copy: COPY reference_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s2-real-time-select: SELECT * FROM reference_copy ORDER BY 1, 2; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM reference_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-copy s2-adaptive-select s1-commit s1-select-count create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -62,22 +80,28 @@ step s1-copy: COPY reference_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && step s2-adaptive-select: SELECT * FROM reference_copy AS t1 JOIN reference_copy AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM reference_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-copy s2-insert s1-commit s1-select-count create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -86,12 +110,16 @@ step s2-insert: INSERT INTO reference_copy VALUES(0, 'k', 0); step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM reference_copy; count +--------------------------------------------------------------------- + 11 +(1 row) -11 starting permutation: s1-initialize s1-begin s1-copy s2-insert-select s1-commit s1-select-count create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -101,12 +129,16 @@ step s1-commit: COMMIT; step s2-insert-select: <... completed> step s1-select-count: SELECT COUNT(*) FROM reference_copy; count +--------------------------------------------------------------------- + 20 +(1 row) -20 starting permutation: s1-initialize s1-begin s1-copy s2-update s1-commit s1-select-count create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -116,12 +148,16 @@ step s1-commit: COMMIT; step s2-update: <... completed> step s1-select-count: SELECT COUNT(*) FROM reference_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-copy s2-delete s1-commit s1-select-count create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -131,12 +167,16 @@ step s1-commit: COMMIT; step s2-delete: <... completed> step s1-select-count: SELECT COUNT(*) FROM reference_copy; count +--------------------------------------------------------------------- + 9 +(1 row) -9 starting permutation: s1-initialize s1-begin s1-copy s2-truncate s1-commit s1-select-count create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -146,12 +186,16 @@ step s1-commit: COMMIT; step s2-truncate: <... completed> step s1-select-count: SELECT COUNT(*) FROM reference_copy; count +--------------------------------------------------------------------- + 0 +(1 row) -0 starting permutation: s1-initialize s1-begin s1-copy s2-drop s1-commit s1-select-count create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -164,7 +208,9 @@ ERROR: relation "reference_copy" does not exist starting permutation: s1-initialize s1-begin s1-copy s2-ddl-create-index s1-commit s1-select-count s1-show-indexes create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -174,17 +220,23 @@ step s1-commit: COMMIT; step s2-ddl-create-index: <... completed> step s1-select-count: SELECT COUNT(*) FROM reference_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''reference_copy%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,1) (localhost,57638,t,1) +(2 rows) + starting permutation: s1-initialize s1-ddl-create-index s1-begin s1-copy s2-ddl-drop-index s1-commit s1-select-count s1-show-indexes create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-ddl-create-index: CREATE INDEX reference_copy_index ON reference_copy(id); @@ -195,17 +247,23 @@ step s1-commit: COMMIT; step s2-ddl-drop-index: <... completed> step s1-select-count: SELECT COUNT(*) FROM reference_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''reference_copy%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + starting permutation: s1-initialize s1-begin s1-copy s2-ddl-create-index-concurrently s1-commit s1-select-count s1-show-indexes create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -215,17 +273,23 @@ step s1-commit: COMMIT; step s2-ddl-create-index-concurrently: <... completed> step s1-select-count: SELECT COUNT(*) FROM reference_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''reference_copy%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,1) (localhost,57638,t,1) +(2 rows) + starting permutation: s1-initialize s1-begin s1-copy s2-ddl-add-column s1-commit s1-select-count s1-show-columns create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -235,17 +299,23 @@ step s1-commit: COMMIT; step s2-ddl-add-column: <... completed> step s1-select-count: SELECT COUNT(*) FROM reference_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''reference_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + starting permutation: s1-initialize s1-ddl-add-column s1-begin s1-copy-additional-column s2-ddl-drop-column s1-commit s1-select-count s1-show-columns create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-ddl-add-column: ALTER TABLE reference_copy ADD new_column int DEFAULT 0; @@ -256,17 +326,23 @@ step s1-commit: COMMIT; step s2-ddl-drop-column: <... completed> step s1-select-count: SELECT COUNT(*) FROM reference_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''reference_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") +(2 rows) + starting permutation: s1-initialize s1-begin s1-copy s2-ddl-rename-column s1-commit s1-select-count s1-show-columns create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -276,34 +352,46 @@ step s1-commit: COMMIT; step s2-ddl-rename-column: <... completed> step s1-select-count: SELECT COUNT(*) FROM reference_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''reference_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + starting permutation: s1-initialize s1-begin s1-copy s2-table-size s1-commit s1-select-count create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-copy: COPY reference_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s2-table-size: SELECT citus_total_relation_size('reference_copy'); citus_total_relation_size +--------------------------------------------------------------------- + 32768 +(1 row) -32768 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM reference_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-copy s2-master-modify-multiple-shards s1-commit s1-select-count create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -313,12 +401,16 @@ step s1-commit: COMMIT; step s2-master-modify-multiple-shards: <... completed> step s1-select-count: SELECT COUNT(*) FROM reference_copy; count +--------------------------------------------------------------------- + 0 +(1 row) -0 starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s1-copy s2-distribute-table s1-commit s1-select-count create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-drop: DROP TABLE reference_copy; step s1-create-non-distributed-table: CREATE TABLE reference_copy(id integer, data text, int_data int); COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; @@ -329,77 +421,101 @@ step s2-distribute-table: SELECT create_reference_table('reference_copy'); create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-select-count: SELECT COUNT(*) FROM reference_copy; count +--------------------------------------------------------------------- + 15 +(1 row) -15 starting permutation: s1-initialize s1-begin s1-router-select s2-copy s1-commit s1-select-count create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-router-select: SELECT * FROM reference_copy WHERE id = 1; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s2-copy: COPY reference_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM reference_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-real-time-select s2-copy s1-commit s1-select-count create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-real-time-select: SELECT * FROM reference_copy ORDER BY 1, 2; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s2-copy: COPY reference_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM reference_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-adaptive-select s2-copy s1-commit s1-select-count create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-adaptive-select: SELECT * FROM reference_copy AS t1 JOIN reference_copy AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s2-copy: COPY reference_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM reference_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-insert s2-copy s1-commit s1-select-count create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -408,12 +524,16 @@ step s2-copy: COPY reference_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM reference_copy; count +--------------------------------------------------------------------- + 11 +(1 row) -11 starting permutation: s1-initialize s1-begin s1-insert-select s2-copy s1-commit s1-select-count create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -423,12 +543,16 @@ step s1-commit: COMMIT; step s2-copy: <... completed> step s1-select-count: SELECT COUNT(*) FROM reference_copy; count +--------------------------------------------------------------------- + 15 +(1 row) -15 starting permutation: s1-initialize s1-begin s1-update s2-copy s1-commit s1-select-count create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -438,12 +562,16 @@ step s1-commit: COMMIT; step s2-copy: <... completed> step s1-select-count: SELECT COUNT(*) FROM reference_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-delete s2-copy s1-commit s1-select-count create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -453,12 +581,16 @@ step s1-commit: COMMIT; step s2-copy: <... completed> step s1-select-count: SELECT COUNT(*) FROM reference_copy; count +--------------------------------------------------------------------- + 9 +(1 row) -9 starting permutation: s1-initialize s1-begin s1-truncate s2-copy s1-commit s1-select-count create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -468,12 +600,16 @@ step s1-commit: COMMIT; step s2-copy: <... completed> step s1-select-count: SELECT COUNT(*) FROM reference_copy; count +--------------------------------------------------------------------- + 5 +(1 row) -5 starting permutation: s1-initialize s1-begin s1-drop s2-copy s1-commit s1-select-count create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -487,7 +623,9 @@ ERROR: relation "reference_copy" does not exist starting permutation: s1-initialize s1-begin s1-ddl-create-index s2-copy s1-commit s1-select-count s1-show-indexes create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -497,17 +635,23 @@ step s1-commit: COMMIT; step s2-copy: <... completed> step s1-select-count: SELECT COUNT(*) FROM reference_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''reference_copy%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,1) (localhost,57638,t,1) +(2 rows) + starting permutation: s1-initialize s1-ddl-create-index s1-begin s1-ddl-drop-index s2-copy s1-commit s1-select-count s1-show-indexes create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-ddl-create-index: CREATE INDEX reference_copy_index ON reference_copy(id); @@ -518,17 +662,23 @@ step s1-commit: COMMIT; step s2-copy: <... completed> step s1-select-count: SELECT COUNT(*) FROM reference_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''reference_copy%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) +(2 rows) + starting permutation: s1-initialize s1-begin s1-ddl-add-column s2-copy s1-commit s1-select-count s1-show-columns create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -539,17 +689,23 @@ step s2-copy: <... completed> ERROR: missing data for column "new_column" step s1-select-count: SELECT COUNT(*) FROM reference_copy; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''reference_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + starting permutation: s1-initialize s1-ddl-add-column s1-begin s1-ddl-drop-column s2-copy s1-commit s1-select-count s1-show-columns create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-ddl-add-column: ALTER TABLE reference_copy ADD new_column int DEFAULT 0; @@ -560,17 +716,23 @@ step s1-commit: COMMIT; step s2-copy: <... completed> step s1-select-count: SELECT COUNT(*) FROM reference_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''reference_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") +(2 rows) + starting permutation: s1-initialize s1-begin s1-ddl-rename-column s2-copy s1-commit s1-select-count s1-show-columns create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -580,34 +742,46 @@ step s1-commit: COMMIT; step s2-copy: <... completed> step s1-select-count: SELECT COUNT(*) FROM reference_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''reference_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) +(2 rows) + starting permutation: s1-initialize s1-begin s1-table-size s2-copy s1-commit s1-select-count create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-table-size: SELECT citus_total_relation_size('reference_copy'); citus_total_relation_size +--------------------------------------------------------------------- + 32768 +(1 row) -32768 step s2-copy: COPY reference_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM reference_copy; count +--------------------------------------------------------------------- + 10 +(1 row) -10 starting permutation: s1-initialize s1-begin s1-master-modify-multiple-shards s2-copy s1-commit s1-select-count create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -617,12 +791,16 @@ step s1-commit: COMMIT; step s2-copy: <... completed> step s1-select-count: SELECT COUNT(*) FROM reference_copy; count +--------------------------------------------------------------------- + 5 +(1 row) -5 starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s1-distribute-table s2-copy s1-commit s1-select-count create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-drop: DROP TABLE reference_copy; step s1-create-non-distributed-table: CREATE TABLE reference_copy(id integer, data text, int_data int); COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; @@ -630,12 +808,16 @@ step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, step s1-begin: BEGIN; step s1-distribute-table: SELECT create_reference_table('reference_copy'); create_reference_table +--------------------------------------------------------------------- +(1 row) step s2-copy: COPY reference_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; step s1-commit: COMMIT; step s2-copy: <... completed> step s1-select-count: SELECT COUNT(*) FROM reference_copy; count +--------------------------------------------------------------------- + 15 +(1 row) -15 diff --git a/src/test/regress/expected/isolation_reference_on_mx.out b/src/test/regress/expected/isolation_reference_on_mx.out index dac637b47..4d7f1a51c 100644 --- a/src/test/regress/expected/isolation_reference_on_mx.out +++ b/src/test/regress/expected/isolation_reference_on_mx.out @@ -5,31 +5,41 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-update-ref-table: SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET value_1 = 12 WHERE user_id = 1'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-update-ref-table: SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET value_1 = 12 WHERE user_id = 1'); @@ -38,32 +48,44 @@ step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-update-ref-table: <... completed> run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-delete-from-ref-table s2-start-session-level-connection s2-begin-on-worker s2-update-ref-table s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection @@ -71,31 +93,41 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-delete-from-ref-table: SELECT run_commands_on_session_level_connection_to_node('DELETE FROM ref_table WHERE user_id = 1'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-update-ref-table: SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET value_1 = 12 WHERE user_id = 1'); @@ -104,32 +136,44 @@ step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-update-ref-table: <... completed> run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-insert-into-ref-table s2-start-session-level-connection s2-begin-on-worker s2-update-ref-table s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection @@ -137,31 +181,41 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-insert-into-ref-table: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table VALUES(8,81),(9,91)'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-update-ref-table: SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET value_1 = 12 WHERE user_id = 1'); @@ -170,32 +224,44 @@ step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-update-ref-table: <... completed> run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-insert-into-ref-table s2-start-session-level-connection s2-begin-on-worker s2-insert-into-ref-table s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection @@ -203,64 +269,86 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-insert-into-ref-table: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table VALUES(8,81),(9,91)'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-insert-into-ref-table: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table VALUES(8,81),(9,91)'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-copy-to-ref-table s2-start-session-level-connection s2-begin-on-worker s2-update-ref-table s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection @@ -268,31 +356,41 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-copy-to-ref-table: SELECT run_commands_on_session_level_connection_to_node('COPY ref_table FROM PROGRAM ''echo 10, 101 && echo 11, 111'' WITH CSV'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-update-ref-table: SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET value_1 = 12 WHERE user_id = 1'); @@ -301,32 +399,44 @@ step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-update-ref-table: <... completed> run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-copy-to-ref-table s2-start-session-level-connection s2-begin-on-worker s2-insert-into-ref-table s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection @@ -334,64 +444,86 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-copy-to-ref-table: SELECT run_commands_on_session_level_connection_to_node('COPY ref_table FROM PROGRAM ''echo 10, 101 && echo 11, 111'' WITH CSV'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-insert-into-ref-table: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table VALUES(8,81),(9,91)'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-copy-to-ref-table s2-start-session-level-connection s2-begin-on-worker s2-copy-to-ref-table s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection @@ -399,64 +531,86 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-copy-to-ref-table: SELECT run_commands_on_session_level_connection_to_node('COPY ref_table FROM PROGRAM ''echo 10, 101 && echo 11, 111'' WITH CSV'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-copy-to-ref-table: SELECT run_commands_on_session_level_connection_to_node('COPY ref_table FROM PROGRAM ''echo 10, 101 && echo 11, 111'' WITH CSV'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-select-for-update s2-start-session-level-connection s2-begin-on-worker s2-update-ref-table s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection @@ -464,31 +618,41 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-select-for-update: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table FOR UPDATE'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-update-ref-table: SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET value_1 = 12 WHERE user_id = 1'); @@ -497,32 +661,44 @@ step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-update-ref-table: <... completed> run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s2-start-session-level-connection s2-begin-on-worker s2-insert-into-ref-table s1-begin s1-alter-table s2-commit-worker s1-commit s2-stop-connection @@ -530,19 +706,25 @@ step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-insert-into-ref-table: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table VALUES(8,81),(9,91)'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -554,7 +736,9 @@ step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-alter-table: <... completed> step s1-commit: @@ -564,10 +748,14 @@ step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s2-start-session-level-connection s2-begin-on-worker s2-select-from-ref-table s1-begin s1-alter-table s2-commit-worker s1-commit s2-stop-connection @@ -575,19 +763,25 @@ step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-select-from-ref-table: SELECT run_commands_on_session_level_connection_to_node('SELECT count(*) FROM ref_table'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -599,7 +793,9 @@ step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-alter-table: <... completed> step s1-commit: @@ -609,8 +805,12 @@ step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) diff --git a/src/test/regress/expected/isolation_replace_wait_function.out b/src/test/regress/expected/isolation_replace_wait_function.out index 2ad60d93e..b36aca587 100644 --- a/src/test/regress/expected/isolation_replace_wait_function.out +++ b/src/test/regress/expected/isolation_replace_wait_function.out @@ -2,7 +2,9 @@ Parsed test spec with 2 sessions starting permutation: s1-insert-1 s2-insert s1-commit s2-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-insert-1: BEGIN; @@ -21,5 +23,7 @@ step s2-commit: COMMIT; restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) diff --git a/src/test/regress/expected/isolation_replicate_reference_tables_to_coordinator.out b/src/test/regress/expected/isolation_replicate_reference_tables_to_coordinator.out index f12dac11b..df9b77179 100644 --- a/src/test/regress/expected/isolation_replicate_reference_tables_to_coordinator.out +++ b/src/test/regress/expected/isolation_replicate_reference_tables_to_coordinator.out @@ -2,7 +2,9 @@ Parsed test spec with 3 sessions starting permutation: s1-begin s2-begin s1-update-dist-table s2-lock-ref-table-placement-on-coordinator s1-lock-ref-table-placement-on-coordinator s2-update-dist-table deadlock-checker-call s1-end s2-end create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -38,8 +40,10 @@ step deadlock-checker-call: SELECT check_distributed_deadlocks(); check_distributed_deadlocks - +--------------------------------------------------------------------- t +(1 row) + step s1-lock-ref-table-placement-on-coordinator: <... completed> step s2-update-dist-table: <... completed> ERROR: canceling the transaction since it was involved in a distributed deadlock @@ -50,12 +54,16 @@ step s2-end: END; master_remove_node +--------------------------------------------------------------------- +(1 row) starting permutation: s1-begin s2-begin s1-update-ref-table s2-sleep s2-view-dist s2-view-worker s2-end s1-end create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -70,19 +78,23 @@ step s2-sleep: SELECT pg_sleep(0.5); pg_sleep +--------------------------------------------------------------------- +(1 row) step s2-view-dist: SELECT query, query_hostname, query_hostport, distributed_query_host_name, distributed_query_host_port, state, wait_event_type, wait_event, usename, datname FROM citus_dist_stat_activity WHERE query NOT ILIKE '%pg_prepared_xacts%' AND query NOT ILIKE '%COMMIT%' ORDER BY query DESC; -query query_hostname query_hostport distributed_query_host_namedistributed_query_host_portstate wait_event_typewait_event usename datname - +query |query_hostname |query_hostport|distributed_query_host_name|distributed_query_host_port|state |wait_event_type|wait_event|usename |datname +--------------------------------------------------------------------- update ref_table set a = a + 1; -coordinator_host57636 coordinator_host57636 idle in transactionClient ClientRead postgres regression +|coordinator_host| 57636|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression update ref_table set a = a + 1; -localhost 57636 coordinator_host57636 idle in transactionClient ClientRead postgres regression +|localhost | 57636|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression +(2 rows) + step s2-view-worker: SELECT query, query_hostname, query_hostport, distributed_query_host_name, distributed_query_host_port, state, wait_event_type, wait_event, usename, datname @@ -92,12 +104,14 @@ step s2-view-worker: query NOT ILIKE '%dump_local_wait_edges%' ORDER BY query, query_hostport DESC; -query query_hostname query_hostport distributed_query_host_namedistributed_query_host_portstate wait_event_typewait_event usename datname +query |query_hostname |query_hostport|distributed_query_host_name|distributed_query_host_port|state |wait_event_type|wait_event|usename |datname +--------------------------------------------------------------------- +UPDATE public.ref_table_1400163 ref_table SET a = (a OPERATOR(pg_catalog.+) 1)|localhost | 57638|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression +UPDATE public.ref_table_1400163 ref_table SET a = (a OPERATOR(pg_catalog.+) 1)|localhost | 57637|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression +UPDATE public.ref_table_1400163 ref_table SET a = (a OPERATOR(pg_catalog.+) 1)|coordinator_host| 57636|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression +UPDATE public.ref_table_1400163 ref_table SET a = (a OPERATOR(pg_catalog.+) 1)|localhost | 57636|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression +(4 rows) -UPDATE public.ref_table_1400163 ref_table SET a = (a OPERATOR(pg_catalog.+) 1)localhost 57638 coordinator_host57636 idle in transactionClient ClientRead postgres regression -UPDATE public.ref_table_1400163 ref_table SET a = (a OPERATOR(pg_catalog.+) 1)localhost 57637 coordinator_host57636 idle in transactionClient ClientRead postgres regression -UPDATE public.ref_table_1400163 ref_table SET a = (a OPERATOR(pg_catalog.+) 1)coordinator_host57636 coordinator_host57636 idle in transactionClient ClientRead postgres regression -UPDATE public.ref_table_1400163 ref_table SET a = (a OPERATOR(pg_catalog.+) 1)localhost 57636 coordinator_host57636 idle in transactionClient ClientRead postgres regression step s2-end: END; @@ -105,12 +119,16 @@ step s1-end: END; master_remove_node +--------------------------------------------------------------------- +(1 row) starting permutation: s1-begin s2-begin s1-update-ref-table s2-active-transactions s1-end s2-end create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -127,11 +145,15 @@ step s2-active-transactions: SELECT count(*) FROM get_global_active_transactions(); count +--------------------------------------------------------------------- + 2 +(1 row) -2 count +--------------------------------------------------------------------- + 6 +(1 row) -6 step s1-end: END; @@ -139,5 +161,7 @@ step s2-end: END; master_remove_node +--------------------------------------------------------------------- +(1 row) diff --git a/src/test/regress/expected/isolation_select_for_update.out b/src/test/regress/expected/isolation_select_for_update.out index 7a76a9ece..a59f7fe03 100644 --- a/src/test/regress/expected/isolation_select_for_update.out +++ b/src/test/regress/expected/isolation_select_for_update.out @@ -11,9 +11,11 @@ step s1-select-from-t1-t2-for-update: ORDER BY 1 FOR UPDATE; -id val_1 id val_1 +id|val_1|id|val_1 +--------------------------------------------------------------------- + 1| 2| 1| 2 +(1 row) -1 2 1 2 step s2-begin: BEGIN; @@ -28,7 +30,9 @@ 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 @@ -42,9 +46,11 @@ step s1-select-from-t1-t2-for-share: ORDER BY 1 FOR SHARE; -id val_1 id val_1 +id|val_1|id|val_1 +--------------------------------------------------------------------- + 1| 2| 1| 2 +(1 row) -1 2 1 2 step s2-begin: BEGIN; @@ -59,7 +65,9 @@ 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 @@ -73,9 +81,11 @@ step s1-select-from-t1-rt-for-update: ORDER BY 1 FOR UPDATE; -id val_1 id val_1 +id|val_1|id|val_1 +--------------------------------------------------------------------- + 1| 2| 1| 2 +(1 row) -1 2 1 2 step s2-begin: BEGIN; @@ -90,7 +100,9 @@ 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 @@ -105,9 +117,11 @@ step s1-select-from-t1-rt-with-lc-for-update: FOR UPDATE OF rt1; -id val_1 id val_1 +id|val_1|id|val_1 +--------------------------------------------------------------------- + 1| 2| 1| 2 +(1 row) -1 2 1 2 step s2-begin: BEGIN; @@ -122,7 +136,9 @@ 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 @@ -137,9 +153,11 @@ step s1-select-from-t1-rt-with-lc-for-update: FOR UPDATE OF rt1; -id val_1 id val_1 +id|val_1|id|val_1 +--------------------------------------------------------------------- + 1| 2| 1| 2 +(1 row) -1 2 1 2 step s2-begin: BEGIN; @@ -153,7 +171,9 @@ 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 @@ -167,9 +187,11 @@ step s1-select-from-t1-t2-for-share: ORDER BY 1 FOR SHARE; -id val_1 id val_1 +id|val_1|id|val_1 +--------------------------------------------------------------------- + 1| 2| 1| 2 +(1 row) -1 2 1 2 step s2-begin: BEGIN; @@ -180,9 +202,11 @@ step s2-select-from-t1-t2-for-share: ORDER BY 1 FOR SHARE; -id val_1 id val_1 +id|val_1|id|val_1 +--------------------------------------------------------------------- + 1| 2| 1| 2 +(1 row) -1 2 1 2 step s1-commit: COMMIT; @@ -190,7 +214,9 @@ 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 @@ -204,9 +230,11 @@ step s1-select-from-t1-rt-for-update: ORDER BY 1 FOR UPDATE; -id val_1 id val_1 +id|val_1|id|val_1 +--------------------------------------------------------------------- + 1| 2| 1| 2 +(1 row) -1 2 1 2 step s2-begin: BEGIN; @@ -221,14 +249,18 @@ step s1-commit: COMMIT; step s2-select-from-t1-t2-for-update: <... completed> -id val_1 id val_1 +id|val_1|id|val_1 +--------------------------------------------------------------------- + 1| 2| 1| 2 +(1 row) -1 2 1 2 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 @@ -240,8 +272,10 @@ step s1-select-from-t1-within-cte: SELECT * FROM first_value WHERE EXISTS (SELECT * FROM first_value); val_1 +--------------------------------------------------------------------- + 2 +(1 row) -2 step s2-begin: BEGIN; @@ -256,14 +290,18 @@ step s1-commit: COMMIT; step s2-select-from-t1-t2-for-update: <... completed> -id val_1 id val_1 +id|val_1|id|val_1 +--------------------------------------------------------------------- + 1| 2| 1| 2 +(1 row) -1 2 1 2 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 @@ -275,8 +313,10 @@ step s1-select-from-t1-within-cte: SELECT * FROM first_value WHERE EXISTS (SELECT * FROM first_value); val_1 +--------------------------------------------------------------------- + 2 +(1 row) -2 step s2-begin: BEGIN; @@ -291,7 +331,9 @@ 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 @@ -305,9 +347,11 @@ step s1-select-from-t1-with-subquery: RESET client_min_messages; DEBUG: query has a single distribution column value: 1 -id val_1 +id|val_1 +--------------------------------------------------------------------- + 1| 2 +(1 row) -1 2 step s2-begin: BEGIN; @@ -322,7 +366,9 @@ 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 @@ -332,9 +378,11 @@ step s1-begin: step s1-select-from-rt-with-subquery: SELECT * FROM (SELECT * FROM ref_table FOR UPDATE) foo WHERE id = 1; -id val_1 +id|val_1 +--------------------------------------------------------------------- + 1| 2 +(1 row) -1 2 step s2-begin: BEGIN; @@ -349,7 +397,9 @@ 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 @@ -359,9 +409,11 @@ step s1-begin: step s1-select-from-t1-with-view: SELECT * FROM test_1 WHERE id = 1 FOR UPDATE; -id val_1 +id|val_1 +--------------------------------------------------------------------- + 1| 2 +(1 row) -1 2 step s2-begin: BEGIN; @@ -376,7 +428,9 @@ 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 @@ -401,5 +455,7 @@ step s2-commit: COMMIT; restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) diff --git a/src/test/regress/expected/isolation_select_vs_all.out b/src/test/regress/expected/isolation_select_vs_all.out index e48f06966..fb67cfb2a 100644 --- a/src/test/regress/expected/isolation_select_vs_all.out +++ b/src/test/regress/expected/isolation_select_vs_all.out @@ -2,179 +2,241 @@ Parsed test spec with 2 sessions starting permutation: s1-initialize s1-begin s1-router-select s2-router-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-router-select: SELECT * FROM select_append WHERE id = 1; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s2-router-select: SELECT * FROM select_append WHERE id = 1; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-router-select s2-real-time-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-router-select: SELECT * FROM select_append WHERE id = 1; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s2-real-time-select: SELECT * FROM select_append ORDER BY 1, 2; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-router-select s2-adaptive-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-router-select: SELECT * FROM select_append WHERE id = 1; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s2-adaptive-select: SET citus.enable_repartition_joins TO ON; SELECT * FROM select_append AS t1 JOIN select_append AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-real-time-select s2-router-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-real-time-select: SELECT * FROM select_append ORDER BY 1, 2; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s2-router-select: SELECT * FROM select_append WHERE id = 1; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-real-time-select s2-real-time-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-real-time-select: SELECT * FROM select_append ORDER BY 1, 2; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s2-real-time-select: SELECT * FROM select_append ORDER BY 1, 2; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-real-time-select s2-adaptive-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-real-time-select: SELECT * FROM select_append ORDER BY 1, 2; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s2-adaptive-select: SET citus.enable_repartition_joins TO ON; SELECT * FROM select_append AS t1 JOIN select_append AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-adaptive-select s2-router-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -182,29 +244,39 @@ step s1-adaptive-select: SET citus.enable_repartition_joins TO ON; SELECT * FROM select_append AS t1 JOIN select_append AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s2-router-select: SELECT * FROM select_append WHERE id = 1; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-adaptive-select s2-real-time-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -212,33 +284,43 @@ step s1-adaptive-select: SET citus.enable_repartition_joins TO ON; SELECT * FROM select_append AS t1 JOIN select_append AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s2-real-time-select: SELECT * FROM select_append ORDER BY 1, 2; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-adaptive-select s2-adaptive-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -246,208 +328,284 @@ step s1-adaptive-select: SET citus.enable_repartition_joins TO ON; SELECT * FROM select_append AS t1 JOIN select_append AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s2-adaptive-select: SET citus.enable_repartition_joins TO ON; SELECT * FROM select_append AS t1 JOIN select_append AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-router-select s2-insert s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-router-select: SELECT * FROM select_append WHERE id = 1; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s2-insert: INSERT INTO select_append VALUES(0, 'k', 0); step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 6 +(1 row) -6 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-router-select s2-insert-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-router-select: SELECT * FROM select_append WHERE id = 1; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s2-insert-select: INSERT INTO select_append SELECT * FROM select_append; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 10 +(1 row) -10 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-router-select s2-update s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-router-select: SELECT * FROM select_append WHERE id = 1; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s2-update: UPDATE select_append SET data = 'l' WHERE id = 0; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-router-select s2-delete s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-router-select: SELECT * FROM select_append WHERE id = 1; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s2-delete: DELETE FROM select_append WHERE id = 1; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 4 +(1 row) -4 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-router-select s2-truncate s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-router-select: SELECT * FROM select_append WHERE id = 1; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s2-truncate: TRUNCATE select_append; step s1-commit: COMMIT; step s2-truncate: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-router-select s2-drop s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-router-select: SELECT * FROM select_append WHERE id = 1; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s2-drop: DROP TABLE select_append; step s1-commit: COMMIT; step s2-drop: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_append; ERROR: relation "select_append" does not exist restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-router-select s2-ddl-create-index s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-router-select: SELECT * FROM select_append WHERE id = 1; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s2-ddl-create-index: CREATE INDEX select_append_index ON select_append(id); step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''select_append%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,1) (localhost,57638,t,1) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-ddl-create-index s1-begin s1-router-select s2-ddl-drop-index s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-ddl-create-index: CREATE INDEX select_append_index ON select_append(id); step s1-begin: BEGIN; step s1-router-select: SELECT * FROM select_append WHERE id = 1; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s2-ddl-drop-index: DROP INDEX select_append_index; step s1-commit: COMMIT; step s2-ddl-drop-index: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''select_append%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s1-disable-binary-protocol s1-router-select s2-ddl-create-index-concurrently s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -456,290 +614,406 @@ step s1-disable-binary-protocol: SET citus.enable_binary_protocol TO false; step s1-router-select: SELECT * FROM select_append WHERE id = 1; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s2-ddl-create-index-concurrently: CREATE INDEX CONCURRENTLY select_append_index ON select_append(id); step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''select_append%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,1) (localhost,57638,t,1) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s1-router-select s2-ddl-add-column s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-router-select: SELECT * FROM select_append WHERE id = 1; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s2-ddl-add-column: ALTER TABLE select_append ADD new_column int DEFAULT 0; step s1-commit: COMMIT; step s2-ddl-add-column: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''select_append%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-ddl-add-column s1-begin s1-router-select s2-ddl-drop-column s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-ddl-add-column: ALTER TABLE select_append ADD new_column int DEFAULT 0; step s1-begin: BEGIN; step s1-router-select: SELECT * FROM select_append WHERE id = 1; -id data int_data new_column +id|data|int_data|new_column +--------------------------------------------------------------------- + 1| b | 1| 0 +(1 row) -1 b 1 0 step s2-ddl-drop-column: ALTER TABLE select_append DROP new_column; step s1-commit: COMMIT; step s2-ddl-drop-column: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''select_append%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s1-router-select s2-ddl-rename-column s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-router-select: SELECT * FROM select_append WHERE id = 1; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s2-ddl-rename-column: ALTER TABLE select_append RENAME data TO new_column; step s1-commit: COMMIT; step s2-ddl-rename-column: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''select_append%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s1-router-select s2-table-size s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-router-select: SELECT * FROM select_append WHERE id = 1; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s2-table-size: SELECT citus_total_relation_size('select_append'); citus_total_relation_size +--------------------------------------------------------------------- + 32768 +(1 row) -32768 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-router-select s2-master-modify-multiple-shards s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-router-select: SELECT * FROM select_append WHERE id = 1; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s2-master-modify-multiple-shards: DELETE FROM select_append; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-master-apply-delete-command s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s2-master-apply-delete-command: SELECT master_apply_delete_command('DELETE FROM select_append WHERE id <= 4;'); master_apply_delete_command +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-master-drop-all-shards s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s2-master-drop-all-shards: SELECT citus_drop_all_shards('select_append'::regclass, 'public', 'append_copy'); citus_drop_all_shards +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-drop s1-create-non-distributed-table s1-begin s1-router-select s2-distribute-table s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop: DROP TABLE select_append; step s1-create-non-distributed-table: CREATE TABLE select_append(id integer, data text, int_data int); step s1-begin: BEGIN; step s1-router-select: SELECT * FROM select_append WHERE id = 1; -id data int_data +id|data|int_data +--------------------------------------------------------------------- +(0 rows) step s2-distribute-table: SELECT create_distributed_table('select_append', 'id', 'append'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-insert s2-router-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-insert: INSERT INTO select_append VALUES(0, 'k', 0); step s2-router-select: SELECT * FROM select_append WHERE id = 1; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 6 +(1 row) -6 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-insert-select s2-router-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-insert-select: INSERT INTO select_append SELECT * FROM select_append; step s2-router-select: SELECT * FROM select_append WHERE id = 1; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 10 +(1 row) -10 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-update s2-router-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-update: UPDATE select_append SET data = 'l' WHERE id = 0; step s2-router-select: SELECT * FROM select_append WHERE id = 1; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-delete s2-router-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-delete: DELETE FROM select_append WHERE id = 1; step s2-router-select: SELECT * FROM select_append WHERE id = 1; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 4 +(1 row) -4 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-truncate s2-router-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -747,19 +1021,27 @@ step s1-truncate: TRUNCATE select_append; step s2-router-select: SELECT * FROM select_append WHERE id = 1; step s1-commit: COMMIT; step s2-router-select: <... completed> -id data int_data +id|data|int_data +--------------------------------------------------------------------- +(0 rows) step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-drop s2-router-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -771,37 +1053,51 @@ ERROR: relation "select_append" does not exist step s1-select-count: SELECT COUNT(*) FROM select_append; ERROR: relation "select_append" does not exist restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-ddl-create-index s2-router-select s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-ddl-create-index: CREATE INDEX select_append_index ON select_append(id); step s2-router-select: SELECT * FROM select_append WHERE id = 1; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''select_append%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,1) (localhost,57638,t,1) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-ddl-create-index s1-begin s1-ddl-drop-index s2-router-select s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-ddl-create-index: CREATE INDEX select_append_index ON select_append(id); @@ -810,25 +1106,35 @@ step s1-ddl-drop-index: DROP INDEX select_append_index; step s2-router-select: SELECT * FROM select_append WHERE id = 1; step s1-commit: COMMIT; step s2-router-select: <... completed> -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''select_append%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s1-ddl-add-column s2-router-select s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -836,25 +1142,35 @@ step s1-ddl-add-column: ALTER TABLE select_append ADD new_column int DEFAULT 0; step s2-router-select: SELECT * FROM select_append WHERE id = 1; step s1-commit: COMMIT; step s2-router-select: <... completed> -id data int_data new_column +id|data|int_data|new_column +--------------------------------------------------------------------- + 1| b | 1| 0 +(1 row) -1 b 1 0 step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''select_append%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-ddl-add-column s1-begin s1-ddl-drop-column s2-router-select s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-ddl-add-column: ALTER TABLE select_append ADD new_column int DEFAULT 0; @@ -863,25 +1179,35 @@ step s1-ddl-drop-column: ALTER TABLE select_append DROP new_column; step s2-router-select: SELECT * FROM select_append WHERE id = 1; step s1-commit: COMMIT; step s2-router-select: <... completed> -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''select_append%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s1-ddl-rename-column s2-router-select s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -889,623 +1215,843 @@ step s1-ddl-rename-column: ALTER TABLE select_append RENAME data TO new_column; step s2-router-select: SELECT * FROM select_append WHERE id = 1; step s1-commit: COMMIT; step s2-router-select: <... completed> -id new_column int_data +id|new_column|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''select_append%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s1-table-size s2-router-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-table-size: SELECT citus_total_relation_size('select_append'); citus_total_relation_size +--------------------------------------------------------------------- + 32768 +(1 row) -32768 step s2-router-select: SELECT * FROM select_append WHERE id = 1; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-master-modify-multiple-shards s2-router-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-master-modify-multiple-shards: DELETE FROM select_append; step s2-router-select: SELECT * FROM select_append WHERE id = 1; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 1| b | 1 +(1 row) -1 b 1 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-master-apply-delete-command s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-master-apply-delete-command: SELECT master_apply_delete_command('DELETE FROM select_append WHERE id <= 4;'); master_apply_delete_command +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-master-drop-all-shards s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-master-drop-all-shards: SELECT citus_drop_all_shards('select_append'::regclass, 'public', 'append_copy'); citus_drop_all_shards +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-drop s1-create-non-distributed-table s1-begin s1-distribute-table s2-router-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop: DROP TABLE select_append; step s1-create-non-distributed-table: CREATE TABLE select_append(id integer, data text, int_data int); step s1-begin: BEGIN; step s1-distribute-table: SELECT create_distributed_table('select_append', 'id', 'append'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-router-select: SELECT * FROM select_append WHERE id = 1; -id data int_data +id|data|int_data +--------------------------------------------------------------------- +(0 rows) step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-real-time-select s2-insert s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-real-time-select: SELECT * FROM select_append ORDER BY 1, 2; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s2-insert: INSERT INTO select_append VALUES(0, 'k', 0); step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 6 +(1 row) -6 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-real-time-select s2-insert-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-real-time-select: SELECT * FROM select_append ORDER BY 1, 2; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s2-insert-select: INSERT INTO select_append SELECT * FROM select_append; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 10 +(1 row) -10 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-real-time-select s2-update s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-real-time-select: SELECT * FROM select_append ORDER BY 1, 2; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s2-update: UPDATE select_append SET data = 'l' WHERE id = 0; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-real-time-select s2-delete s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-real-time-select: SELECT * FROM select_append ORDER BY 1, 2; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s2-delete: DELETE FROM select_append WHERE id = 1; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 4 +(1 row) -4 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-real-time-select s2-truncate s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-real-time-select: SELECT * FROM select_append ORDER BY 1, 2; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s2-truncate: TRUNCATE select_append; step s1-commit: COMMIT; step s2-truncate: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-real-time-select s2-drop s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-real-time-select: SELECT * FROM select_append ORDER BY 1, 2; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s2-drop: DROP TABLE select_append; step s1-commit: COMMIT; step s2-drop: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_append; ERROR: relation "select_append" does not exist restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-real-time-select s2-ddl-create-index s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-real-time-select: SELECT * FROM select_append ORDER BY 1, 2; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s2-ddl-create-index: CREATE INDEX select_append_index ON select_append(id); step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''select_append%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,1) (localhost,57638,t,1) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-ddl-create-index s1-begin s1-real-time-select s2-ddl-drop-index s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-ddl-create-index: CREATE INDEX select_append_index ON select_append(id); step s1-begin: BEGIN; step s1-real-time-select: SELECT * FROM select_append ORDER BY 1, 2; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s2-ddl-drop-index: DROP INDEX select_append_index; step s1-commit: COMMIT; step s2-ddl-drop-index: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''select_append%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s1-real-time-select s2-ddl-create-index-concurrently s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-real-time-select: SELECT * FROM select_append ORDER BY 1, 2; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s2-ddl-create-index-concurrently: CREATE INDEX CONCURRENTLY select_append_index ON select_append(id); step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''select_append%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,1) (localhost,57638,t,1) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s1-real-time-select s2-ddl-add-column s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-real-time-select: SELECT * FROM select_append ORDER BY 1, 2; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s2-ddl-add-column: ALTER TABLE select_append ADD new_column int DEFAULT 0; step s1-commit: COMMIT; step s2-ddl-add-column: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''select_append%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-ddl-add-column s1-begin s1-real-time-select s2-ddl-drop-column s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-ddl-add-column: ALTER TABLE select_append ADD new_column int DEFAULT 0; step s1-begin: BEGIN; step s1-real-time-select: SELECT * FROM select_append ORDER BY 1, 2; -id data int_data new_column +id|data|int_data|new_column +--------------------------------------------------------------------- + 0| a | 0| 0 + 1| b | 1| 0 + 2| c | 2| 0 + 3| d | 3| 0 + 4| e | 4| 0 +(5 rows) -0 a 0 0 -1 b 1 0 -2 c 2 0 -3 d 3 0 -4 e 4 0 step s2-ddl-drop-column: ALTER TABLE select_append DROP new_column; step s1-commit: COMMIT; step s2-ddl-drop-column: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''select_append%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s1-real-time-select s2-ddl-rename-column s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-real-time-select: SELECT * FROM select_append ORDER BY 1, 2; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s2-ddl-rename-column: ALTER TABLE select_append RENAME data TO new_column; step s1-commit: COMMIT; step s2-ddl-rename-column: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''select_append%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s1-real-time-select s2-table-size s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-real-time-select: SELECT * FROM select_append ORDER BY 1, 2; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s2-table-size: SELECT citus_total_relation_size('select_append'); citus_total_relation_size +--------------------------------------------------------------------- + 32768 +(1 row) -32768 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-real-time-select s2-master-modify-multiple-shards s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-real-time-select: SELECT * FROM select_append ORDER BY 1, 2; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s2-master-modify-multiple-shards: DELETE FROM select_append; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-drop s1-create-non-distributed-table s1-begin s1-real-time-select s2-distribute-table s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop: DROP TABLE select_append; step s1-create-non-distributed-table: CREATE TABLE select_append(id integer, data text, int_data int); step s1-begin: BEGIN; step s1-real-time-select: SELECT * FROM select_append ORDER BY 1, 2; -id data int_data +id|data|int_data +--------------------------------------------------------------------- +(0 rows) step s2-distribute-table: SELECT create_distributed_table('select_append', 'id', 'append'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-insert s2-real-time-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-insert: INSERT INTO select_append VALUES(0, 'k', 0); step s2-real-time-select: SELECT * FROM select_append ORDER BY 1, 2; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 6 +(1 row) -6 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-insert-select s2-real-time-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-insert-select: INSERT INTO select_append SELECT * FROM select_append; step s2-real-time-select: SELECT * FROM select_append ORDER BY 1, 2; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 10 +(1 row) -10 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-update s2-real-time-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-update: UPDATE select_append SET data = 'l' WHERE id = 0; step s2-real-time-select: SELECT * FROM select_append ORDER BY 1, 2; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-delete s2-real-time-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-delete: DELETE FROM select_append WHERE id = 1; step s2-real-time-select: SELECT * FROM select_append ORDER BY 1, 2; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 4 +(1 row) -4 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-truncate s2-real-time-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -1513,19 +2059,27 @@ step s1-truncate: TRUNCATE select_append; step s2-real-time-select: SELECT * FROM select_append ORDER BY 1, 2; step s1-commit: COMMIT; step s2-real-time-select: <... completed> -id data int_data +id|data|int_data +--------------------------------------------------------------------- +(0 rows) step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-drop s2-real-time-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -1537,41 +2091,55 @@ ERROR: relation "select_append" does not exist step s1-select-count: SELECT COUNT(*) FROM select_append; ERROR: relation "select_append" does not exist restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-ddl-create-index s2-real-time-select s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-ddl-create-index: CREATE INDEX select_append_index ON select_append(id); step s2-real-time-select: SELECT * FROM select_append ORDER BY 1, 2; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''select_append%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,1) (localhost,57638,t,1) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-ddl-create-index s1-begin s1-ddl-drop-index s2-real-time-select s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-ddl-create-index: CREATE INDEX select_append_index ON select_append(id); @@ -1580,29 +2148,39 @@ step s1-ddl-drop-index: DROP INDEX select_append_index; step s2-real-time-select: SELECT * FROM select_append ORDER BY 1, 2; step s1-commit: COMMIT; step s2-real-time-select: <... completed> -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''select_append%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s1-ddl-add-column s2-real-time-select s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -1610,29 +2188,39 @@ step s1-ddl-add-column: ALTER TABLE select_append ADD new_column int DEFAULT 0; step s2-real-time-select: SELECT * FROM select_append ORDER BY 1, 2; step s1-commit: COMMIT; step s2-real-time-select: <... completed> -id data int_data new_column +id|data|int_data|new_column +--------------------------------------------------------------------- + 0| a | 0| 0 + 1| b | 1| 0 + 2| c | 2| 0 + 3| d | 3| 0 + 4| e | 4| 0 +(5 rows) -0 a 0 0 -1 b 1 0 -2 c 2 0 -3 d 3 0 -4 e 4 0 step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''select_append%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-ddl-add-column s1-begin s1-ddl-drop-column s2-real-time-select s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-ddl-add-column: ALTER TABLE select_append ADD new_column int DEFAULT 0; @@ -1641,29 +2229,39 @@ step s1-ddl-drop-column: ALTER TABLE select_append DROP new_column; step s2-real-time-select: SELECT * FROM select_append ORDER BY 1, 2; step s1-commit: COMMIT; step s2-real-time-select: <... completed> -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''select_append%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s1-ddl-rename-column s2-real-time-select s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -1671,103 +2269,141 @@ step s1-ddl-rename-column: ALTER TABLE select_append RENAME data TO new_column; step s2-real-time-select: SELECT * FROM select_append ORDER BY 1, 2; step s1-commit: COMMIT; step s2-real-time-select: <... completed> -id new_column int_data +id|new_column|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''select_append%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s1-table-size s2-real-time-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-table-size: SELECT citus_total_relation_size('select_append'); citus_total_relation_size +--------------------------------------------------------------------- + 32768 +(1 row) -32768 step s2-real-time-select: SELECT * FROM select_append ORDER BY 1, 2; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-master-modify-multiple-shards s2-real-time-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-master-modify-multiple-shards: DELETE FROM select_append; step s2-real-time-select: SELECT * FROM select_append ORDER BY 1, 2; -id data int_data +id|data|int_data +--------------------------------------------------------------------- + 0| a | 0 + 1| b | 1 + 2| c | 2 + 3| d | 3 + 4| e | 4 +(5 rows) -0 a 0 -1 b 1 -2 c 2 -3 d 3 -4 e 4 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-drop s1-create-non-distributed-table s1-begin s1-distribute-table s2-real-time-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop: DROP TABLE select_append; step s1-create-non-distributed-table: CREATE TABLE select_append(id integer, data text, int_data int); step s1-begin: BEGIN; step s1-distribute-table: SELECT create_distributed_table('select_append', 'id', 'append'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-real-time-select: SELECT * FROM select_append ORDER BY 1, 2; -id data int_data +id|data|int_data +--------------------------------------------------------------------- +(0 rows) step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-adaptive-select s2-insert s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -1775,26 +2411,34 @@ step s1-adaptive-select: SET citus.enable_repartition_joins TO ON; SELECT * FROM select_append AS t1 JOIN select_append AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s2-insert: INSERT INTO select_append VALUES(0, 'k', 0); step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 6 +(1 row) -6 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-adaptive-select s2-insert-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -1802,26 +2446,34 @@ step s1-adaptive-select: SET citus.enable_repartition_joins TO ON; SELECT * FROM select_append AS t1 JOIN select_append AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s2-insert-select: INSERT INTO select_append SELECT * FROM select_append; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 10 +(1 row) -10 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-adaptive-select s2-update s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -1829,26 +2481,34 @@ step s1-adaptive-select: SET citus.enable_repartition_joins TO ON; SELECT * FROM select_append AS t1 JOIN select_append AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s2-update: UPDATE select_append SET data = 'l' WHERE id = 0; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-adaptive-select s2-delete s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -1856,26 +2516,34 @@ step s1-adaptive-select: SET citus.enable_repartition_joins TO ON; SELECT * FROM select_append AS t1 JOIN select_append AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s2-delete: DELETE FROM select_append WHERE id = 1; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 4 +(1 row) -4 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-adaptive-select s2-truncate s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -1883,27 +2551,35 @@ step s1-adaptive-select: SET citus.enable_repartition_joins TO ON; SELECT * FROM select_append AS t1 JOIN select_append AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s2-truncate: TRUNCATE select_append; step s1-commit: COMMIT; step s2-truncate: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-adaptive-select s2-drop s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -1911,25 +2587,31 @@ step s1-adaptive-select: SET citus.enable_repartition_joins TO ON; SELECT * FROM select_append AS t1 JOIN select_append AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s2-drop: DROP TABLE select_append; step s1-commit: COMMIT; step s2-drop: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_append; ERROR: relation "select_append" does not exist restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-adaptive-select s2-ddl-create-index s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -1937,31 +2619,41 @@ step s1-adaptive-select: SET citus.enable_repartition_joins TO ON; SELECT * FROM select_append AS t1 JOIN select_append AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s2-ddl-create-index: CREATE INDEX select_append_index ON select_append(id); step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''select_append%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,1) (localhost,57638,t,1) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-ddl-create-index s1-begin s1-adaptive-select s2-ddl-drop-index s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-ddl-create-index: CREATE INDEX select_append_index ON select_append(id); @@ -1970,32 +2662,42 @@ step s1-adaptive-select: SET citus.enable_repartition_joins TO ON; SELECT * FROM select_append AS t1 JOIN select_append AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s2-ddl-drop-index: DROP INDEX select_append_index; step s1-commit: COMMIT; step s2-ddl-drop-index: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''select_append%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s1-adaptive-select s2-ddl-create-index-concurrently s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -2003,31 +2705,41 @@ step s1-adaptive-select: SET citus.enable_repartition_joins TO ON; SELECT * FROM select_append AS t1 JOIN select_append AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s2-ddl-create-index-concurrently: CREATE INDEX CONCURRENTLY select_append_index ON select_append(id); step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''select_append%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,1) (localhost,57638,t,1) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s1-adaptive-select s2-ddl-add-column s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -2035,32 +2747,42 @@ step s1-adaptive-select: SET citus.enable_repartition_joins TO ON; SELECT * FROM select_append AS t1 JOIN select_append AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s2-ddl-add-column: ALTER TABLE select_append ADD new_column int DEFAULT 0; step s1-commit: COMMIT; step s2-ddl-add-column: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''select_append%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-ddl-add-column s1-begin s1-adaptive-select s2-ddl-drop-column s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-ddl-add-column: ALTER TABLE select_append ADD new_column int DEFAULT 0; @@ -2069,32 +2791,42 @@ step s1-adaptive-select: SET citus.enable_repartition_joins TO ON; SELECT * FROM select_append AS t1 JOIN select_append AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data new_column id data int_data new_column +id|data|int_data|new_column|id|data|int_data|new_column +--------------------------------------------------------------------- + 0| a | 0| 0| 0| a | 0| 0 + 1| b | 1| 0| 1| b | 1| 0 + 2| c | 2| 0| 2| c | 2| 0 + 3| d | 3| 0| 3| d | 3| 0 + 4| e | 4| 0| 4| e | 4| 0 +(5 rows) -0 a 0 0 0 a 0 0 -1 b 1 0 1 b 1 0 -2 c 2 0 2 c 2 0 -3 d 3 0 3 d 3 0 -4 e 4 0 4 e 4 0 step s2-ddl-drop-column: ALTER TABLE select_append DROP new_column; step s1-commit: COMMIT; step s2-ddl-drop-column: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''select_append%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s1-adaptive-select s2-ddl-rename-column s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -2102,32 +2834,42 @@ step s1-adaptive-select: SET citus.enable_repartition_joins TO ON; SELECT * FROM select_append AS t1 JOIN select_append AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s2-ddl-rename-column: ALTER TABLE select_append RENAME data TO new_column; step s1-commit: COMMIT; step s2-ddl-rename-column: <... completed> step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''select_append%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s1-adaptive-select s2-table-size s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -2135,29 +2877,39 @@ step s1-adaptive-select: SET citus.enable_repartition_joins TO ON; SELECT * FROM select_append AS t1 JOIN select_append AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s2-table-size: SELECT citus_total_relation_size('select_append'); citus_total_relation_size +--------------------------------------------------------------------- + 32768 +(1 row) -32768 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-adaptive-select s2-master-modify-multiple-shards s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -2165,26 +2917,34 @@ step s1-adaptive-select: SET citus.enable_repartition_joins TO ON; SELECT * FROM select_append AS t1 JOIN select_append AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s2-master-modify-multiple-shards: DELETE FROM select_append; step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-drop s1-create-non-distributed-table s1-begin s1-adaptive-select s2-distribute-table s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop: DROP TABLE select_append; step s1-create-non-distributed-table: CREATE TABLE select_append(id integer, data text, int_data int); @@ -2193,24 +2953,34 @@ step s1-adaptive-select: SET citus.enable_repartition_joins TO ON; SELECT * FROM select_append AS t1 JOIN select_append AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- +(0 rows) step s2-distribute-table: SELECT create_distributed_table('select_append', 'id', 'append'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-insert s2-adaptive-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -2219,25 +2989,33 @@ step s2-adaptive-select: SET citus.enable_repartition_joins TO ON; SELECT * FROM select_append AS t1 JOIN select_append AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 6 +(1 row) -6 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-insert-select s2-adaptive-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -2246,25 +3024,33 @@ step s2-adaptive-select: SET citus.enable_repartition_joins TO ON; SELECT * FROM select_append AS t1 JOIN select_append AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 10 +(1 row) -10 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-update s2-adaptive-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -2273,25 +3059,33 @@ step s2-adaptive-select: SET citus.enable_repartition_joins TO ON; SELECT * FROM select_append AS t1 JOIN select_append AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-delete s2-adaptive-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -2300,25 +3094,33 @@ step s2-adaptive-select: SET citus.enable_repartition_joins TO ON; SELECT * FROM select_append AS t1 JOIN select_append AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 4 +(1 row) -4 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-truncate s2-adaptive-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -2329,19 +3131,27 @@ step s2-adaptive-select: step s1-commit: COMMIT; step s2-adaptive-select: <... completed> -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- +(0 rows) step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-drop s2-adaptive-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -2356,12 +3166,16 @@ ERROR: relation "select_append" does not exist step s1-select-count: SELECT COUNT(*) FROM select_append; ERROR: relation "select_append" does not exist restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-ddl-create-index s2-adaptive-select s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -2370,30 +3184,40 @@ step s2-adaptive-select: SET citus.enable_repartition_joins TO ON; SELECT * FROM select_append AS t1 JOIN select_append AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''select_append%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,1) (localhost,57638,t,1) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-ddl-create-index s1-begin s1-ddl-drop-index s2-adaptive-select s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-ddl-create-index: CREATE INDEX select_append_index ON select_append(id); @@ -2405,29 +3229,39 @@ step s2-adaptive-select: step s1-commit: COMMIT; step s2-adaptive-select: <... completed> -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''select_append%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s1-ddl-add-column s2-adaptive-select s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -2438,29 +3272,39 @@ step s2-adaptive-select: step s1-commit: COMMIT; step s2-adaptive-select: <... completed> -id data int_data new_column id data int_data new_column +id|data|int_data|new_column|id|data|int_data|new_column +--------------------------------------------------------------------- + 0| a | 0| 0| 0| a | 0| 0 + 1| b | 1| 0| 1| b | 1| 0 + 2| c | 2| 0| 2| c | 2| 0 + 3| d | 3| 0| 3| d | 3| 0 + 4| e | 4| 0| 4| e | 4| 0 +(5 rows) -0 a 0 0 0 a 0 0 -1 b 1 0 1 b 1 0 -2 c 2 0 2 c 2 0 -3 d 3 0 3 d 3 0 -4 e 4 0 4 e 4 0 step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''select_append%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-ddl-add-column s1-begin s1-ddl-drop-column s2-adaptive-select s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-ddl-add-column: ALTER TABLE select_append ADD new_column int DEFAULT 0; @@ -2472,29 +3316,39 @@ step s2-adaptive-select: step s1-commit: COMMIT; step s2-adaptive-select: <... completed> -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''select_append%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s1-ddl-rename-column s2-adaptive-select s1-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -2505,59 +3359,79 @@ step s2-adaptive-select: step s1-commit: COMMIT; step s2-adaptive-select: <... completed> -id new_column int_data id new_column int_data +id|new_column|int_data|id|new_column|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''select_append%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s1-table-size s2-adaptive-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; step s1-table-size: SELECT citus_total_relation_size('select_append'); citus_total_relation_size +--------------------------------------------------------------------- + 32768 +(1 row) -32768 step s2-adaptive-select: SET citus.enable_repartition_joins TO ON; SELECT * FROM select_append AS t1 JOIN select_append AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 5 +(1 row) -5 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s1-master-modify-multiple-shards s2-adaptive-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY select_append FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV; step s1-begin: BEGIN; @@ -2566,44 +3440,60 @@ step s2-adaptive-select: SET citus.enable_repartition_joins TO ON; SELECT * FROM select_append AS t1 JOIN select_append AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- + 0| a | 0| 0| a | 0 + 1| b | 1| 1| b | 1 + 2| c | 2| 2| c | 2 + 3| d | 3| 3| d | 3 + 4| e | 4| 4| e | 4 +(5 rows) -0 a 0 0 a 0 -1 b 1 1 b 1 -2 c 2 2 c 2 -3 d 3 3 d 3 -4 e 4 4 e 4 step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-drop s1-create-non-distributed-table s1-begin s1-distribute-table s2-adaptive-select s1-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop: DROP TABLE select_append; step s1-create-non-distributed-table: CREATE TABLE select_append(id integer, data text, int_data int); step s1-begin: BEGIN; step s1-distribute-table: SELECT create_distributed_table('select_append', 'id', 'append'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-adaptive-select: SET citus.enable_repartition_joins TO ON; SELECT * FROM select_append AS t1 JOIN select_append AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4; -id data int_data id data int_data +id|data|int_data|id|data|int_data +--------------------------------------------------------------------- +(0 rows) step s1-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM select_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) diff --git a/src/test/regress/expected/isolation_select_vs_all_on_mx.out b/src/test/regress/expected/isolation_select_vs_all_on_mx.out index 55f002582..b3e529b3b 100644 --- a/src/test/regress/expected/isolation_select_vs_all_on_mx.out +++ b/src/test/regress/expected/isolation_select_vs_all_on_mx.out @@ -5,64 +5,86 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-select: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM select_table'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-select: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM select_table'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-select s2-start-session-level-connection s2-begin-on-worker s2-insert-select s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count @@ -70,70 +92,94 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-select: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM select_table'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-insert-select: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO select_table SELECT * FROM select_table'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM select_table; count +--------------------------------------------------------------------- + 10 +(1 row) -10 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-select s2-start-session-level-connection s2-begin-on-worker s2-delete s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count @@ -141,70 +187,94 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-select: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM select_table'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-delete: SELECT run_commands_on_session_level_connection_to_node('DELETE FROM select_table WHERE id = 1'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM select_table; count +--------------------------------------------------------------------- + 4 +(1 row) -4 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-select s2-start-session-level-connection s2-begin-on-worker s2-copy s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count @@ -212,70 +282,94 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-select: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM select_table'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-copy: SELECT run_commands_on_session_level_connection_to_node('COPY select_table FROM PROGRAM ''echo 9, 90 && echo 10, 100''WITH CSV'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM select_table; count +--------------------------------------------------------------------- + 7 +(1 row) -7 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-select s2-begin s2-index s1-commit-worker s2-commit s1-stop-connection @@ -283,19 +377,25 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-select: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM select_table'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin: BEGIN; @@ -307,7 +407,9 @@ step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit: COMMIT; @@ -316,10 +418,14 @@ step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-select s2-start-session-level-connection s2-begin-on-worker s2-select-for-update s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection @@ -327,64 +433,86 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-select: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM select_table'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-select-for-update: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM select_table WHERE id = 6 FOR UPDATE'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-disable-binary-protocol-on-worker s1-select s2-coordinator-create-index-concurrently s1-commit-worker s1-stop-connection @@ -392,26 +520,34 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-disable-binary-protocol-on-worker: -- Workaround router-select blocking blocking create-index-concurrently SELECT run_commands_on_session_level_connection_to_node('SET citus.enable_binary_protocol TO false'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-select: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM select_table'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-coordinator-create-index-concurrently: CREATE INDEX CONCURRENTLY select_table_index ON select_table(id); @@ -420,14 +556,20 @@ step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) diff --git a/src/test/regress/expected/isolation_shard_rebalancer.out b/src/test/regress/expected/isolation_shard_rebalancer.out index 2eab1d8b8..1d6779b7c 100644 --- a/src/test/regress/expected/isolation_shard_rebalancer.out +++ b/src/test/regress/expected/isolation_shard_rebalancer.out @@ -2,14 +2,18 @@ Parsed test spec with 2 sessions starting permutation: s1-rebalance-nc s2-rebalance-nc s1-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-rebalance-nc: BEGIN; select rebalance_table_shards('non_colocated'); rebalance_table_shards +--------------------------------------------------------------------- +(1 row) step s2-rebalance-nc: select rebalance_table_shards('non_colocated'); @@ -19,19 +23,25 @@ step s1-commit: COMMIT; master_set_node_property +--------------------------------------------------------------------- +(1 row) starting permutation: s1-rebalance-nc s2-replicate-nc s1-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-rebalance-nc: BEGIN; select rebalance_table_shards('non_colocated'); rebalance_table_shards +--------------------------------------------------------------------- +(1 row) step s2-replicate-nc: select replicate_table_shards('non_colocated'); @@ -41,19 +51,25 @@ step s1-commit: COMMIT; master_set_node_property +--------------------------------------------------------------------- +(1 row) starting permutation: s1-replicate-nc s2-rebalance-nc s1-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-replicate-nc: BEGIN; select replicate_table_shards('non_colocated'); replicate_table_shards +--------------------------------------------------------------------- +(1 row) step s2-rebalance-nc: select rebalance_table_shards('non_colocated'); @@ -63,19 +79,25 @@ step s1-commit: COMMIT; master_set_node_property +--------------------------------------------------------------------- +(1 row) starting permutation: s1-replicate-nc s2-replicate-nc s1-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-replicate-nc: BEGIN; select replicate_table_shards('non_colocated'); replicate_table_shards +--------------------------------------------------------------------- +(1 row) step s2-replicate-nc: select replicate_table_shards('non_colocated'); @@ -85,19 +107,25 @@ step s1-commit: COMMIT; master_set_node_property +--------------------------------------------------------------------- +(1 row) starting permutation: s1-rebalance-c1 s2-rebalance-c2 s1-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-rebalance-c1: BEGIN; select rebalance_table_shards('colocated1'); rebalance_table_shards +--------------------------------------------------------------------- +(1 row) step s2-rebalance-c2: select rebalance_table_shards('colocated2'); @@ -107,19 +135,25 @@ step s1-commit: COMMIT; master_set_node_property +--------------------------------------------------------------------- +(1 row) starting permutation: s1-rebalance-c1 s2-replicate-c2 s1-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-rebalance-c1: BEGIN; select rebalance_table_shards('colocated1'); rebalance_table_shards +--------------------------------------------------------------------- +(1 row) step s2-replicate-c2: select replicate_table_shards('colocated2'); @@ -129,19 +163,25 @@ step s1-commit: COMMIT; master_set_node_property +--------------------------------------------------------------------- +(1 row) starting permutation: s1-replicate-c1 s2-rebalance-c2 s1-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-replicate-c1: BEGIN; select replicate_table_shards('colocated1'); replicate_table_shards +--------------------------------------------------------------------- +(1 row) step s2-rebalance-c2: select rebalance_table_shards('colocated2'); @@ -151,19 +191,25 @@ step s1-commit: COMMIT; master_set_node_property +--------------------------------------------------------------------- +(1 row) starting permutation: s1-replicate-c1 s2-replicate-c2 s1-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-replicate-c1: BEGIN; select replicate_table_shards('colocated1'); replicate_table_shards +--------------------------------------------------------------------- +(1 row) step s2-replicate-c2: select replicate_table_shards('colocated2'); @@ -173,115 +219,153 @@ step s1-commit: COMMIT; master_set_node_property +--------------------------------------------------------------------- +(1 row) starting permutation: s1-rebalance-c1 s2-rebalance-nc s1-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-rebalance-c1: BEGIN; select rebalance_table_shards('colocated1'); rebalance_table_shards +--------------------------------------------------------------------- +(1 row) step s2-rebalance-nc: select rebalance_table_shards('non_colocated'); rebalance_table_shards +--------------------------------------------------------------------- +(1 row) step s1-commit: COMMIT; master_set_node_property +--------------------------------------------------------------------- +(1 row) starting permutation: s1-rebalance-c1 s2-replicate-nc s1-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-rebalance-c1: BEGIN; select rebalance_table_shards('colocated1'); rebalance_table_shards +--------------------------------------------------------------------- +(1 row) step s2-replicate-nc: select replicate_table_shards('non_colocated'); replicate_table_shards +--------------------------------------------------------------------- +(1 row) step s1-commit: COMMIT; master_set_node_property +--------------------------------------------------------------------- +(1 row) starting permutation: s1-replicate-c1 s2-rebalance-nc s1-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-replicate-c1: BEGIN; select replicate_table_shards('colocated1'); replicate_table_shards +--------------------------------------------------------------------- +(1 row) step s2-rebalance-nc: select rebalance_table_shards('non_colocated'); rebalance_table_shards +--------------------------------------------------------------------- +(1 row) step s1-commit: COMMIT; master_set_node_property +--------------------------------------------------------------------- +(1 row) starting permutation: s1-replicate-c1 s2-replicate-nc s1-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-replicate-c1: BEGIN; select replicate_table_shards('colocated1'); replicate_table_shards +--------------------------------------------------------------------- +(1 row) step s2-replicate-nc: select replicate_table_shards('non_colocated'); replicate_table_shards +--------------------------------------------------------------------- +(1 row) step s1-commit: COMMIT; master_set_node_property +--------------------------------------------------------------------- +(1 row) starting permutation: s1-rebalance-c1 s2-rebalance-all s1-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-rebalance-c1: BEGIN; select rebalance_table_shards('colocated1'); rebalance_table_shards +--------------------------------------------------------------------- +(1 row) step s2-rebalance-all: select rebalance_table_shards(); @@ -291,19 +375,25 @@ step s1-commit: COMMIT; master_set_node_property +--------------------------------------------------------------------- +(1 row) starting permutation: s1-replicate-c1 s2-rebalance-all s1-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-replicate-c1: BEGIN; select replicate_table_shards('colocated1'); replicate_table_shards +--------------------------------------------------------------------- +(1 row) step s2-rebalance-all: select rebalance_table_shards(); @@ -313,19 +403,25 @@ step s1-commit: COMMIT; master_set_node_property +--------------------------------------------------------------------- +(1 row) starting permutation: s1-rebalance-nc s2-rebalance-all s1-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-rebalance-nc: BEGIN; select rebalance_table_shards('non_colocated'); rebalance_table_shards +--------------------------------------------------------------------- +(1 row) step s2-rebalance-all: select rebalance_table_shards(); @@ -335,19 +431,25 @@ step s1-commit: COMMIT; master_set_node_property +--------------------------------------------------------------------- +(1 row) starting permutation: s1-replicate-nc s2-rebalance-all s1-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-replicate-nc: BEGIN; select replicate_table_shards('non_colocated'); replicate_table_shards +--------------------------------------------------------------------- +(1 row) step s2-rebalance-all: select rebalance_table_shards(); @@ -357,19 +459,25 @@ step s1-commit: COMMIT; master_set_node_property +--------------------------------------------------------------------- +(1 row) starting permutation: s1-rebalance-c1 s2-drain s1-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-rebalance-c1: BEGIN; select rebalance_table_shards('colocated1'); rebalance_table_shards +--------------------------------------------------------------------- +(1 row) step s2-drain: select master_drain_node('localhost', 57638); @@ -379,19 +487,25 @@ step s1-commit: COMMIT; master_set_node_property +--------------------------------------------------------------------- +(1 row) starting permutation: s1-replicate-c1 s2-drain s1-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-replicate-c1: BEGIN; select replicate_table_shards('colocated1'); replicate_table_shards +--------------------------------------------------------------------- +(1 row) step s2-drain: select master_drain_node('localhost', 57638); @@ -401,19 +515,25 @@ step s1-commit: COMMIT; master_set_node_property +--------------------------------------------------------------------- +(1 row) starting permutation: s1-rebalance-nc s2-drain s1-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-rebalance-nc: BEGIN; select rebalance_table_shards('non_colocated'); rebalance_table_shards +--------------------------------------------------------------------- +(1 row) step s2-drain: select master_drain_node('localhost', 57638); @@ -423,19 +543,25 @@ step s1-commit: COMMIT; master_set_node_property +--------------------------------------------------------------------- +(1 row) starting permutation: s1-replicate-nc s2-drain s1-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-replicate-nc: BEGIN; select replicate_table_shards('non_colocated'); replicate_table_shards +--------------------------------------------------------------------- +(1 row) step s2-drain: select master_drain_node('localhost', 57638); @@ -445,5 +571,7 @@ step s1-commit: COMMIT; master_set_node_property +--------------------------------------------------------------------- +(1 row) diff --git a/src/test/regress/expected/isolation_shard_rebalancer_progress.out b/src/test/regress/expected/isolation_shard_rebalancer_progress.out index 32e508e0a..992e95057 100644 --- a/src/test/regress/expected/isolation_shard_rebalancer_progress.out +++ b/src/test/regress/expected/isolation_shard_rebalancer_progress.out @@ -2,19 +2,25 @@ Parsed test spec with 3 sessions starting permutation: s2-lock-1 s2-lock-2 s1-rebalance-c1 s3-progress s2-unlock-1 s3-progress s2-unlock-2 s3-progress s1-commit s3-progress master_set_node_property +--------------------------------------------------------------------- +(1 row) step s2-lock-1: SELECT pg_advisory_lock(29279, 1); pg_advisory_lock +--------------------------------------------------------------------- +(1 row) step s2-lock-2: SELECT pg_advisory_lock(29279, 2); pg_advisory_lock +--------------------------------------------------------------------- +(1 row) step s1-rebalance-c1: BEGIN; @@ -36,18 +42,22 @@ step s3-progress: progress FROM get_rebalance_progress(); -table_name shardid shard_size sourcename sourceport source_shard_sizetargetname targetport target_shard_sizeprogress +table_name|shardid|shard_size|sourcename|sourceport|source_shard_size|targetname|targetport|target_shard_size|progress +--------------------------------------------------------------------- +colocated1|1500001| 49152|localhost | 57637| 49152|localhost | 57638| 0| 1 +colocated2|1500005| 376832|localhost | 57637| 376832|localhost | 57638| 0| 1 +colocated1|1500002| 196608|localhost | 57637| 196608|localhost | 57638| 0| 0 +colocated2|1500006| 8192|localhost | 57637| 8192|localhost | 57638| 0| 0 +(4 rows) -colocated1 1500001 49152 localhost 57637 49152 localhost 57638 0 1 -colocated2 1500005 376832 localhost 57637 376832 localhost 57638 0 1 -colocated1 1500002 196608 localhost 57637 196608 localhost 57638 0 0 -colocated2 1500006 8192 localhost 57637 8192 localhost 57638 0 0 step s2-unlock-1: SELECT pg_advisory_unlock(29279, 1); pg_advisory_unlock - +--------------------------------------------------------------------- t +(1 row) + step s3-progress: set client_min_messages=NOTICE; SELECT @@ -63,27 +73,35 @@ step s3-progress: progress FROM get_rebalance_progress(); -table_name shardid shard_size sourcename sourceport source_shard_sizetargetname targetport target_shard_sizeprogress +table_name|shardid|shard_size|sourcename|sourceport|source_shard_size|targetname|targetport|target_shard_size|progress +--------------------------------------------------------------------- +colocated1|1500001| 73728|localhost | 57637| 49152|localhost | 57638| 73728| 2 +colocated2|1500005| 401408|localhost | 57637| 376832|localhost | 57638| 401408| 2 +colocated1|1500002| 196608|localhost | 57637| 196608|localhost | 57638| 0| 1 +colocated2|1500006| 8192|localhost | 57637| 8192|localhost | 57638| 0| 1 +(4 rows) -colocated1 1500001 73728 localhost 57637 49152 localhost 57638 73728 2 -colocated2 1500005 401408 localhost 57637 376832 localhost 57638 401408 2 -colocated1 1500002 196608 localhost 57637 196608 localhost 57638 0 1 -colocated2 1500006 8192 localhost 57637 8192 localhost 57638 0 1 step s2-unlock-2: SELECT pg_advisory_unlock(29279, 2); pg_advisory_unlock - +--------------------------------------------------------------------- t +(1 row) + step s1-rebalance-c1: <... completed> -table_name shardid shard_size sourcename sourceport targetname targetport +table_name|shardid|shard_size|sourcename|sourceport|targetname|targetport +--------------------------------------------------------------------- +colocated1|1500001| 0|localhost | 57637|localhost | 57638 +colocated2|1500005| 0|localhost | 57637|localhost | 57638 +colocated1|1500002| 0|localhost | 57637|localhost | 57638 +colocated2|1500006| 0|localhost | 57637|localhost | 57638 +(4 rows) -colocated1 1500001 0 localhost 57637 localhost 57638 -colocated2 1500005 0 localhost 57637 localhost 57638 -colocated1 1500002 0 localhost 57637 localhost 57638 -colocated2 1500006 0 localhost 57637 localhost 57638 rebalance_table_shards +--------------------------------------------------------------------- +(1 row) step s3-progress: set client_min_messages=NOTICE; @@ -100,7 +118,9 @@ step s3-progress: progress FROM get_rebalance_progress(); -table_name shardid shard_size sourcename sourceport source_shard_sizetargetname targetport target_shard_sizeprogress +table_name|shardid|shard_size|sourcename|sourceport|source_shard_size|targetname|targetport|target_shard_size|progress +--------------------------------------------------------------------- +(0 rows) step s1-commit: COMMIT; @@ -120,8 +140,12 @@ step s3-progress: progress FROM get_rebalance_progress(); -table_name shardid shard_size sourcename sourceport source_shard_sizetargetname targetport target_shard_sizeprogress +table_name|shardid|shard_size|sourcename|sourceport|source_shard_size|targetname|targetport|target_shard_size|progress +--------------------------------------------------------------------- +(0 rows) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) diff --git a/src/test/regress/expected/isolation_shouldhaveshards.out b/src/test/regress/expected/isolation_shouldhaveshards.out index d1c0b1cef..9b5242d94 100644 --- a/src/test/regress/expected/isolation_shouldhaveshards.out +++ b/src/test/regress/expected/isolation_shouldhaveshards.out @@ -2,14 +2,18 @@ Parsed test spec with 2 sessions starting permutation: s1-add-second-node s1-begin s2-begin s2-create-distributed-table s1-noshards s2-commit s1-commit s2-shardcounts ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-add-second-node: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: BEGIN; @@ -23,7 +27,9 @@ step s2-create-distributed-table: SELECT create_distributed_table('t1', 'a'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-noshards: SELECT * from master_set_node_property('localhost', 57637, 'shouldhaveshards', false); @@ -33,7 +39,9 @@ step s2-commit: step s1-noshards: <... completed> master_set_node_property +--------------------------------------------------------------------- +(1 row) step s1-commit: COMMIT; @@ -43,25 +51,33 @@ step s2-shardcounts: FROM pg_dist_shard JOIN pg_dist_shard_placement USING (shardid) WHERE logicalrelid = 't1'::regclass GROUP BY nodeport ORDER BY nodeport; -nodeport count +nodeport|count +--------------------------------------------------------------------- + 57637| 2 + 57638| 2 +(2 rows) -57637 2 -57638 2 master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-add-second-node s1-begin s2-begin s1-noshards s2-create-distributed-table s1-commit s2-commit s2-shardcounts ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-add-second-node: SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: BEGIN; @@ -72,7 +88,9 @@ step s1-noshards: SELECT * from master_set_node_property('localhost', 57637, 'shouldhaveshards', false); master_set_node_property +--------------------------------------------------------------------- +(1 row) step s2-create-distributed-table: CREATE TABLE t1 (a int); @@ -85,7 +103,9 @@ step s1-commit: step s2-create-distributed-table: <... completed> create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-commit: COMMIT; @@ -95,18 +115,24 @@ step s2-shardcounts: FROM pg_dist_shard JOIN pg_dist_shard_placement USING (shardid) WHERE logicalrelid = 't1'::regclass GROUP BY nodeport ORDER BY nodeport; -nodeport count +nodeport|count +--------------------------------------------------------------------- + 57638| 4 +(1 row) -57638 4 master_remove_node +--------------------------------------------------------------------- +(2 rows) starting permutation: s1-begin s2-begin s1-noshards s2-update-node s1-commit s2-commit ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: BEGIN; @@ -117,7 +143,9 @@ step s1-noshards: SELECT * from master_set_node_property('localhost', 57637, 'shouldhaveshards', false); master_set_node_property +--------------------------------------------------------------------- +(1 row) step s2-update-node: select * from master_update_node((select nodeid from pg_dist_node where nodeport = 57637), 'localhost', 57638) @@ -127,19 +155,25 @@ step s1-commit: step s2-update-node: <... completed> master_update_node +--------------------------------------------------------------------- +(1 row) step s2-commit: COMMIT; master_remove_node +--------------------------------------------------------------------- +(1 row) starting permutation: s1-begin s2-begin s2-update-node s1-noshards s2-commit s1-commit ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: BEGIN; @@ -150,7 +184,9 @@ step s2-update-node: select * from master_update_node((select nodeid from pg_dist_node where nodeport = 57637), 'localhost', 57638) master_update_node +--------------------------------------------------------------------- +(1 row) step s1-noshards: SELECT * from master_set_node_property('localhost', 57637, 'shouldhaveshards', false); @@ -164,5 +200,7 @@ step s1-commit: COMMIT; master_remove_node +--------------------------------------------------------------------- +(1 row) diff --git a/src/test/regress/expected/isolation_transaction_recovery.out b/src/test/regress/expected/isolation_transaction_recovery.out index 0fe10c1e2..17f3696fc 100644 --- a/src/test/regress/expected/isolation_transaction_recovery.out +++ b/src/test/regress/expected/isolation_transaction_recovery.out @@ -2,7 +2,9 @@ Parsed test spec with 2 sessions starting permutation: s1-begin s1-recover s2-insert s1-commit create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -11,8 +13,10 @@ step s1-recover: SELECT recover_prepared_transactions(); recover_prepared_transactions +--------------------------------------------------------------------- + 0 +(1 row) -0 step s2-insert: INSERT INTO test_transaction_recovery VALUES (1,2); @@ -22,7 +26,9 @@ step s1-commit: starting permutation: s1-begin s1-recover s2-recover s1-commit create_reference_table +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -31,8 +37,10 @@ step s1-recover: SELECT recover_prepared_transactions(); recover_prepared_transactions +--------------------------------------------------------------------- + 0 +(1 row) -0 step s2-recover: SELECT recover_prepared_transactions(); @@ -41,5 +49,7 @@ step s1-commit: step s2-recover: <... completed> recover_prepared_transactions +--------------------------------------------------------------------- + 0 +(1 row) -0 diff --git a/src/test/regress/expected/isolation_truncate_vs_all.out b/src/test/regress/expected/isolation_truncate_vs_all.out index 607e3a5d1..36b27b4c1 100644 --- a/src/test/regress/expected/isolation_truncate_vs_all.out +++ b/src/test/regress/expected/isolation_truncate_vs_all.out @@ -2,7 +2,9 @@ Parsed test spec with 2 sessions starting permutation: s1-initialize s1-begin s2-begin s1-truncate s2-truncate s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -14,15 +16,21 @@ step s2-truncate: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM truncate_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-truncate s2-truncate s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -34,15 +42,21 @@ step s2-truncate: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM truncate_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-truncate s2-drop s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -55,12 +69,16 @@ step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM truncate_append; ERROR: relation "truncate_append" does not exist restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-truncate s2-ddl-create-index s1-commit s2-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -72,20 +90,28 @@ step s2-ddl-create-index: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM truncate_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''truncate_append%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-ddl-create-index s1-begin s2-begin s1-truncate s2-ddl-drop-index s1-commit s2-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-ddl-create-index: CREATE INDEX truncate_append_index ON truncate_append(id); @@ -98,20 +124,28 @@ step s2-ddl-drop-index: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM truncate_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''truncate_append%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s1-truncate s2-ddl-create-index-concurrently s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -121,20 +155,28 @@ step s1-commit: COMMIT; step s2-ddl-create-index-concurrently: <... completed> step s1-select-count: SELECT COUNT(*) FROM truncate_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''truncate_append%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-truncate s2-ddl-add-column s1-commit s2-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -146,20 +188,28 @@ step s2-ddl-add-column: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM truncate_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''truncate_append%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-ddl-add-column s1-begin s2-begin s1-truncate s2-ddl-drop-column s1-commit s2-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-ddl-add-column: ALTER TABLE truncate_append ADD new_column int DEFAULT 0; @@ -172,20 +222,28 @@ step s2-ddl-drop-column: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM truncate_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''truncate_append%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-truncate s2-ddl-rename-column s1-commit s2-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -197,20 +255,28 @@ step s2-ddl-rename-column: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM truncate_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''truncate_append%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-truncate s2-table-size s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -220,20 +286,28 @@ step s2-table-size: SELECT citus_total_relation_size('truncate_append'); citus_total_relation_size +--------------------------------------------------------------------- + 0 +(1 row) -0 step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM truncate_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-truncate s2-master-modify-multiple-shards s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -245,15 +319,21 @@ step s2-master-modify-multiple-shards: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM truncate_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-truncate s2-master-apply-delete-command s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -263,20 +343,28 @@ step s2-master-apply-delete-command: SELECT master_apply_delete_command('DELETE step s1-commit: COMMIT; step s2-master-apply-delete-command: <... completed> master_apply_delete_command +--------------------------------------------------------------------- + 0 +(1 row) -0 step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM truncate_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-truncate s2-master-drop-all-shards s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -286,20 +374,28 @@ step s2-master-drop-all-shards: SELECT citus_drop_all_shards('truncate_append':: step s1-commit: COMMIT; step s2-master-drop-all-shards: <... completed> citus_drop_all_shards +--------------------------------------------------------------------- + 0 +(1 row) -0 step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM truncate_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-drop s1-create-non-distributed-table s1-begin s2-begin s1-truncate s2-distribute-table s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop: DROP TABLE truncate_append; step s1-create-non-distributed-table: CREATE TABLE truncate_append(id integer, data text); @@ -310,20 +406,28 @@ step s2-distribute-table: SELECT create_distributed_table('truncate_append', 'id step s1-commit: COMMIT; step s2-distribute-table: <... completed> create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM truncate_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-truncate s2-truncate s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -335,15 +439,21 @@ step s2-truncate: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM truncate_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-drop s2-truncate s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -357,12 +467,16 @@ step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM truncate_append; ERROR: relation "truncate_append" does not exist restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-ddl-create-index s2-truncate s1-commit s2-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -374,20 +488,28 @@ step s2-truncate: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM truncate_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''truncate_append%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-ddl-create-index s1-begin s2-begin s1-ddl-drop-index s2-truncate s1-commit s2-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-ddl-create-index: CREATE INDEX truncate_append_index ON truncate_append(id); @@ -400,20 +522,28 @@ step s2-truncate: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM truncate_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''truncate_append%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-ddl-add-column s2-truncate s1-commit s2-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -425,20 +555,28 @@ step s2-truncate: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM truncate_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''truncate_append%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-ddl-add-column s1-begin s2-begin s1-ddl-drop-column s2-truncate s1-commit s2-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-ddl-add-column: ALTER TABLE truncate_append ADD new_column int DEFAULT 0; @@ -451,20 +589,28 @@ step s2-truncate: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM truncate_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''truncate_append%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-ddl-rename-column s2-truncate s1-commit s2-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -476,42 +622,58 @@ step s2-truncate: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM truncate_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''truncate_append%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-table-size s2-truncate s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-table-size: SELECT citus_total_relation_size('truncate_append'); citus_total_relation_size +--------------------------------------------------------------------- + 32768 +(1 row) -32768 step s2-truncate: TRUNCATE truncate_append; step s1-commit: COMMIT; step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM truncate_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-master-modify-multiple-shards s2-truncate s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -523,61 +685,83 @@ step s2-truncate: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM truncate_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-master-apply-delete-command s2-truncate s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-master-apply-delete-command: SELECT master_apply_delete_command('DELETE FROM truncate_append WHERE id <= 4;'); master_apply_delete_command +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-truncate: TRUNCATE truncate_append; step s1-commit: COMMIT; step s2-truncate: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM truncate_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-master-drop-all-shards s2-truncate s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-master-drop-all-shards: SELECT citus_drop_all_shards('truncate_append'::regclass, 'public', 'truncate_append'); citus_drop_all_shards +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-truncate: TRUNCATE truncate_append; step s1-commit: COMMIT; step s2-truncate: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM truncate_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-drop s1-create-non-distributed-table s1-begin s2-begin s1-distribute-table s2-truncate s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop: DROP TABLE truncate_append; step s1-create-non-distributed-table: CREATE TABLE truncate_append(id integer, data text); @@ -585,7 +769,9 @@ step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-distribute-table: SELECT create_distributed_table('truncate_append', 'id', 'append'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-truncate: TRUNCATE truncate_append; step s1-commit: COMMIT; @@ -593,8 +779,12 @@ step s2-truncate: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM truncate_append; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) diff --git a/src/test/regress/expected/isolation_truncate_vs_all_on_mx.out b/src/test/regress/expected/isolation_truncate_vs_all_on_mx.out index 46f883ccf..e946a0025 100644 --- a/src/test/regress/expected/isolation_truncate_vs_all_on_mx.out +++ b/src/test/regress/expected/isolation_truncate_vs_all_on_mx.out @@ -5,31 +5,41 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-truncate: SELECT run_commands_on_session_level_connection_to_node('TRUNCATE truncate_table'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-truncate: SELECT run_commands_on_session_level_connection_to_node('TRUNCATE truncate_table'); @@ -38,38 +48,52 @@ step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-truncate: <... completed> run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM truncate_table; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-select s2-start-session-level-connection s2-begin-on-worker s2-truncate s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count @@ -77,31 +101,41 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-select: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM truncate_table WHERE id = 6'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-truncate: SELECT run_commands_on_session_level_connection_to_node('TRUNCATE truncate_table'); @@ -110,38 +144,52 @@ step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-truncate: <... completed> run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM truncate_table; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-insert-select s2-start-session-level-connection s2-begin-on-worker s2-truncate s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count @@ -149,31 +197,41 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-insert-select: SELECT run_commands_on_session_level_connection_to_node('INSERT INTO truncate_table SELECT * FROM truncate_table'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-truncate: SELECT run_commands_on_session_level_connection_to_node('TRUNCATE truncate_table'); @@ -182,38 +240,52 @@ step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-truncate: <... completed> run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM truncate_table; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-delete s2-start-session-level-connection s2-begin-on-worker s2-truncate s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count @@ -221,31 +293,41 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-delete: SELECT run_commands_on_session_level_connection_to_node('DELETE FROM truncate_table WHERE id IN (5, 6, 7)'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-truncate: SELECT run_commands_on_session_level_connection_to_node('TRUNCATE truncate_table'); @@ -254,38 +336,52 @@ step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-truncate: <... completed> run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM truncate_table; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-copy s2-start-session-level-connection s2-begin-on-worker s2-truncate s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count @@ -293,31 +389,41 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-copy: SELECT run_commands_on_session_level_connection_to_node('COPY truncate_table FROM PROGRAM ''echo 5, 50 && echo 9, 90 && echo 10, 100''WITH CSV'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-truncate: SELECT run_commands_on_session_level_connection_to_node('TRUNCATE truncate_table'); @@ -326,38 +432,52 @@ step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-truncate: <... completed> run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM truncate_table; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-begin s1-alter s2-start-session-level-connection s2-begin-on-worker s2-truncate s1-commit s2-commit-worker s2-stop-connection s3-select-count @@ -371,13 +491,17 @@ step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-truncate: SELECT run_commands_on_session_level_connection_to_node('TRUNCATE truncate_table'); @@ -387,28 +511,38 @@ step s1-commit: step s2-truncate: <... completed> run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM truncate_table; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-select-for-update s2-start-session-level-connection s2-begin-on-worker s2-truncate s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count @@ -416,31 +550,41 @@ step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-select-for-update: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM truncate_table WHERE id=5 FOR UPDATE'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-truncate: SELECT run_commands_on_session_level_connection_to_node('TRUNCATE truncate_table'); @@ -449,36 +593,50 @@ step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-truncate: <... completed> run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM truncate_table; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) diff --git a/src/test/regress/expected/isolation_undistribute_table.out b/src/test/regress/expected/isolation_undistribute_table.out index 5e34a7fe8..185af05c5 100644 --- a/src/test/regress/expected/isolation_undistribute_table.out +++ b/src/test/regress/expected/isolation_undistribute_table.out @@ -8,7 +8,9 @@ step s1-undistribute: SELECT undistribute_table('dist_table'); undistribute_table +--------------------------------------------------------------------- +(1 row) step s2-undistribute: SELECT undistribute_table('dist_table'); @@ -27,7 +29,9 @@ step s1-undistribute: SELECT undistribute_table('dist_table'); undistribute_table +--------------------------------------------------------------------- +(1 row) step s2-select: SELECT * FROM dist_table ORDER BY 1, 2; @@ -36,11 +40,13 @@ step s1-commit: COMMIT; step s2-select: <... completed> -a b +a|b +--------------------------------------------------------------------- +1|2 +3|4 +5|6 +(3 rows) -1 2 -3 4 -5 6 starting permutation: s1-begin s1-undistribute s2-insert s1-commit s2-select step s1-begin: @@ -50,7 +56,9 @@ step s1-undistribute: SELECT undistribute_table('dist_table'); undistribute_table +--------------------------------------------------------------------- +(1 row) step s2-insert: INSERT INTO dist_table VALUES (7, 8), (9, 10); @@ -62,13 +70,15 @@ step s2-insert: <... completed> step s2-select: SELECT * FROM dist_table ORDER BY 1, 2; -a b +a| b +--------------------------------------------------------------------- +1| 2 +3| 4 +5| 6 +7| 8 +9|10 +(5 rows) -1 2 -3 4 -5 6 -7 8 -9 10 starting permutation: s1-begin s1-undistribute s2-insert-select s1-commit s2-select step s1-begin: @@ -78,7 +88,9 @@ step s1-undistribute: SELECT undistribute_table('dist_table'); undistribute_table +--------------------------------------------------------------------- +(1 row) step s2-insert-select: INSERT INTO dist_table SELECT * FROM dist_table; @@ -90,14 +102,16 @@ step s2-insert-select: <... completed> step s2-select: SELECT * FROM dist_table ORDER BY 1, 2; -a b +a|b +--------------------------------------------------------------------- +1|2 +1|2 +3|4 +3|4 +5|6 +5|6 +(6 rows) -1 2 -1 2 -3 4 -3 4 -5 6 -5 6 starting permutation: s1-begin s1-undistribute s2-delete s1-commit s2-select step s1-begin: @@ -107,7 +121,9 @@ step s1-undistribute: SELECT undistribute_table('dist_table'); undistribute_table +--------------------------------------------------------------------- +(1 row) step s2-delete: DELETE FROM dist_table WHERE a = 3; @@ -119,10 +135,12 @@ step s2-delete: <... completed> step s2-select: SELECT * FROM dist_table ORDER BY 1, 2; -a b +a|b +--------------------------------------------------------------------- +1|2 +5|6 +(2 rows) -1 2 -5 6 starting permutation: s1-begin s1-undistribute s2-copy s1-commit s2-select step s1-begin: @@ -132,7 +150,9 @@ step s1-undistribute: SELECT undistribute_table('dist_table'); undistribute_table +--------------------------------------------------------------------- +(1 row) step s2-copy: COPY dist_table FROM PROGRAM 'echo 11, 12 && echo 13, 14' WITH CSV; @@ -144,13 +164,15 @@ step s2-copy: <... completed> step s2-select: SELECT * FROM dist_table ORDER BY 1, 2; -a b + a| b +--------------------------------------------------------------------- + 1| 2 + 3| 4 + 5| 6 +11|12 +13|14 +(5 rows) -1 2 -3 4 -5 6 -11 12 -13 14 starting permutation: s1-begin s1-undistribute s2-drop s1-commit s2-select step s1-begin: @@ -160,7 +182,9 @@ step s1-undistribute: SELECT undistribute_table('dist_table'); undistribute_table +--------------------------------------------------------------------- +(1 row) step s2-drop: DROP TABLE dist_table; @@ -182,7 +206,9 @@ step s1-undistribute: SELECT undistribute_table('dist_table'); undistribute_table +--------------------------------------------------------------------- +(1 row) step s2-truncate: TRUNCATE dist_table; @@ -194,7 +220,9 @@ step s2-truncate: <... completed> step s2-select: SELECT * FROM dist_table ORDER BY 1, 2; -a b +a|b +--------------------------------------------------------------------- +(0 rows) starting permutation: s1-begin s1-undistribute s2-select-for-update s1-commit @@ -205,7 +233,9 @@ step s1-undistribute: SELECT undistribute_table('dist_table'); undistribute_table +--------------------------------------------------------------------- +(1 row) step s2-select-for-update: SELECT * FROM dist_table WHERE a = 5 FOR UPDATE; @@ -214,9 +244,11 @@ step s1-commit: COMMIT; step s2-select-for-update: <... completed> -a b +a|b +--------------------------------------------------------------------- +5|6 +(1 row) -5 6 starting permutation: s1-begin s1-undistribute s2-create-index-concurrently s1-commit step s1-begin: @@ -226,7 +258,9 @@ step s1-undistribute: SELECT undistribute_table('dist_table'); undistribute_table +--------------------------------------------------------------------- +(1 row) step s2-create-index-concurrently: CREATE INDEX CONCURRENTLY idx ON dist_table (a); diff --git a/src/test/regress/expected/isolation_update_delete_upsert_vs_all_on_mx.out b/src/test/regress/expected/isolation_update_delete_upsert_vs_all_on_mx.out index 8b066e216..ae3223ca7 100644 --- a/src/test/regress/expected/isolation_update_delete_upsert_vs_all_on_mx.out +++ b/src/test/regress/expected/isolation_update_delete_upsert_vs_all_on_mx.out @@ -2,185 +2,249 @@ Parsed test spec with 3 sessions starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-update s2-start-session-level-connection s2-begin-on-worker s2-delete s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-update: SELECT run_commands_on_session_level_connection_to_node('UPDATE dist_table SET value=15 WHERE id=5'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-delete: SELECT run_commands_on_session_level_connection_to_node('DELETE FROM dist_table WHERE id=5'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM dist_table; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-delete s2-start-session-level-connection s2-begin-on-worker s2-copy s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-delete: SELECT run_commands_on_session_level_connection_to_node('DELETE FROM dist_table WHERE id=5'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-copy: SELECT run_commands_on_session_level_connection_to_node('COPY dist_table FROM PROGRAM ''echo 5, 50 && echo 9, 90 && echo 10, 100''WITH CSV'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM dist_table; count +--------------------------------------------------------------------- + 3 +(1 row) -3 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-update s2-start-session-level-connection s2-begin-on-worker s2-alter-table s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-update: SELECT run_commands_on_session_level_connection_to_node('UPDATE dist_table SET value=15 WHERE id=5'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-alter-table: ALTER TABLE dist_table DROP value; @@ -189,101 +253,137 @@ step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-alter-table: <... completed> step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: SELECT COUNT(*) FROM dist_table; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-update s2-start-session-level-connection s2-begin-on-worker s2-select-for-update s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57637); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-update: SELECT run_commands_on_session_level_connection_to_node('UPDATE dist_table SET value=15 WHERE id=5'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-start-session-level-connection: SELECT start_session_level_connection_to_node('localhost', 57638); start_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-begin-on-worker: SELECT run_commands_on_session_level_connection_to_node('BEGIN'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-select-for-update: SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM dist_table WHERE id=5 FOR UPDATE'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit-worker: SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s1-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-stop-connection: SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) diff --git a/src/test/regress/expected/isolation_update_node.out b/src/test/regress/expected/isolation_update_node.out index 23602b509..e7ab1adcc 100644 --- a/src/test/regress/expected/isolation_update_node.out +++ b/src/test/regress/expected/isolation_update_node.out @@ -1,10 +1,12 @@ Parsed test spec with 2 sessions starting permutation: s1-begin s1-update-node-1 s2-update-node-2 s1-commit s1-show-nodes -nodeid nodename nodeport +nodeid|nodename |nodeport +--------------------------------------------------------------------- + 22|localhost| 57637 + 23|localhost| 57638 +(2 rows) -22 localhost 57637 -23 localhost 57638 step s1-begin: BEGIN; @@ -15,8 +17,10 @@ step s1-update-node-1: 58637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-update-node-2: SELECT 1 FROM master_update_node( (select nodeid from pg_dist_node where nodeport = 57638), @@ -28,25 +32,33 @@ step s1-commit: step s2-update-node-2: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-show-nodes: SELECT nodeid, nodename, nodeport, isactive FROM pg_dist_node ORDER BY nodename, nodeport; -nodeid nodename nodeport isactive +nodeid|nodename |nodeport|isactive +--------------------------------------------------------------------- + 22|localhost| 58637|t + 23|localhost| 58638|t +(2 rows) -22 localhost 58637 t -23 localhost 58638 t -nodeid nodename nodeport +nodeid|nodename|nodeport +--------------------------------------------------------------------- +(0 rows) starting permutation: s1-begin s1-update-node-1 s2-begin s2-update-node-1 s1-commit s2-abort s1-show-nodes -nodeid nodename nodeport +nodeid|nodename |nodeport +--------------------------------------------------------------------- + 24|localhost| 57637 + 25|localhost| 57638 +(2 rows) -24 localhost 57637 -25 localhost 57638 step s1-begin: BEGIN; @@ -57,8 +69,10 @@ step s1-update-node-1: 58637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-begin: BEGIN; @@ -73,8 +87,10 @@ step s1-commit: step s2-update-node-1: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-abort: ABORT; @@ -83,18 +99,24 @@ step s1-show-nodes: FROM pg_dist_node ORDER BY nodename, nodeport; -nodeid nodename nodeport isactive +nodeid|nodename |nodeport|isactive +--------------------------------------------------------------------- + 25|localhost| 57638|t + 24|localhost| 58637|t +(2 rows) -25 localhost 57638 t -24 localhost 58637 t -nodeid nodename nodeport +nodeid|nodename|nodeport +--------------------------------------------------------------------- +(0 rows) starting permutation: s1-begin s1-update-node-1 s2-start-metadata-sync-node-2 s1-commit s2-verify-metadata -nodeid nodename nodeport +nodeid|nodename |nodeport +--------------------------------------------------------------------- + 26|localhost| 57637 + 27|localhost| 57638 +(2 rows) -26 localhost 57637 -27 localhost 57638 step s1-begin: BEGIN; @@ -105,8 +127,10 @@ step s1-update-node-1: 58637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-start-metadata-sync-node-2: SELECT start_metadata_sync_to_node('localhost', 57638); @@ -115,7 +139,9 @@ step s1-commit: step s2-start-metadata-sync-node-2: <... completed> start_metadata_sync_to_node +--------------------------------------------------------------------- +(1 row) step s2-verify-metadata: SELECT nodeid, groupid, nodename, nodeport FROM pg_dist_node ORDER BY nodeid; @@ -124,27 +150,37 @@ step s2-verify-metadata: ARRAY['SELECT jsonb_agg(ROW(nodeid, groupid, nodename, nodeport) ORDER BY nodeid) FROM pg_dist_node'], false); -nodeid groupid nodename nodeport +nodeid|groupid|nodename |nodeport +--------------------------------------------------------------------- + 26| 26|localhost| 58637 + 27| 27|localhost| 57638 +(2 rows) -26 26 localhost 58637 -27 27 localhost 57638 master_run_on_worker - +--------------------------------------------------------------------- (localhost,57638,t,"[{""f1"": 26, ""f2"": 26, ""f3"": ""localhost"", ""f4"": 58637}, {""f1"": 27, ""f2"": 27, ""f3"": ""localhost"", ""f4"": 57638}]") -nodeid nodename nodeport +(1 row) + +nodeid|nodename|nodeport +--------------------------------------------------------------------- +(0 rows) starting permutation: s2-create-table s1-begin s1-update-node-nonexistent s1-prepare-transaction s2-cache-prepared-statement s1-commit-prepared s2-execute-prepared s1-update-node-existent s2-drop-table -nodeid nodename nodeport +nodeid|nodename |nodeport +--------------------------------------------------------------------- + 28|localhost| 57637 + 29|localhost| 57638 +(2 rows) -28 localhost 57637 -29 localhost 57638 step s2-create-table: CREATE TABLE test (a int); SELECT create_distributed_table('test','a'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -156,8 +192,10 @@ step s1-update-node-nonexistent: 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-prepare-transaction: PREPARE transaction 'label'; @@ -171,23 +209,35 @@ step s2-cache-prepared-statement: EXECUTE foo; count +--------------------------------------------------------------------- + 0 +(1 row) -0 count +--------------------------------------------------------------------- + 0 +(1 row) -0 count +--------------------------------------------------------------------- + 0 +(1 row) -0 count +--------------------------------------------------------------------- + 0 +(1 row) -0 count +--------------------------------------------------------------------- + 0 +(1 row) -0 count +--------------------------------------------------------------------- + 0 +(1 row) -0 step s1-commit-prepared: COMMIT prepared 'label'; @@ -196,8 +246,10 @@ step s2-execute-prepared: EXECUTE foo; count +--------------------------------------------------------------------- + 0 +(1 row) -0 step s1-update-node-existent: SELECT 1 FROM master_update_node( (select nodeid from pg_dist_node where nodeport = 57637), @@ -205,10 +257,14 @@ step s1-update-node-existent: 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-drop-table: DROP TABLE test; -nodeid nodename nodeport +nodeid|nodename|nodeport +--------------------------------------------------------------------- +(0 rows) diff --git a/src/test/regress/expected/isolation_update_node_lock_writes.out b/src/test/regress/expected/isolation_update_node_lock_writes.out index 4b471d268..61131ffbe 100644 --- a/src/test/regress/expected/isolation_update_node_lock_writes.out +++ b/src/test/regress/expected/isolation_update_node_lock_writes.out @@ -2,7 +2,9 @@ Parsed test spec with 2 sessions starting permutation: s1-begin s1-update-node-1 s2-begin s2-insert s1-commit s2-abort create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -14,8 +16,10 @@ step s1-update-node-1: 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-begin: BEGIN; @@ -32,12 +36,16 @@ ERROR: relation "public.update_node_102012" does not exist step s2-abort: ABORT; -nodeid nodename nodeport +nodeid|nodename|nodeport +--------------------------------------------------------------------- +(0 rows) starting permutation: s2-begin s2-insert s1-update-node-1 s2-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-begin: BEGIN; @@ -58,7 +66,11 @@ step s2-commit: step s1-update-node-1: <... completed> ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 -nodeid nodename nodeport +nodeid|nodename|nodeport +--------------------------------------------------------------------- +(0 rows) diff --git a/src/test/regress/expected/isolation_update_vs_all.out b/src/test/regress/expected/isolation_update_vs_all.out index ea81436ef..699d2cd45 100644 --- a/src/test/regress/expected/isolation_update_vs_all.out +++ b/src/test/regress/expected/isolation_update_vs_all.out @@ -2,7 +2,9 @@ Parsed test spec with 2 sessions starting permutation: s1-initialize s1-begin s2-begin s1-update s2-update s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -14,41 +16,57 @@ step s2-update: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-update-cte s2-update-cte s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-update-cte: WITH cte AS (UPDATE update_hash SET data = 'l' WHERE id = 4 RETURNING *) SELECT * FROM cte WHERE id = 4; -id data +id|data +--------------------------------------------------------------------- + 4|l +(1 row) -4 l step s2-update-cte: WITH cte AS (UPDATE update_hash SET data = 'l' WHERE id = 4 RETURNING *) SELECT * FROM cte WHERE id = 4; step s1-commit: COMMIT; step s2-update-cte: <... completed> -id data +id|data +--------------------------------------------------------------------- + 4|l +(1 row) -4 l step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-update s2-delete s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -60,15 +78,21 @@ step s2-delete: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 4 +(1 row) -4 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-update s2-truncate s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -80,15 +104,21 @@ step s2-truncate: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-update s2-drop s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -101,12 +131,16 @@ step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; ERROR: relation "update_hash" does not exist restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-update s2-ddl-create-index s1-commit s2-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -118,20 +152,28 @@ step s2-ddl-create-index: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''update_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-ddl-create-index s1-begin s2-begin s1-update s2-ddl-drop-index s1-commit s2-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-ddl-create-index: CREATE INDEX update_hash_index ON update_hash(id); @@ -144,20 +186,28 @@ step s2-ddl-drop-index: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''update_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s1-update s2-ddl-create-index-concurrently s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -167,20 +217,28 @@ step s1-commit: COMMIT; step s2-ddl-create-index-concurrently: <... completed> step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''update_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-update s2-ddl-add-column s1-commit s2-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -192,20 +250,28 @@ step s2-ddl-add-column: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''update_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-ddl-add-column s1-begin s2-begin s1-update s2-ddl-drop-column s1-commit s2-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-ddl-add-column: ALTER TABLE update_hash ADD new_column int DEFAULT 0; @@ -218,20 +284,28 @@ step s2-ddl-drop-column: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''update_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-update s2-ddl-rename-column s1-commit s2-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -243,20 +317,28 @@ step s2-ddl-rename-column: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''update_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-update s2-table-size s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -264,21 +346,29 @@ step s2-begin: BEGIN; step s1-update: UPDATE update_hash SET data = 'l' WHERE id = 4; step s2-table-size: SELECT citus_total_relation_size('update_hash'); citus_total_relation_size +--------------------------------------------------------------------- + 57344 +(1 row) -57344 step s1-commit: COMMIT; step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-update s2-master-modify-multiple-shards s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -290,15 +380,21 @@ step s2-master-modify-multiple-shards: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s2-begin s1-update s2-distribute-table s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop: DROP TABLE update_hash; step s1-create-non-distributed-table: CREATE TABLE update_hash(id integer, data text); COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -310,74 +406,100 @@ step s2-distribute-table: SELECT create_distributed_table('update_hash', 'id'); step s1-commit: COMMIT; step s2-distribute-table: <... completed> create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-update-cte s2-delete s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-update-cte: WITH cte AS (UPDATE update_hash SET data = 'l' WHERE id = 4 RETURNING *) SELECT * FROM cte WHERE id = 4; -id data +id|data +--------------------------------------------------------------------- + 4|l +(1 row) -4 l step s2-delete: DELETE FROM update_hash WHERE id = 4; step s1-commit: COMMIT; step s2-delete: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 4 +(1 row) -4 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-update-cte s2-truncate s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-update-cte: WITH cte AS (UPDATE update_hash SET data = 'l' WHERE id = 4 RETURNING *) SELECT * FROM cte WHERE id = 4; -id data +id|data +--------------------------------------------------------------------- + 4|l +(1 row) -4 l step s2-truncate: TRUNCATE update_hash; step s1-commit: COMMIT; step s2-truncate: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-update-cte s2-drop s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-update-cte: WITH cte AS (UPDATE update_hash SET data = 'l' WHERE id = 4 RETURNING *) SELECT * FROM cte WHERE id = 4; -id data +id|data +--------------------------------------------------------------------- + 4|l +(1 row) -4 l step s2-drop: DROP TABLE update_hash; step s1-commit: COMMIT; step s2-drop: <... completed> @@ -385,228 +507,310 @@ step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; ERROR: relation "update_hash" does not exist restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-update-cte s2-ddl-create-index s1-commit s2-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-update-cte: WITH cte AS (UPDATE update_hash SET data = 'l' WHERE id = 4 RETURNING *) SELECT * FROM cte WHERE id = 4; -id data +id|data +--------------------------------------------------------------------- + 4|l +(1 row) -4 l step s2-ddl-create-index: CREATE INDEX update_hash_index ON update_hash(id); step s1-commit: COMMIT; step s2-ddl-create-index: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''update_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-ddl-create-index s1-begin s2-begin s1-update-cte s2-ddl-drop-index s1-commit s2-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-ddl-create-index: CREATE INDEX update_hash_index ON update_hash(id); step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-update-cte: WITH cte AS (UPDATE update_hash SET data = 'l' WHERE id = 4 RETURNING *) SELECT * FROM cte WHERE id = 4; -id data +id|data +--------------------------------------------------------------------- + 4|l +(1 row) -4 l step s2-ddl-drop-index: DROP INDEX update_hash_index; step s1-commit: COMMIT; step s2-ddl-drop-index: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''update_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s1-update-cte s2-ddl-create-index-concurrently s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; step s1-update-cte: WITH cte AS (UPDATE update_hash SET data = 'l' WHERE id = 4 RETURNING *) SELECT * FROM cte WHERE id = 4; -id data +id|data +--------------------------------------------------------------------- + 4|l +(1 row) -4 l step s2-ddl-create-index-concurrently: CREATE INDEX CONCURRENTLY update_hash_index ON update_hash(id); step s1-commit: COMMIT; step s2-ddl-create-index-concurrently: <... completed> step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''update_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-update-cte s2-ddl-add-column s1-commit s2-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-update-cte: WITH cte AS (UPDATE update_hash SET data = 'l' WHERE id = 4 RETURNING *) SELECT * FROM cte WHERE id = 4; -id data +id|data +--------------------------------------------------------------------- + 4|l +(1 row) -4 l step s2-ddl-add-column: ALTER TABLE update_hash ADD new_column int DEFAULT 0; step s1-commit: COMMIT; step s2-ddl-add-column: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''update_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-ddl-add-column s1-begin s2-begin s1-update-cte s2-ddl-drop-column s1-commit s2-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-ddl-add-column: ALTER TABLE update_hash ADD new_column int DEFAULT 0; step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-update-cte: WITH cte AS (UPDATE update_hash SET data = 'l' WHERE id = 4 RETURNING *) SELECT * FROM cte WHERE id = 4; -id data new_column +id|data|new_column +--------------------------------------------------------------------- + 4|l | 0 +(1 row) -4 l 0 step s2-ddl-drop-column: ALTER TABLE update_hash DROP new_column; step s1-commit: COMMIT; step s2-ddl-drop-column: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''update_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-update-cte s2-ddl-rename-column s1-commit s2-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-update-cte: WITH cte AS (UPDATE update_hash SET data = 'l' WHERE id = 4 RETURNING *) SELECT * FROM cte WHERE id = 4; -id data +id|data +--------------------------------------------------------------------- + 4|l +(1 row) -4 l step s2-ddl-rename-column: ALTER TABLE update_hash RENAME data TO new_column; step s1-commit: COMMIT; step s2-ddl-rename-column: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''update_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-update-cte s2-table-size s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-update-cte: WITH cte AS (UPDATE update_hash SET data = 'l' WHERE id = 4 RETURNING *) SELECT * FROM cte WHERE id = 4; -id data +id|data +--------------------------------------------------------------------- + 4|l +(1 row) -4 l step s2-table-size: SELECT citus_total_relation_size('update_hash'); citus_total_relation_size +--------------------------------------------------------------------- + 57344 +(1 row) -57344 step s1-commit: COMMIT; step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-update-cte s2-master-modify-multiple-shards s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-update-cte: WITH cte AS (UPDATE update_hash SET data = 'l' WHERE id = 4 RETURNING *) SELECT * FROM cte WHERE id = 4; -id data +id|data +--------------------------------------------------------------------- + 4|l +(1 row) -4 l step s2-master-modify-multiple-shards: DELETE FROM update_hash; step s1-commit: COMMIT; step s2-master-modify-multiple-shards: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-delete s2-update s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -618,15 +822,21 @@ step s2-update: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 4 +(1 row) -4 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-truncate s2-update s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -638,15 +848,21 @@ step s2-update: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-drop s2-update s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -660,12 +876,16 @@ step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; ERROR: relation "update_hash" does not exist restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-ddl-create-index s2-update s1-commit s2-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -677,20 +897,28 @@ step s2-update: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''update_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-ddl-create-index s1-begin s2-begin s1-ddl-drop-index s2-update s1-commit s2-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-ddl-create-index: CREATE INDEX update_hash_index ON update_hash(id); @@ -703,20 +931,28 @@ step s2-update: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''update_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-ddl-add-column s2-update s1-commit s2-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -728,20 +964,28 @@ step s2-update: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''update_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-ddl-add-column s1-begin s2-begin s1-ddl-drop-column s2-update s1-commit s2-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-ddl-add-column: ALTER TABLE update_hash ADD new_column int DEFAULT 0; @@ -754,20 +998,28 @@ step s2-update: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''update_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-ddl-rename-column s2-update s1-commit s2-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -780,42 +1032,58 @@ ERROR: column "data" of relation "update_hash" does not exist step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''update_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-table-size s2-update s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-table-size: SELECT citus_total_relation_size('update_hash'); citus_total_relation_size +--------------------------------------------------------------------- + 57344 +(1 row) -57344 step s2-update: UPDATE update_hash SET data = 'l' WHERE id = 4; step s1-commit: COMMIT; step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-master-modify-multiple-shards s2-update s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -827,15 +1095,21 @@ step s2-update: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s2-begin s1-distribute-table s2-update s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop: DROP TABLE update_hash; step s1-create-non-distributed-table: CREATE TABLE update_hash(id integer, data text); COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -844,7 +1118,9 @@ step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-distribute-table: SELECT create_distributed_table('update_hash', 'id'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-update: UPDATE update_hash SET data = 'l' WHERE id = 4; step s1-commit: COMMIT; @@ -852,15 +1128,21 @@ step s2-update: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-delete s2-update-cte s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -869,20 +1151,28 @@ step s1-delete: DELETE FROM update_hash WHERE id = 4; step s2-update-cte: WITH cte AS (UPDATE update_hash SET data = 'l' WHERE id = 4 RETURNING *) SELECT * FROM cte WHERE id = 4; step s1-commit: COMMIT; step s2-update-cte: <... completed> -id data +id|data +--------------------------------------------------------------------- +(0 rows) step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 4 +(1 row) -4 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-truncate s2-update-cte s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -891,20 +1181,28 @@ step s1-truncate: TRUNCATE update_hash; step s2-update-cte: WITH cte AS (UPDATE update_hash SET data = 'l' WHERE id = 4 RETURNING *) SELECT * FROM cte WHERE id = 4; step s1-commit: COMMIT; step s2-update-cte: <... completed> -id data +id|data +--------------------------------------------------------------------- +(0 rows) step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-drop s2-update-cte s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -918,12 +1216,16 @@ step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; ERROR: relation "update_hash" does not exist restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-ddl-create-index s2-update-cte s1-commit s2-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -932,26 +1234,36 @@ step s1-ddl-create-index: CREATE INDEX update_hash_index ON update_hash(id); step s2-update-cte: WITH cte AS (UPDATE update_hash SET data = 'l' WHERE id = 4 RETURNING *) SELECT * FROM cte WHERE id = 4; step s1-commit: COMMIT; step s2-update-cte: <... completed> -id data +id|data +--------------------------------------------------------------------- + 4|l +(1 row) -4 l step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''update_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-ddl-create-index s1-begin s2-begin s1-ddl-drop-index s2-update-cte s1-commit s2-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-ddl-create-index: CREATE INDEX update_hash_index ON update_hash(id); @@ -961,26 +1273,36 @@ step s1-ddl-drop-index: DROP INDEX update_hash_index; step s2-update-cte: WITH cte AS (UPDATE update_hash SET data = 'l' WHERE id = 4 RETURNING *) SELECT * FROM cte WHERE id = 4; step s1-commit: COMMIT; step s2-update-cte: <... completed> -id data +id|data +--------------------------------------------------------------------- + 4|l +(1 row) -4 l step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''update_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,0) (localhost,57638,t,0) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-ddl-add-column s2-update-cte s1-commit s2-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -989,26 +1311,36 @@ step s1-ddl-add-column: ALTER TABLE update_hash ADD new_column int DEFAULT 0; step s2-update-cte: WITH cte AS (UPDATE update_hash SET data = 'l' WHERE id = 4 RETURNING *) SELECT * FROM cte WHERE id = 4; step s1-commit: COMMIT; step s2-update-cte: <... completed> -id data new_column +id|data|new_column +--------------------------------------------------------------------- + 4|l | 0 +(1 row) -4 l 0 step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''update_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-ddl-add-column s1-begin s2-begin s1-ddl-drop-column s2-update-cte s1-commit s2-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-ddl-add-column: ALTER TABLE update_hash ADD new_column int DEFAULT 0; @@ -1018,26 +1350,36 @@ step s1-ddl-drop-column: ALTER TABLE update_hash DROP new_column; step s2-update-cte: WITH cte AS (UPDATE update_hash SET data = 'l' WHERE id = 4 RETURNING *) SELECT * FROM cte WHERE id = 4; step s1-commit: COMMIT; step s2-update-cte: <... completed> -id data +id|data +--------------------------------------------------------------------- + 4|l +(1 row) -4 l step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''update_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-ddl-rename-column s2-update-cte s1-commit s2-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -1050,45 +1392,63 @@ ERROR: column "data" of relation "update_hash" does not exist step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''update_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-table-size s2-update-cte s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-table-size: SELECT citus_total_relation_size('update_hash'); citus_total_relation_size +--------------------------------------------------------------------- + 57344 +(1 row) -57344 step s2-update-cte: WITH cte AS (UPDATE update_hash SET data = 'l' WHERE id = 4 RETURNING *) SELECT * FROM cte WHERE id = 4; -id data +id|data +--------------------------------------------------------------------- + 4|l +(1 row) -4 l step s1-commit: COMMIT; step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-master-modify-multiple-shards s2-update-cte s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -1097,20 +1457,28 @@ step s1-master-modify-multiple-shards: DELETE FROM update_hash; step s2-update-cte: WITH cte AS (UPDATE update_hash SET data = 'l' WHERE id = 4 RETURNING *) SELECT * FROM cte WHERE id = 4; step s1-commit: COMMIT; step s2-update-cte: <... completed> -id data +id|data +--------------------------------------------------------------------- +(0 rows) step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s2-begin s1-distribute-table s2-update-cte s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop: DROP TABLE update_hash; step s1-create-non-distributed-table: CREATE TABLE update_hash(id integer, data text); COPY update_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; @@ -1119,20 +1487,28 @@ step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-distribute-table: SELECT create_distributed_table('update_hash', 'id'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-update-cte: WITH cte AS (UPDATE update_hash SET data = 'l' WHERE id = 4 RETURNING *) SELECT * FROM cte WHERE id = 4; step s1-commit: COMMIT; step s2-update-cte: <... completed> -id data +id|data +--------------------------------------------------------------------- + 4|l + 4|l +(2 rows) -4 l -4 l step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM update_hash; count +--------------------------------------------------------------------- + 10 +(1 row) -10 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) diff --git a/src/test/regress/expected/isolation_upsert_vs_all.out b/src/test/regress/expected/isolation_upsert_vs_all.out index 6243eb3c4..6ff827812 100644 --- a/src/test/regress/expected/isolation_upsert_vs_all.out +++ b/src/test/regress/expected/isolation_upsert_vs_all.out @@ -2,7 +2,9 @@ Parsed test spec with 2 sessions starting permutation: s1-initialize s1-begin s2-begin s1-upsert s2-upsert s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -14,15 +16,21 @@ step s2-upsert: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM upsert_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-upsert s2-update s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -34,15 +42,21 @@ step s2-update: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM upsert_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-upsert s2-delete s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -54,15 +68,21 @@ step s2-delete: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM upsert_hash; count +--------------------------------------------------------------------- + 4 +(1 row) -4 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-upsert s2-truncate s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -74,15 +94,21 @@ step s2-truncate: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM upsert_hash; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-upsert s2-drop s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -95,12 +121,16 @@ step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM upsert_hash; ERROR: relation "upsert_hash" does not exist restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-upsert s2-ddl-create-index s1-commit s2-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -112,20 +142,28 @@ step s2-ddl-create-index: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM upsert_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''upsert_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,4) (localhost,57638,t,4) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-ddl-create-index s1-begin s2-begin s1-upsert s2-ddl-drop-index s1-commit s2-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-ddl-create-index: CREATE INDEX upsert_hash_index ON upsert_hash(id); @@ -138,20 +176,28 @@ step s2-ddl-drop-index: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM upsert_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''upsert_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s1-upsert s2-ddl-create-index-concurrently s1-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -161,20 +207,28 @@ step s1-commit: COMMIT; step s2-ddl-create-index-concurrently: <... completed> step s1-select-count: SELECT COUNT(*) FROM upsert_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''upsert_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,4) (localhost,57638,t,4) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-upsert s2-ddl-add-column s1-commit s2-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -186,20 +240,28 @@ step s2-ddl-add-column: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM upsert_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''upsert_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-ddl-add-column s1-begin s2-begin s1-upsert s2-ddl-drop-column s1-commit s2-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-ddl-add-column: ALTER TABLE upsert_hash ADD new_column int DEFAULT 0; @@ -212,20 +274,28 @@ step s2-ddl-drop-column: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM upsert_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''upsert_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-upsert s2-ddl-rename-column s1-commit s2-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -237,20 +307,28 @@ step s2-ddl-rename-column: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM upsert_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''upsert_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-upsert s2-table-size s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -258,21 +336,29 @@ step s2-begin: BEGIN; step s1-upsert: INSERT INTO upsert_hash VALUES(4, 'k') ON CONFLICT(id) DO UPDATE SET data = 'k'; step s2-table-size: SELECT citus_total_relation_size('upsert_hash'); citus_total_relation_size +--------------------------------------------------------------------- + 114688 +(1 row) -114688 step s1-commit: COMMIT; step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM upsert_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-upsert s2-master-modify-multiple-shards s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -284,15 +370,21 @@ step s2-master-modify-multiple-shards: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM upsert_hash; count +--------------------------------------------------------------------- + 0 +(1 row) -0 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s2-begin s1-upsert s2-distribute-table s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-drop: DROP TABLE upsert_hash; step s1-create-non-distributed-table: CREATE TABLE upsert_hash(id integer PRIMARY KEY, data text); @@ -304,20 +396,28 @@ step s2-distribute-table: SELECT create_distributed_table('upsert_hash', 'id'); step s1-commit: COMMIT; step s2-distribute-table: <... completed> create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM upsert_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-update s2-upsert s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -329,15 +429,21 @@ step s2-upsert: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM upsert_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-delete s2-upsert s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -349,15 +455,21 @@ step s2-upsert: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM upsert_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-truncate s2-upsert s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -369,15 +481,21 @@ step s2-upsert: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM upsert_hash; count +--------------------------------------------------------------------- + 1 +(1 row) -1 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-drop s2-upsert s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -391,12 +509,16 @@ step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM upsert_hash; ERROR: relation "upsert_hash" does not exist restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-ddl-create-index s2-upsert s1-commit s2-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -408,20 +530,28 @@ step s2-upsert: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM upsert_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''upsert_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,4) (localhost,57638,t,4) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-ddl-create-index s1-begin s2-begin s1-ddl-drop-index s2-upsert s1-commit s2-commit s1-select-count s1-show-indexes create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-ddl-create-index: CREATE INDEX upsert_hash_index ON upsert_hash(id); @@ -434,20 +564,28 @@ step s2-upsert: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM upsert_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''upsert_hash%'''); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,2) (localhost,57638,t,2) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-ddl-add-column s2-upsert s1-commit s2-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -459,20 +597,28 @@ step s2-upsert: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM upsert_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''upsert_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-ddl-add-column s1-begin s2-begin s1-ddl-drop-column s2-upsert s1-commit s2-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-ddl-add-column: ALTER TABLE upsert_hash ADD new_column int DEFAULT 0; @@ -485,20 +631,28 @@ step s2-upsert: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM upsert_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''upsert_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,"") (localhost,57638,t,"") -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-ddl-rename-column s2-upsert s1-commit s2-commit s1-select-count s1-show-columns create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -511,42 +665,58 @@ ERROR: column "data" of relation "upsert_hash" does not exist step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM upsert_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''upsert_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1'); run_command_on_workers - +--------------------------------------------------------------------- (localhost,57637,t,new_column) (localhost,57638,t,new_column) -restore_isolation_tester_func +(2 rows) +restore_isolation_tester_func +--------------------------------------------------------------------- + +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-table-size s2-upsert s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; step s2-begin: BEGIN; step s1-table-size: SELECT citus_total_relation_size('upsert_hash'); citus_total_relation_size +--------------------------------------------------------------------- + 114688 +(1 row) -114688 step s2-upsert: INSERT INTO upsert_hash VALUES(4, 'k') ON CONFLICT(id) DO UPDATE SET data = 'k'; step s1-commit: COMMIT; step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM upsert_hash; count +--------------------------------------------------------------------- + 5 +(1 row) -5 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) starting permutation: s1-initialize s1-begin s2-begin s1-master-modify-multiple-shards s2-upsert s1-commit s2-commit s1-select-count create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; step s1-begin: BEGIN; @@ -558,8 +728,12 @@ step s2-upsert: <... completed> step s2-commit: COMMIT; step s1-select-count: SELECT COUNT(*) FROM upsert_hash; count +--------------------------------------------------------------------- + 1 +(1 row) -1 restore_isolation_tester_func +--------------------------------------------------------------------- +(1 row) diff --git a/src/test/regress/expected/isolation_validate_vs_insert.out b/src/test/regress/expected/isolation_validate_vs_insert.out index 7af0e764f..7344981e8 100644 --- a/src/test/regress/expected/isolation_validate_vs_insert.out +++ b/src/test/regress/expected/isolation_validate_vs_insert.out @@ -2,7 +2,9 @@ Parsed test spec with 2 sessions starting permutation: s1-initialize s1-add-constraint s1-begin s2-begin s1-validate s2-insert s1-commit s2-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: INSERT INTO constrained_table VALUES (0, 0), (1, 1), (2, 2), (3, 4); step s1-add-constraint: ALTER TABLE constrained_table ADD CONSTRAINT check_constraint CHECK(int_data<30) NOT VALID; @@ -15,7 +17,9 @@ step s2-commit: COMMIT; starting permutation: s1-initialize s1-add-constraint s1-begin s2-begin s1-validate s2-select s1-commit s2-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: INSERT INTO constrained_table VALUES (0, 0), (1, 1), (2, 2), (3, 4); step s1-add-constraint: ALTER TABLE constrained_table ADD CONSTRAINT check_constraint CHECK(int_data<30) NOT VALID; @@ -24,14 +28,18 @@ step s2-begin: BEGIN; step s1-validate: ALTER TABLE constrained_table VALIDATE CONSTRAINT check_constraint; step s2-select: SELECT sum(int_data) FROM constrained_table; sum +--------------------------------------------------------------------- + 7 +(1 row) -7 step s1-commit: COMMIT; step s2-commit: COMMIT; starting permutation: s1-initialize s1-add-constraint s1-begin s2-begin s2-insert s1-validate s1-commit s2-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: INSERT INTO constrained_table VALUES (0, 0), (1, 1), (2, 2), (3, 4); step s1-add-constraint: ALTER TABLE constrained_table ADD CONSTRAINT check_constraint CHECK(int_data<30) NOT VALID; @@ -44,7 +52,9 @@ step s2-commit: COMMIT; starting permutation: s1-initialize s1-add-constraint s1-begin s2-begin s2-select s1-validate s1-commit s2-commit create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-initialize: INSERT INTO constrained_table VALUES (0, 0), (1, 1), (2, 2), (3, 4); step s1-add-constraint: ALTER TABLE constrained_table ADD CONSTRAINT check_constraint CHECK(int_data<30) NOT VALID; @@ -52,8 +62,10 @@ step s1-begin: BEGIN; step s2-begin: BEGIN; step s2-select: SELECT sum(int_data) FROM constrained_table; sum +--------------------------------------------------------------------- + 7 +(1 row) -7 step s1-validate: ALTER TABLE constrained_table VALIDATE CONSTRAINT check_constraint; step s1-commit: COMMIT; step s2-commit: COMMIT; diff --git a/src/test/regress/expected/shared_connection_waits.out b/src/test/regress/expected/shared_connection_waits.out index 50c4cdff8..950606e74 100644 --- a/src/test/regress/expected/shared_connection_waits.out +++ b/src/test/regress/expected/shared_connection_waits.out @@ -5,7 +5,9 @@ step s3-lower-pool-size: SELECT set_max_shared_pool_size(5); set_max_shared_pool_size +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; @@ -13,21 +15,27 @@ step s1-begin: step s1-count-slow: SELECT pg_sleep(0.1), count(*) FROM test; -pg_sleep count +pg_sleep|count +--------------------------------------------------------------------- + | 101 +(1 row) - 101 step s3-increase-pool-size: SELECT set_max_shared_pool_size(100); set_max_shared_pool_size +--------------------------------------------------------------------- +(1 row) step s2-select: SELECT count(*) FROM test; count +--------------------------------------------------------------------- + 101 +(1 row) -101 step s1-commit: COMMIT;