From b6ef3dc3ceead2920075ef43bbc7c146f17a7b43 Mon Sep 17 00:00:00 2001 From: Sait Talha Nisanci Date: Fri, 20 Aug 2021 15:53:03 +0300 Subject: [PATCH] Update isolation test files format to align with PG Relevant commit on PG: 4a054069a36032a59afceb07f3b837f09ab1a2e9 We update our existing isolation files to align with PG format. While backporting we will need to use the old version because we will have the old PG versions on release branches. Hence they expect the old format. --- ...add_node_vs_reference_table_operations.out | 378 ++- .../expected/isolation_add_remove_node.out | 376 ++- .../expected/isolation_append_copy_vs_all.out | 360 ++- ...ion_blocking_move_multi_shard_commands.out | 108 +- ...ocking_move_multi_shard_commands_on_mx.out | 92 +- ...on_blocking_move_single_shard_commands.out | 70 +- ...cking_move_single_shard_commands_on_mx.out | 106 +- .../isolation_citus_dist_activity.out | 94 +- ...solation_citus_update_table_statistics.out | 20 +- .../expected/isolation_cluster_management.out | 8 +- .../expected/isolation_concurrent_dml.out | 10 + ...ation_copy_placement_vs_copy_placement.out | 4 + ...olation_copy_placement_vs_modification.out | 148 +- .../expected/isolation_copy_vs_all_on_mx.out | 64 +- .../isolation_create_citus_local_table.out | 64 +- .../isolation_create_distributed_table.out | 8 + .../isolation_create_restore_point.out | 150 +- ...lation_create_table_vs_add_remove_node.out | 262 +- .../expected/isolation_data_migration.out | 56 +- .../regress/expected/isolation_ddl_vs_all.out | 394 ++- .../expected/isolation_delete_vs_all.out | 230 +- .../isolation_dis2ref_foreign_keys_on_mx.out | 262 +- ...olation_distributed_deadlock_detection.out | 132 +- .../isolation_distributed_transaction_id.out | 44 +- .../expected/isolation_dml_vs_repair.out | 72 +- ...op_alter_index_select_for_update_on_mx.out | 70 +- .../expected/isolation_drop_shards.out | 104 +- .../expected/isolation_drop_vs_all.out | 136 +- .../isolation_dump_global_wait_edges.out | 34 +- .../isolation_dump_local_wait_edges.out | 30 +- ...lation_ensure_dependency_activate_node.out | 1122 +++++++-- .../expected/isolation_extension_commands.out | 438 +++- .../isolation_get_all_active_transactions.out | 48 +- ...lation_get_distributed_wait_queries_mx.out | 328 ++- .../expected/isolation_hash_copy_vs_all.out | 384 ++- .../isolation_insert_select_conflict.out | 110 +- .../isolation_insert_select_repartition.out | 272 ++- .../isolation_insert_select_vs_all.out | 454 +++- .../isolation_insert_select_vs_all_on_mx.out | 340 ++- .../expected/isolation_insert_vs_all.out | 444 +++- .../isolation_insert_vs_all_on_mx.out | 286 ++- .../expected/isolation_insert_vs_vacuum.out | 4 + .../isolation_master_append_table.out | 8 +- .../isolation_master_apply_delete.out | 32 +- .../expected/isolation_master_update_node.out | 12 + .../isolation_metadata_sync_deadlock.out | 76 +- .../isolation_multi_shard_modify_vs_all.out | 178 +- .../expected/isolation_multiuser_locking.out | 24 +- .../isolation_partitioned_copy_vs_all.out | 302 ++- .../isolation_progress_monitoring.out | 90 +- .../expected/isolation_range_copy_vs_all.out | 372 ++- .../isolation_rebalancer_deferred_drop.out | 36 +- .../isolation_ref2ref_foreign_keys.out | 356 ++- .../isolation_ref2ref_foreign_keys_on_mx.out | 252 +- ...ion_ref_select_for_update_vs_all_on_mx.out | 188 +- ..._ref_update_delete_upsert_vs_all_on_mx.out | 106 +- .../isolation_reference_copy_vs_all.out | 332 ++- .../expected/isolation_reference_on_mx.out | 200 ++ .../isolation_replace_wait_function.out | 4 + ...licate_reference_tables_to_coordinator.out | 48 +- .../expected/isolation_select_for_update.out | 112 +- .../expected/isolation_select_vs_all.out | 2116 ++++++++++++----- .../isolation_select_vs_all_on_mx.out | 148 +- .../expected/isolation_shard_rebalancer.out | 128 + .../isolation_shard_rebalancer_progress.out | 62 +- .../expected/isolation_shouldhaveshards.out | 60 +- .../isolation_transaction_recovery.out | 16 +- .../expected/isolation_truncate_vs_all.out | 294 ++- .../isolation_truncate_vs_all_on_mx.out | 172 +- .../expected/isolation_undistribute_table.out | 92 +- ...tion_update_delete_upsert_vs_all_on_mx.out | 106 +- .../expected/isolation_update_node.out | 136 +- .../isolation_update_node_lock_writes.out | 20 +- .../expected/isolation_update_vs_all.out | 642 +++-- .../expected/isolation_upsert_vs_all.out | 268 ++- .../expected/isolation_validate_vs_insert.out | 16 +- .../expected/shared_connection_waits.out | 14 +- 77 files changed, 11957 insertions(+), 3177 deletions(-) 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;