From b923d51fc66216a03fd112943bffcea001c9dd6f Mon Sep 17 00:00:00 2001 From: SaitTalhaNisanci Date: Wed, 25 Aug 2021 16:04:57 +0300 Subject: [PATCH] Bump pg12 and pg13 images to pg12.8 and pg13.8 (#5208) In our testing infra structure, even though we use pinned versions of postgres, the auxiliary libraries might pull in newer versions. This is for example the case for libpq, which will now use the libpq libraries from 14beta3. The changes in this PR are a lot due to the libpq changes. We also have changed the citus version that is used as a base for the citus upgrades, from 10.0 to 10.1 . This caused columnar to enforce some extra limits on the settings, which conflicted with our upgrade tests. The changes in failure tests are due to the libpq changes. There are also a lot of changes on isolation tests outputs, hence we updated all of them. Co-authored-by: Nils Dijk --- .circleci/config.yml | 58 +- src/test/regress/bin/normalize.sed | 2 + .../expected/columnar_index_concurrency.out | 46 +- .../expected/columnar_vacuum_vs_insert.out | 34 +- .../expected/columnar_write_concurrency.out | 112 +- .../expected/failure_1pc_copy_append.out | 28 +- .../expected/failure_1pc_copy_hash.out | 43 +- .../regress/expected/failure_copy_on_hash.out | 10 +- .../expected/failure_copy_to_reference.out | 15 +- ...ure_create_distributed_table_non_empty.out | 5 +- .../failure_create_reference_table.out | 10 +- .../regress/expected/failure_create_table.out | 10 +- src/test/regress/expected/failure_ddl.out | 42 +- .../regress/expected/failure_multi_dml.out | 16 +- .../expected/failure_mx_metadata_sync.out | 78 +- .../regress/expected/failure_savepoints.out | 311 ++- .../regress/expected/failure_truncate.out | 42 +- ...add_node_vs_reference_table_operations.out | 412 ++- .../expected/isolation_add_remove_node.out | 608 +++-- .../expected/isolation_append_copy_vs_all.out | 372 ++- ...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 | 22 +- .../expected/isolation_cluster_management.out | 8 +- .../expected/isolation_concurrent_dml.out | 14 +- ...ation_copy_placement_vs_copy_placement.out | 36 +- ...olation_copy_placement_vs_modification.out | 148 +- .../expected/isolation_copy_vs_all_on_mx.out | 100 +- .../isolation_create_citus_local_table.out | 74 +- .../isolation_create_distributed_table.out | 54 +- .../isolation_create_restore_point.out | 150 +- ...lation_create_table_vs_add_remove_node.out | 290 ++- .../expected/isolation_data_migration.out | 128 +- .../regress/expected/isolation_ddl_vs_all.out | 400 ++- .../expected/isolation_delete_vs_all.out | 232 +- .../isolation_dis2ref_foreign_keys_on_mx.out | 428 +++- ...olation_distributed_deadlock_detection.out | 276 +- .../isolation_distributed_transaction_id.out | 74 +- .../expected/isolation_dml_vs_repair.out | 82 +- ...op_alter_index_select_for_update_on_mx.out | 106 +- .../expected/isolation_drop_shards.out | 214 +- .../expected/isolation_drop_vs_all.out | 154 +- .../isolation_dump_global_wait_edges.out | 34 +- .../isolation_dump_local_wait_edges.out | 38 +- ...lation_ensure_dependency_activate_node.out | 1122 ++++++-- .../expected/isolation_extension_commands.out | 756 ++++-- .../isolation_get_all_active_transactions.out | 48 +- ...lation_get_distributed_wait_queries_mx.out | 572 +++-- .../expected/isolation_hash_copy_vs_all.out | 390 ++- .../isolation_insert_select_conflict.out | 408 +-- .../isolation_insert_select_repartition.out | 272 +- .../isolation_insert_select_vs_all.out | 902 ++++--- .../isolation_insert_select_vs_all_on_mx.out | 488 +++- .../expected/isolation_insert_vs_all.out | 448 +++- .../isolation_insert_vs_all_on_mx.out | 394 ++- .../expected/isolation_insert_vs_vacuum.out | 6 +- .../isolation_master_append_table.out | 10 +- .../isolation_master_apply_delete.out | 72 +- .../expected/isolation_master_update_node.out | 13 +- .../isolation_master_update_node_1.out | 67 + .../isolation_metadata_sync_deadlock.out | 80 +- .../isolation_modify_with_subquery_vs_dml.out | 44 +- .../isolation_multi_shard_modify_vs_all.out | 342 +-- .../expected/isolation_multiuser_locking.out | 230 +- .../isolation_partitioned_copy_vs_all.out | 308 ++- .../isolation_progress_monitoring.out | 96 +- .../expected/isolation_range_copy_vs_all.out | 386 ++- .../isolation_rebalancer_deferred_drop.out | 36 +- .../isolation_ref2ref_foreign_keys.out | 510 ++-- .../isolation_ref2ref_foreign_keys_on_mx.out | 486 ++-- ...ion_ref_select_for_update_vs_all_on_mx.out | 268 +- ..._ref_update_delete_upsert_vs_all_on_mx.out | 156 +- .../isolation_reference_copy_vs_all.out | 340 ++- .../expected/isolation_reference_on_mx.out | 370 ++- .../isolation_replace_wait_function.out | 8 +- ...licate_reference_tables_to_coordinator.out | 66 +- .../expected/isolation_select_for_update.out | 134 +- .../expected/isolation_select_vs_all.out | 2266 ++++++++++++----- .../isolation_select_vs_all_on_mx.out | 214 +- .../expected/isolation_shard_rebalancer.out | 128 + .../isolation_shard_rebalancer_progress.out | 62 +- .../expected/isolation_shouldhaveshards.out | 146 +- .../isolation_transaction_recovery.out | 18 +- .../expected/isolation_truncate_vs_all.out | 296 ++- .../isolation_truncate_vs_all_on_mx.out | 256 +- .../expected/isolation_undistribute_table.out | 114 +- ...tion_update_delete_upsert_vs_all_on_mx.out | 146 +- .../expected/isolation_update_node.out | 136 +- .../isolation_update_node_lock_writes.out | 22 +- .../expected/isolation_update_vs_all.out | 650 ++++- .../expected/isolation_upsert_vs_all.out | 272 +- .../expected/isolation_validate_vs_insert.out | 16 +- .../expected/shared_connection_waits.out | 24 +- .../upgrade_columnar_metapage_after.out | 6 +- .../upgrade_columnar_metapage_before.out | 2 +- .../spec/isolation_insert_vs_all_on_mx.spec | 14 +- ...ref_update_delete_upsert_vs_all_on_mx.spec | 2 +- .../sql/upgrade_columnar_metapage_before.sql | 2 +- 101 files changed, 14856 insertions(+), 5550 deletions(-) create mode 100644 src/test/regress/expected/isolation_master_update_node_1.out diff --git a/.circleci/config.yml b/.circleci/config.yml index a3605457f..3fe45e47a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -387,7 +387,7 @@ jobs: check-merge-to-enterprise: docker: - - image: citus/extbuilder:13.2 + - image: citus/extbuilder:13.4 working_directory: /home/circleci/project steps: - checkout @@ -439,11 +439,11 @@ workflows: - build: name: build-12 pg_major: 12 - image_tag: '12.6' + image_tag: '12.8' - build: name: build-13 pg_major: 13 - image_tag: '13.2' + image_tag: '13.4' - check-style - check-sql-snapshots @@ -451,148 +451,148 @@ workflows: - test-citus: name: 'test-12_check-multi' pg_major: 12 - image_tag: '12.6' + image_tag: '12.8' make: check-multi requires: [build-12] - test-citus: name: 'test-12_check-multi-1' pg_major: 12 - image_tag: '12.6' + image_tag: '12.8' make: check-multi-1 requires: [build-12] - test-citus: name: 'test-12_check-mx' pg_major: 12 - image_tag: '12.6' + image_tag: '12.8' make: check-multi-mx requires: [build-12] - test-citus: name: 'test-12_check-vanilla' pg_major: 12 - image_tag: '12.6' + image_tag: '12.8' make: check-vanilla requires: [build-12] - test-citus: name: 'test-12_check-isolation' pg_major: 12 - image_tag: '12.6' + image_tag: '12.8' make: check-isolation requires: [build-12] - test-citus: name: 'test-12_check-worker' pg_major: 12 - image_tag: '12.6' + image_tag: '12.8' make: check-worker requires: [build-12] - test-citus: name: 'test-12_check-operations' pg_major: 12 - image_tag: '12.6' + image_tag: '12.8' make: check-operations requires: [build-12] - test-citus: name: 'test-12_check-follower-cluster' pg_major: 12 - image_tag: '12.6' + image_tag: '12.8' make: check-follower-cluster requires: [build-12] - test-citus: name: 'test-12_check-columnar' pg_major: 12 - image_tag: '12.6' + image_tag: '12.8' make: check-columnar requires: [build-12] - test-citus: name: 'test-12_check-columnar-isolation' pg_major: 12 - image_tag: '12.6' + image_tag: '12.8' make: check-columnar-isolation requires: [build-12] - tap-test-citus: name: 'test_12_tap-recovery' pg_major: 12 - image_tag: '12.6' + image_tag: '12.8' suite: recovery requires: [build-12] - test-citus: name: 'test-12_check-failure' pg_major: 12 image: citus/failtester - image_tag: '12.6' + image_tag: '12.8' make: check-failure requires: [build-12] - test-citus: name: 'test-13_check-multi' pg_major: 13 - image_tag: '13.2' + image_tag: '13.4' make: check-multi requires: [build-13] - test-citus: name: 'test-13_check-multi-1' pg_major: 13 - image_tag: '13.2' + image_tag: '13.4' make: check-multi-1 requires: [build-13] - test-citus: name: 'test-13_check-mx' pg_major: 13 - image_tag: '13.2' + image_tag: '13.4' make: check-multi-mx requires: [build-13] - test-citus: name: 'test-13_check-vanilla' pg_major: 13 - image_tag: '13.2' + image_tag: '13.4' make: check-vanilla requires: [build-13] - test-citus: name: 'test-13_check-isolation' pg_major: 13 - image_tag: '13.2' + image_tag: '13.4' make: check-isolation requires: [build-13] - test-citus: name: 'test-13_check-worker' pg_major: 13 - image_tag: '13.2' + image_tag: '13.4' make: check-worker requires: [build-13] - test-citus: name: 'test-13_check-operations' pg_major: 13 - image_tag: '13.2' + image_tag: '13.4' make: check-operations requires: [build-13] - test-citus: name: 'test-13_check-follower-cluster' pg_major: 13 - image_tag: '13.2' + image_tag: '13.4' make: check-follower-cluster requires: [build-13] - test-citus: name: 'test-13_check-columnar' pg_major: 13 - image_tag: '13.2' + image_tag: '13.4' make: check-columnar requires: [build-13] - test-citus: name: 'test-13_check-columnar-isolation' pg_major: 13 - image_tag: '13.2' + image_tag: '13.4' make: check-columnar-isolation requires: [build-13] - tap-test-citus: name: 'test_13_tap-recovery' pg_major: 13 - image_tag: '13.2' + image_tag: '13.4' suite: recovery requires: [build-13] - test-citus: name: 'test-13_check-failure' pg_major: 13 image: citus/failtester - image_tag: '13.2' + image_tag: '13.4' make: check-failure requires: [build-13] @@ -600,13 +600,13 @@ workflows: name: 'test-12-13_check-pg-upgrade' old_pg_major: 12 new_pg_major: 13 - image_tag: 12-13 + image_tag: '12.8-13.4' requires: [build-12,build-13] - test-citus-upgrade: name: test-12_check-citus-upgrade pg_major: 12 - image_tag: '12.6' + image_tag: '12.8' requires: [build-12] - ch_benchmark: diff --git a/src/test/regress/bin/normalize.sed b/src/test/regress/bin/normalize.sed index fb9a10a56..750a8e676 100644 --- a/src/test/regress/bin/normalize.sed +++ b/src/test/regress/bin/normalize.sed @@ -225,5 +225,7 @@ s/^(DEBUG: the index name on the shards of the partition is too long, switching # normalize errors for not being able to connect to a non-existing host s/could not translate host name "foobar" to address: .*$/could not translate host name "foobar" to address: /g +s/ERROR: parallel workers for vacuum must/ERROR: parallel vacuum degree must/g + # ignore PL/pgSQL line numbers that differ on Mac builds s/(CONTEXT: PL\/pgSQL function .* line )([0-9]+)/\1XX/g diff --git a/src/test/regress/expected/columnar_index_concurrency.out b/src/test/regress/expected/columnar_index_concurrency.out index 8235588c0..1079f7c50 100644 --- a/src/test/regress/expected/columnar_index_concurrency.out +++ b/src/test/regress/expected/columnar_index_concurrency.out @@ -27,8 +27,10 @@ step s1-check-test-1-2: SELECT SUM(a)=30 FROM columnar_table WHERE a=5 OR a=25; ?column? - +--------------------------------------------------------------------- t +(1 row) + step s1-reset-table: DROP INDEX IF EXISTS idx_s2, conc_s2_idx, conc_unique_s2_idx, unique_idx_s2, conc_partial_s2_idx; TRUNCATE columnar_table; @@ -60,8 +62,10 @@ step s1-check-test-1-2: SELECT SUM(a)=30 FROM columnar_table WHERE a=5 OR a=25; ?column? - +--------------------------------------------------------------------- t +(1 row) + step s1-reset-table: DROP INDEX IF EXISTS idx_s2, conc_s2_idx, conc_unique_s2_idx, unique_idx_s2, conc_partial_s2_idx; TRUNCATE columnar_table; @@ -112,11 +116,15 @@ step s1-check-test-3: SELECT SUM(a)=55 FROM columnar_table WHERE a=5 OR a=15 OR a=35; ?column? - +--------------------------------------------------------------------- t +(1 row) + ?column? - +--------------------------------------------------------------------- t +(1 row) + step s1-reset-table: DROP INDEX IF EXISTS idx_s2, conc_s2_idx, conc_unique_s2_idx, unique_idx_s2, conc_partial_s2_idx; TRUNCATE columnar_table; @@ -176,11 +184,15 @@ step s1-check-test-4: SELECT SUM(a)=225 FROM columnar_table WHERE a=25 OR a=35 OR a=45 OR a=55 OR a=65; ?column? - +--------------------------------------------------------------------- t +(1 row) + ?column? - +--------------------------------------------------------------------- t +(1 row) + step s1-reset-table: DROP INDEX IF EXISTS idx_s2, conc_s2_idx, conc_unique_s2_idx, unique_idx_s2, conc_partial_s2_idx; TRUNCATE columnar_table; @@ -241,8 +253,10 @@ step s1-check-test-1-2: SELECT SUM(a)=30 FROM columnar_table WHERE a=5 OR a=25; ?column? - +--------------------------------------------------------------------- t +(1 row) + step s1-reset-table: DROP INDEX IF EXISTS idx_s2, conc_s2_idx, conc_unique_s2_idx, unique_idx_s2, conc_partial_s2_idx; TRUNCATE columnar_table; @@ -296,11 +310,15 @@ step s1-check-test-3: SELECT SUM(a)=55 FROM columnar_table WHERE a=5 OR a=15 OR a=35; ?column? - +--------------------------------------------------------------------- t +(1 row) + ?column? - +--------------------------------------------------------------------- t +(1 row) + step s1-reset-table: DROP INDEX IF EXISTS idx_s2, conc_s2_idx, conc_unique_s2_idx, unique_idx_s2, conc_partial_s2_idx; TRUNCATE columnar_table; @@ -363,11 +381,15 @@ step s1-check-test-4: SELECT SUM(a)=225 FROM columnar_table WHERE a=25 OR a=35 OR a=45 OR a=55 OR a=65; ?column? - +--------------------------------------------------------------------- t +(1 row) + ?column? - +--------------------------------------------------------------------- t +(1 row) + step s1-reset-table: DROP INDEX IF EXISTS idx_s2, conc_s2_idx, conc_unique_s2_idx, unique_idx_s2, conc_partial_s2_idx; TRUNCATE columnar_table; @@ -392,7 +414,7 @@ step s1-commit: COMMIT; step s2-create-unique-index-concurrently: <... completed> -error in steps s1-commit s2-create-unique-index-concurrently: ERROR: could not create unique index "conc_unique_s2_idx" +ERROR: could not create unique index "conc_unique_s2_idx" step s1-reset-table: DROP INDEX IF EXISTS idx_s2, conc_s2_idx, conc_unique_s2_idx, unique_idx_s2, conc_partial_s2_idx; TRUNCATE columnar_table; diff --git a/src/test/regress/expected/columnar_vacuum_vs_insert.out b/src/test/regress/expected/columnar_vacuum_vs_insert.out index 169546e1e..f229c4c71 100644 --- a/src/test/regress/expected/columnar_vacuum_vs_insert.out +++ b/src/test/regress/expected/columnar_vacuum_vs_insert.out @@ -27,14 +27,16 @@ step s1-commit: step s2-select: SELECT * FROM test_vacuum_vs_insert; -a b +a|b +--------------------------------------------------------------------- +1|2 +2|4 +3|6 +1|2 +2|4 +3|6 +(6 rows) -1 2 -2 4 -3 6 -1 2 -2 4 -3 6 starting permutation: s1-insert s1-begin s1-insert s2-vacuum-full s1-commit s2-select step s1-insert: @@ -49,7 +51,7 @@ step s1-insert: step s2-vacuum-full: VACUUM FULL VERBOSE test_vacuum_vs_insert; -step s1-commit: +step s1-commit: COMMIT; s2: INFO: vacuuming "public.test_vacuum_vs_insert" @@ -59,11 +61,13 @@ step s2-vacuum-full: <... completed> step s2-select: SELECT * FROM test_vacuum_vs_insert; -a b +a|b +--------------------------------------------------------------------- +1|2 +2|4 +3|6 +1|2 +2|4 +3|6 +(6 rows) -1 2 -2 4 -3 6 -1 2 -2 4 -3 6 diff --git a/src/test/regress/expected/columnar_write_concurrency.out b/src/test/regress/expected/columnar_write_concurrency.out index 2be90b141..2d98674f7 100644 --- a/src/test/regress/expected/columnar_write_concurrency.out +++ b/src/test/regress/expected/columnar_write_concurrency.out @@ -16,19 +16,23 @@ step s2-insert: step s1-select: SELECT * FROM test_insert_concurrency ORDER BY a; -a b +a|b +--------------------------------------------------------------------- +1|2 +2|4 +3|6 +(3 rows) -1 2 -2 4 -3 6 step s2-select: SELECT * FROM test_insert_concurrency ORDER BY a; -a b +a| b +--------------------------------------------------------------------- +4| 8 +5|10 +6|12 +(3 rows) -4 8 -5 10 -6 12 step s1-commit: COMMIT; @@ -38,14 +42,16 @@ step s2-commit: step s1-select: SELECT * FROM test_insert_concurrency ORDER BY a; -a b +a| b +--------------------------------------------------------------------- +1| 2 +2| 4 +3| 6 +4| 8 +5|10 +6|12 +(6 rows) -1 2 -2 4 -3 6 -4 8 -5 10 -6 12 starting permutation: s1-begin s2-begin s1-copy s2-insert s1-select s2-select s1-commit s2-commit s1-select step s1-begin: @@ -63,19 +69,23 @@ step s2-insert: step s1-select: SELECT * FROM test_insert_concurrency ORDER BY a; -a b + a|b +--------------------------------------------------------------------- +11| +12| +13| +(3 rows) -11 -12 -13 step s2-select: SELECT * FROM test_insert_concurrency ORDER BY a; -a b +a| b +--------------------------------------------------------------------- +4| 8 +5|10 +6|12 +(3 rows) -4 8 -5 10 -6 12 step s1-commit: COMMIT; @@ -85,14 +95,16 @@ step s2-commit: step s1-select: SELECT * FROM test_insert_concurrency ORDER BY a; -a b + a| b +--------------------------------------------------------------------- + 4| 8 + 5|10 + 6|12 +11| +12| +13| +(6 rows) -4 8 -5 10 -6 12 -11 -12 -13 starting permutation: s1-begin s2-begin s2-insert s1-copy s1-select s2-select s1-commit s2-commit s1-select step s1-begin: @@ -110,19 +122,23 @@ step s1-copy: step s1-select: SELECT * FROM test_insert_concurrency ORDER BY a; -a b + a|b +--------------------------------------------------------------------- +11| +12| +13| +(3 rows) -11 -12 -13 step s2-select: SELECT * FROM test_insert_concurrency ORDER BY a; -a b +a| b +--------------------------------------------------------------------- +4| 8 +5|10 +6|12 +(3 rows) -4 8 -5 10 -6 12 step s1-commit: COMMIT; @@ -132,14 +148,16 @@ step s2-commit: step s1-select: SELECT * FROM test_insert_concurrency ORDER BY a; -a b + a| b +--------------------------------------------------------------------- + 4| 8 + 5|10 + 6|12 +11| +12| +13| +(6 rows) -4 8 -5 10 -6 12 -11 -12 -13 starting permutation: s1-truncate s1-begin s1-insert-10000-rows s2-begin s2-insert s2-commit s1-commit s1-verify-metadata step s1-truncate: @@ -180,5 +198,7 @@ step s1-verify-metadata: FROM test_insert_concurrency_stripes; stripe_metadata_for_test_insert_concurrency_ok - +--------------------------------------------------------------------- t +(1 row) + diff --git a/src/test/regress/expected/failure_1pc_copy_append.out b/src/test/regress/expected/failure_1pc_copy_append.out index 44b6c0e53..7ccbbb4f1 100644 --- a/src/test/regress/expected/failure_1pc_copy_append.out +++ b/src/test/regress/expected/failure_1pc_copy_append.out @@ -36,7 +36,7 @@ SELECT citus.dump_network_traffic(); --------------------------------------------------------------------- (0,coordinator,"[initial message]") (0,worker,"['AuthenticationOk()', 'ParameterStatus(application_name=citus)', 'ParameterStatus(client_encoding=UTF8)', 'ParameterStatus(DateStyle=ISO, MDY)', 'ParameterStatus(integer_datetimes=on)', 'ParameterStatus(IntervalStyle=postgres)', 'ParameterStatus(is_superuser=on)', 'ParameterStatus(server_encoding=UTF8)', 'ParameterStatus(server_version=XXX)', 'ParameterStatus(session_authorization=postgres)', 'ParameterStatus(standard_conforming_strings=on)', 'ParameterStatus(TimeZone=XXX)', 'BackendKeyData(XXX)', 'ReadyForQuery(state=idle)']") - (0,coordinator,"[""Query(query=SELECT worker_apply_shard_ddl_command (100400, 'CREATE TABLE public.copy_test (key integer, value integer)'))""]") + (0,coordinator,"[""Query(query=SELECT worker_apply_shard_ddl_command (100400, 'CREATE TABLE public.copy_test (key integer, value integer) '))""]") (0,worker,"[""RowDescription(fieldcount=1,fields=['F(name=worker_apply_shard_ddl_command,tableoid=0,colattrnum=0,typoid=2278,typlen=4,typmod=-1,format_code=0)'])"", 'DataRow(columncount=1,columns=[""C(length=0,value=b\\'\\')""])', 'CommandComplete(command=SELECT 1)', 'ReadyForQuery(state=idle)']") (0,coordinator,"[""Query(query=SELECT worker_apply_shard_ddl_command (100400, 'ALTER TABLE public.copy_test OWNER TO postgres'))""]") (0,worker,"[""RowDescription(fieldcount=1,fields=['F(name=worker_apply_shard_ddl_command,tableoid=0,colattrnum=0,typoid=2278,typlen=4,typmod=-1,format_code=0)'])"", 'DataRow(columncount=1,columns=[""C(length=0,value=b\\'\\')""])', 'CommandComplete(command=SELECT 1)', 'ReadyForQuery(state=idle)']") @@ -98,7 +98,10 @@ SELECT citus.mitmproxy('conn.onQuery(query="assign_distributed_transaction_id"). (1 row) COPY copy_test FROM PROGRAM 'echo 0, 0 && echo 1, 1 && echo 2, 4 && echo 3, 9' WITH CSV; -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx ERROR: failure on connection marked as essential: localhost:xxxxx SELECT * FROM pg_dist_shard s, pg_dist_shard_placement p @@ -208,7 +211,10 @@ WARNING: server closed the connection unexpectedly This probably means the server terminated abnormally before or while processing the request. CONTEXT: while executing command on localhost:xxxxx -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx ERROR: failure on connection marked as essential: localhost:xxxxx SELECT * FROM pg_dist_shard s, pg_dist_shard_placement p @@ -238,7 +244,10 @@ WARNING: server closed the connection unexpectedly This probably means the server terminated abnormally before or while processing the request. CONTEXT: while executing command on localhost:xxxxx -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx ERROR: failure on connection marked as essential: localhost:xxxxx SELECT * FROM pg_dist_shard s, pg_dist_shard_placement p @@ -264,10 +273,17 @@ SELECT citus.mitmproxy('conn.onQuery(query="^COMMIT").kill()'); (1 row) COPY copy_test FROM PROGRAM 'echo 0, 0 && echo 1, 1 && echo 2, 4 && echo 3, 9' WITH CSV; -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx WARNING: failed to commit transaction on localhost:xxxxx -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open CONTEXT: while executing command on localhost:xxxxx SELECT * FROM pg_dist_shard s, pg_dist_shard_placement p WHERE (s.shardid = p.shardid) AND s.logicalrelid = 'copy_test'::regclass diff --git a/src/test/regress/expected/failure_1pc_copy_hash.out b/src/test/regress/expected/failure_1pc_copy_hash.out index 272872dd9..fe521c729 100644 --- a/src/test/regress/expected/failure_1pc_copy_hash.out +++ b/src/test/regress/expected/failure_1pc_copy_hash.out @@ -60,7 +60,10 @@ SELECT citus.mitmproxy('conn.onQuery(query="assign_distributed_transaction").kil (1 row) COPY copy_test FROM PROGRAM 'echo 0, 0 && echo 1, 1 && echo 2, 4 && echo 3, 9' WITH CSV; -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx COPY copy_test, line 1: "0, 0" ERROR: failure on connection marked as essential: localhost:xxxxx @@ -128,10 +131,17 @@ SELECT citus.mitmproxy('conn.onQuery(query="^COMMIT$").killall()'); (1 row) COPY copy_test FROM PROGRAM 'echo 0, 0 && echo 1, 1 && echo 2, 4 && echo 3, 9' WITH CSV; -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx WARNING: failed to commit transaction on localhost:xxxxx -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open CONTEXT: while executing command on localhost:xxxxx -- the shard is marked invalid SELECT citus.mitmproxy('conn.allow()'); @@ -248,7 +258,10 @@ SELECT citus.mitmproxy('conn.onQuery(query="assign_distributed_transaction_id"). (1 row) COPY copy_test FROM PROGRAM 'echo 0, 0 && echo 1, 1 && echo 2, 4 && echo 3, 9' WITH CSV; -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx COPY copy_test, line 1: "0, 0" ERROR: failure on connection marked as essential: localhost:xxxxx @@ -328,10 +341,17 @@ SELECT citus.mitmproxy('conn.onQuery(query="^COMMIT$").killall()'); (1 row) COPY copy_test FROM PROGRAM 'echo 0, 0 && echo 1, 1 && echo 2, 4 && echo 3, 9' WITH CSV; -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx WARNING: failed to commit transaction on localhost:xxxxx -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open CONTEXT: while executing command on localhost:xxxxx WARNING: could not commit transaction for shard xxxxx on any active node ERROR: could not commit transaction on any active node @@ -368,10 +388,17 @@ SELECT citus.mitmproxy('conn.onCommandComplete(command="COMMIT").killall()'); (1 row) COPY copy_test FROM PROGRAM 'echo 0, 0 && echo 1, 1 && echo 2, 4 && echo 3, 9' WITH CSV; -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx WARNING: failed to commit transaction on localhost:xxxxx -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open CONTEXT: while executing command on localhost:xxxxx WARNING: could not commit transaction for shard xxxxx on any active node ERROR: could not commit transaction on any active node diff --git a/src/test/regress/expected/failure_copy_on_hash.out b/src/test/regress/expected/failure_copy_on_hash.out index 439bbe94d..72be2a4fd 100644 --- a/src/test/regress/expected/failure_copy_on_hash.out +++ b/src/test/regress/expected/failure_copy_on_hash.out @@ -177,7 +177,10 @@ SELECT citus.mitmproxy('conn.onQuery(query="PREPARE TRANSACTION").kill()'); (1 row) \COPY test_table FROM stdin delimiter ','; -ERROR: connection not open +ERROR: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx SELECT citus.mitmproxy('conn.allow()'); mitmproxy @@ -237,7 +240,10 @@ SELECT citus.mitmproxy('conn.onQuery(query="ROLLBACK").kill()'); BEGIN; \COPY test_table FROM stdin delimiter ','; ROLLBACK; -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx SELECT citus.mitmproxy('conn.allow()'); mitmproxy diff --git a/src/test/regress/expected/failure_copy_to_reference.out b/src/test/regress/expected/failure_copy_to_reference.out index e34d24f3f..a3cb3a2d8 100644 --- a/src/test/regress/expected/failure_copy_to_reference.out +++ b/src/test/regress/expected/failure_copy_to_reference.out @@ -264,7 +264,10 @@ SELECT citus.mitmproxy('conn.onQuery(query="^PREPARE TRANSACTION").kill()'); (1 row) \copy test_table FROM STDIN DELIMITER ',' -ERROR: connection not open +ERROR: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx SELECT citus.mitmproxy('conn.allow()'); mitmproxy @@ -395,7 +398,10 @@ BEGIN; SET LOCAL client_min_messages TO WARNING; \copy test_table FROM STDIN DELIMITER ',' ROLLBACK; -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx SELECT citus.mitmproxy('conn.allow()'); mitmproxy @@ -428,7 +434,10 @@ BEGIN; SET LOCAL client_min_messages TO WARNING; \copy test_table FROM STDIN DELIMITER ',' ROLLBACK; -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx SELECT citus.mitmproxy('conn.allow()'); mitmproxy diff --git a/src/test/regress/expected/failure_create_distributed_table_non_empty.out b/src/test/regress/expected/failure_create_distributed_table_non_empty.out index 3a4fc6bd6..cce74939a 100644 --- a/src/test/regress/expected/failure_create_distributed_table_non_empty.out +++ b/src/test/regress/expected/failure_create_distributed_table_non_empty.out @@ -280,7 +280,10 @@ SELECT citus.mitmproxy('conn.onQuery(query="PREPARE TRANSACTION").kill()'); (1 row) SELECT create_distributed_table('test_table', 'id'); -ERROR: connection not open +ERROR: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx SELECT count(*) FROM pg_dist_shard WHERE logicalrelid='create_distributed_table_non_empty_failure.test_table'::regclass; count diff --git a/src/test/regress/expected/failure_create_reference_table.out b/src/test/regress/expected/failure_create_reference_table.out index 37c4914ba..bb9ce32f5 100644 --- a/src/test/regress/expected/failure_create_reference_table.out +++ b/src/test/regress/expected/failure_create_reference_table.out @@ -147,7 +147,10 @@ SELECT citus.mitmproxy('conn.onCommandComplete(command="PREPARE TRANSACTION").ki (1 row) SELECT create_reference_table('ref_table'); -ERROR: connection not open +ERROR: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx SELECT count(*) FROM pg_dist_shard_placement; count @@ -227,7 +230,10 @@ HINT: To remove the local data, run: SELECT truncate_local_data_after_distribut (1 row) ROLLBACK; -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx SELECT * FROM pg_dist_shard_placement ORDER BY shardid, nodeport; shardid | shardstate | shardlength | nodename | nodeport | placementid diff --git a/src/test/regress/expected/failure_create_table.out b/src/test/regress/expected/failure_create_table.out index b949b0688..9e042eb8d 100644 --- a/src/test/regress/expected/failure_create_table.out +++ b/src/test/regress/expected/failure_create_table.out @@ -278,7 +278,10 @@ SELECT citus.mitmproxy('conn.onCommandComplete(command="PREPARE TRANSACTION").ki (1 row) SELECT create_distributed_table('test_table','id',colocate_with=>'temp_table'); -ERROR: connection not open +ERROR: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx SELECT citus.mitmproxy('conn.allow()'); mitmproxy @@ -658,7 +661,10 @@ SELECT citus.mitmproxy('conn.onCommandComplete(command="^PREPARE TRANSACTION").k (1 row) SELECT master_create_worker_shards('test_table_2', 4, 2); -ERROR: connection not open +ERROR: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx SELECT citus.mitmproxy('conn.allow()'); mitmproxy diff --git a/src/test/regress/expected/failure_ddl.out b/src/test/regress/expected/failure_ddl.out index 73b05c3af..49fc1eddf 100644 --- a/src/test/regress/expected/failure_ddl.out +++ b/src/test/regress/expected/failure_ddl.out @@ -191,15 +191,29 @@ SELECT citus.mitmproxy('conn.onCommandComplete(command="^COMMIT").kill()'); (1 row) ALTER TABLE test_table ADD COLUMN new_column INT; -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx WARNING: failed to commit transaction on localhost:xxxxx -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open CONTEXT: while executing command on localhost:xxxxx -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx WARNING: failed to commit transaction on localhost:xxxxx -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open CONTEXT: while executing command on localhost:xxxxx SELECT citus.mitmproxy('conn.allow()'); mitmproxy @@ -255,9 +269,15 @@ BEGIN; SET LOCAL client_min_messages TO WARNING; ALTER TABLE test_table DROP COLUMN new_column; ROLLBACK; -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx -- now cancel just after the worker sends response to -- but Postgres doesn't accepts interrupts during COMMIT and ROLLBACK @@ -413,7 +433,10 @@ SELECT citus.mitmproxy('conn.onCommandComplete(command="PREPARE TRANSACTION").ki (1 row) ALTER TABLE test_table DROP COLUMN new_column; -ERROR: connection not open +ERROR: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx SELECT citus.mitmproxy('conn.allow()'); mitmproxy @@ -781,7 +804,10 @@ SELECT citus.mitmproxy('conn.onCommandComplete(command="PREPARE TRANSACTION").ki (1 row) ALTER TABLE test_table ADD COLUMN new_column INT; -ERROR: connection not open +ERROR: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx SELECT citus.mitmproxy('conn.allow()'); mitmproxy diff --git a/src/test/regress/expected/failure_multi_dml.out b/src/test/regress/expected/failure_multi_dml.out index d4061eb1d..00bed6f2c 100644 --- a/src/test/regress/expected/failure_multi_dml.out +++ b/src/test/regress/expected/failure_multi_dml.out @@ -388,10 +388,17 @@ INSERT INTO dml_test VALUES (5, 'Epsilon'); UPDATE dml_test SET name = 'alpha' WHERE id = 1; UPDATE dml_test SET name = 'gamma' WHERE id = 3; COMMIT; -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx WARNING: failed to commit transaction on localhost:xxxxx -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open CONTEXT: while executing command on localhost:xxxxx --- should see all changes, but they only went to one placement (other is unhealthy) SELECT * FROM dml_test ORDER BY id ASC; @@ -440,7 +447,10 @@ INSERT INTO dml_test VALUES (5, 'Epsilon'); UPDATE dml_test SET name = 'alpha' WHERE id = 1; UPDATE dml_test SET name = 'gamma' WHERE id = 3; COMMIT; -ERROR: connection not open +ERROR: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx --- shouldn't see any changes after failed COMMIT SELECT * FROM dml_test ORDER BY id ASC; diff --git a/src/test/regress/expected/failure_mx_metadata_sync.out b/src/test/regress/expected/failure_mx_metadata_sync.out index fbb35c215..85180dcc1 100644 --- a/src/test/regress/expected/failure_mx_metadata_sync.out +++ b/src/test/regress/expected/failure_mx_metadata_sync.out @@ -186,13 +186,31 @@ WARNING: server closed the connection unexpectedly This probably means the server terminated abnormally before or while processing the request. CONTEXT: while executing command on localhost:xxxxx -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open CONTEXT: while executing command on localhost:xxxxx -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open +connection not open CONTEXT: while executing command on localhost:xxxxx -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open +connection not open +connection not open CONTEXT: while executing command on localhost:xxxxx stop_metadata_sync_to_node --------------------------------------------------------------------- @@ -221,13 +239,31 @@ WARNING: server closed the connection unexpectedly This probably means the server terminated abnormally before or while processing the request. CONTEXT: while executing command on localhost:xxxxx -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open CONTEXT: while executing command on localhost:xxxxx -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open +connection not open CONTEXT: while executing command on localhost:xxxxx -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open +connection not open +connection not open CONTEXT: while executing command on localhost:xxxxx stop_metadata_sync_to_node --------------------------------------------------------------------- @@ -256,13 +292,31 @@ WARNING: server closed the connection unexpectedly This probably means the server terminated abnormally before or while processing the request. CONTEXT: while executing command on localhost:xxxxx -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open CONTEXT: while executing command on localhost:xxxxx -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open +connection not open CONTEXT: while executing command on localhost:xxxxx -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open +connection not open +connection not open CONTEXT: while executing command on localhost:xxxxx stop_metadata_sync_to_node --------------------------------------------------------------------- diff --git a/src/test/regress/expected/failure_savepoints.out b/src/test/regress/expected/failure_savepoints.out index 48d2e154d..21ad09f7a 100644 --- a/src/test/regress/expected/failure_savepoints.out +++ b/src/test/regress/expected/failure_savepoints.out @@ -38,14 +38,40 @@ SELECT citus.mitmproxy('conn.onQuery(query="^SAVEPOINT").kill()'); BEGIN; INSERT INTO artists VALUES (5, 'Asher Lev'); SAVEPOINT s1; -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open +connection not open CONTEXT: while executing command on localhost:xxxxx -WARNING: connection to the remote node localhost:xxxxx failed with the following error: connection not open -WARNING: connection not open +WARNING: connection to the remote node localhost:xxxxx failed with the following error: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open +connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open +connection not open +connection not open CONTEXT: while executing command on localhost:xxxxx -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open +connection not open +connection not open +connection not open CONTEXT: while executing command on localhost:xxxxx -ERROR: connection not open +ERROR: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx DELETE FROM artists WHERE id=4; ERROR: current transaction is aborted, commands ignored until end of transaction block @@ -71,16 +97,42 @@ SAVEPOINT s1; DELETE FROM artists WHERE id=4; RELEASE SAVEPOINT s1; WARNING: AbortSubTransaction while in COMMIT state -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open +connection not open CONTEXT: while executing command on localhost:xxxxx -WARNING: connection to the remote node localhost:xxxxx failed with the following error: connection not open -WARNING: connection not open +WARNING: connection to the remote node localhost:xxxxx failed with the following error: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open +connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open +connection not open +connection not open CONTEXT: while executing command on localhost:xxxxx -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open +connection not open +connection not open +connection not open CONTEXT: while executing command on localhost:xxxxx WARNING: savepoint "savepoint_2" does not exist CONTEXT: while executing command on localhost:xxxxx -ERROR: connection not open +ERROR: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx ROLLBACK; SELECT * FROM artists WHERE id IN (4, 5); @@ -101,9 +153,16 @@ INSERT INTO artists VALUES (5, 'Asher Lev'); SAVEPOINT s1; DELETE FROM artists WHERE id=4; ROLLBACK TO SAVEPOINT s1; -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open CONTEXT: while executing command on localhost:xxxxx COMMIT; ERROR: could not make changes to shard xxxxx on any node @@ -128,14 +187,40 @@ SAVEPOINT s2; INSERT INTO artists VALUES (5, 'Jacob Kahn'); RELEASE SAVEPOINT s2; WARNING: AbortSubTransaction while in COMMIT state -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open +connection not open CONTEXT: while executing command on localhost:xxxxx -WARNING: connection to the remote node localhost:xxxxx failed with the following error: connection not open -WARNING: connection not open +WARNING: connection to the remote node localhost:xxxxx failed with the following error: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open +connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open +connection not open +connection not open CONTEXT: while executing command on localhost:xxxxx -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open +connection not open +connection not open +connection not open CONTEXT: while executing command on localhost:xxxxx -ERROR: connection not open +ERROR: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx COMMIT; SELECT * FROM artists WHERE id IN (4, 5); @@ -158,9 +243,16 @@ ROLLBACK TO SAVEPOINT s1; SAVEPOINT s2; DELETE FROM artists WHERE id=5; ROLLBACK TO SAVEPOINT s2; -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open CONTEXT: while executing command on localhost:xxxxx COMMIT; ERROR: could not make changes to shard xxxxx on any node @@ -207,12 +299,46 @@ INSERT INTO artists VALUES (6, 'John J. Audubon'); INSERT INTO artists VALUES (7, 'Emily Carr'); INSERT INTO artists VALUES (7, 'Emily Carr'); ROLLBACK TO SAVEPOINT s1; -WARNING: connection not open -WARNING: connection not open -WARNING: connection not open -WARNING: connection to the remote node localhost:xxxxx failed with the following error: connection not open -WARNING: connection not open -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open +connection not open +connection not open +WARNING: connection to the remote node localhost:xxxxx failed with the following error: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open +connection not open +connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open +connection not open +connection not open +connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open +connection not open +connection not open +connection not open +connection not open COMMIT; ERROR: could not make changes to shard xxxxx on any node SELECT * FROM artists WHERE id=6; @@ -244,11 +370,37 @@ SELECT citus.mitmproxy('conn.onQuery(query="^SAVEPOINT").kill()'); BEGIN; INSERT INTO researchers VALUES (7, 4, 'Jan Plaza'); SAVEPOINT s1; -WARNING: connection not open -WARNING: connection to the remote node localhost:xxxxx failed with the following error: connection not open -WARNING: connection not open -WARNING: connection not open -ERROR: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open +connection not open +WARNING: connection to the remote node localhost:xxxxx failed with the following error: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open +connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open +connection not open +connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open +connection not open +connection not open +connection not open +ERROR: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open INSERT INTO researchers VALUES (8, 4, 'Alonzo Church'); ERROR: current transaction is aborted, commands ignored until end of transaction block ROLLBACK TO s1; @@ -283,8 +435,15 @@ INSERT INTO researchers VALUES (7, 4, 'Jan Plaza'); SAVEPOINT s1; INSERT INTO researchers VALUES (8, 4, 'Alonzo Church'); ROLLBACK TO s1; -WARNING: connection not open -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open RELEASE SAVEPOINT s1; COMMIT; ERROR: failure on connection marked as essential: localhost:xxxxx @@ -317,12 +476,38 @@ INSERT INTO researchers VALUES (8, 4, 'Alonzo Church'); ROLLBACK TO s1; RELEASE SAVEPOINT s1; WARNING: AbortSubTransaction while in COMMIT state -WARNING: connection not open -WARNING: connection to the remote node localhost:xxxxx failed with the following error: connection not open -WARNING: connection not open -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open +connection not open +WARNING: connection to the remote node localhost:xxxxx failed with the following error: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open +connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open +connection not open +connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open +connection not open +connection not open +connection not open WARNING: savepoint "savepoint_3" does not exist -ERROR: connection not open +ERROR: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open COMMIT; -- should see correct results from healthy placement and one bad placement SELECT * FROM researchers WHERE lab_id = 4; @@ -363,14 +548,52 @@ SELECT * FROM ref; (1 row) ROLLBACK TO SAVEPOINT start; -WARNING: connection not open -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open SELECT * FROM ref; -WARNING: connection not open -WARNING: connection to the remote node localhost:xxxxx failed with the following error: connection not open -WARNING: connection not open -WARNING: connection not open -ERROR: connection to the remote node localhost:xxxxx failed with the following error: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open +connection not open +connection not open +WARNING: connection to the remote node localhost:xxxxx failed with the following error: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open +connection not open +connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open +connection not open +connection not open +connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open +connection not open +connection not open +connection not open +connection not open +ERROR: connection to the remote node localhost:xxxxx failed with the following error: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open END; -- clean up SELECT citus.mitmproxy('conn.allow()'); diff --git a/src/test/regress/expected/failure_truncate.out b/src/test/regress/expected/failure_truncate.out index fb40401a5..6ecb7bd5b 100644 --- a/src/test/regress/expected/failure_truncate.out +++ b/src/test/regress/expected/failure_truncate.out @@ -280,15 +280,29 @@ SELECT citus.mitmproxy('conn.onCommandComplete(command="^COMMIT").kill()'); (1 row) TRUNCATE test_table; -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx WARNING: failed to commit transaction on localhost:xxxxx -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open CONTEXT: while executing command on localhost:xxxxx -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx WARNING: failed to commit transaction on localhost:xxxxx -WARNING: connection not open +WARNING: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open +connection not open CONTEXT: while executing command on localhost:xxxxx WARNING: could not commit transaction for shard xxxxx on any active node WARNING: could not commit transaction for shard xxxxx on any active node @@ -361,7 +375,10 @@ SELECT citus.mitmproxy('conn.onQuery(query="PREPARE TRANSACTION").kill()'); (1 row) TRUNCATE reference_table CASCADE; -ERROR: connection not open +ERROR: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx SELECT citus.mitmproxy('conn.allow()'); mitmproxy @@ -501,7 +518,10 @@ SELECT citus.mitmproxy('conn.onCommandComplete(command="PREPARE TRANSACTION").ki (1 row) TRUNCATE reference_table CASCADE; -ERROR: connection not open +ERROR: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx SELECT citus.mitmproxy('conn.allow()'); mitmproxy @@ -742,7 +762,10 @@ SELECT citus.mitmproxy('conn.onCommandComplete(command="^PREPARE TRANSACTION").k (1 row) TRUNCATE test_table; -ERROR: connection not open +ERROR: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx SELECT citus.mitmproxy('conn.allow()'); mitmproxy @@ -1118,7 +1141,10 @@ SELECT citus.mitmproxy('conn.onCommandComplete(command="PREPARE TRANSACTION").ki (1 row) TRUNCATE test_table; -ERROR: connection not open +ERROR: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection not open CONTEXT: while executing command on localhost:xxxxx SELECT citus.mitmproxy('conn.allow()'); mitmproxy 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 72e4df0ce..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,12 +215,14 @@ 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); -step s1-commit: +step s1-commit: COMMIT; step s2-ddl-on-reference-table: <... completed> @@ -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; @@ -225,13 +267,15 @@ step s2-ddl-on-reference-table: step s1-add-second-worker: SELECT 1 FROM master_add_node('localhost', 57638); -step s2-commit: +step s2-commit: 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,17 +315,21 @@ 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'); -step s1-commit: +step s1-commit: 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,18 +371,22 @@ 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); -step s2-commit: +step s2-commit: 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,12 +607,14 @@ 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); -step s1-commit: +step s1-commit: COMMIT; step s2-ddl-on-reference-table: <... completed> @@ -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; @@ -546,13 +656,15 @@ step s2-ddl-on-reference-table: step s1-add-second-worker: SELECT 1 FROM master_add_node('localhost', 57638); -step s2-commit: +step s2-commit: 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,17 +701,21 @@ 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'); -step s1-commit: +step s1-commit: 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,18 +754,22 @@ 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); -step s2-commit: +step s2-commit: 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,12 +806,14 @@ 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'; -step s1-commit: +step s1-commit: COMMIT; step s2-copy-to-reference-table: <... completed> @@ -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; @@ -710,13 +856,15 @@ step s2-copy-to-reference-table: step s1-add-second-worker: SELECT 1 FROM master_add_node('localhost', 57638); -step s2-commit: +step s2-commit: 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,12 +902,14 @@ 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); -step s1-commit: +step s1-commit: COMMIT; step s2-insert-to-reference-table: <... completed> @@ -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; @@ -790,13 +952,15 @@ step s2-insert-to-reference-table: step s1-add-second-worker: SELECT 1 FROM master_add_node('localhost', 57638); -step s2-commit: +step s2-commit: 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,12 +998,14 @@ 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); -step s1-commit: +step s1-commit: COMMIT; step s2-ddl-on-reference-table: <... completed> @@ -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; @@ -870,13 +1048,15 @@ step s2-ddl-on-reference-table: step s1-add-second-worker: SELECT 1 FROM master_add_node('localhost', 57638); -step s2-commit: +step s2-commit: 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,17 +1094,21 @@ 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'); -step s1-commit: +step s1-commit: 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,18 +1147,22 @@ 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); -step s2-commit: +step s2-commit: 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; @@ -1007,17 +1215,21 @@ step s2-replicate-reference-tables: SELECT replicate_reference_tables(); RESET client_min_messages; -step s1-commit: +step s1-commit: 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 5203acbd8..b63147cc9 100644 --- a/src/test/regress/expected/isolation_add_remove_node.out +++ b/src/test/regress/expected/isolation_add_remove_node.out @@ -2,633 +2,827 @@ 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; + BEGIN; step s1-add-node-1: - SELECT 1 FROM master_add_node('localhost', 57637); + 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); + SELECT * FROM master_remove_node('localhost', 57637); -step s1-commit: - COMMIT; +step s1-commit: + 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; + 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; + BEGIN; step s1-add-node-1: - SELECT 1 FROM master_add_node('localhost', 57637); + 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); + SELECT 1 FROM master_add_node('localhost', 57638); -step s1-commit: - COMMIT; +step s1-commit: + 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; + 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; + BEGIN; step s1-add-node-1: - SELECT 1 FROM master_add_node('localhost', 57637); + 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); + SELECT 1 FROM master_add_node('localhost', 57637); -step s1-commit: - COMMIT; +step s1-commit: + 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; + 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; + BEGIN; step s1-add-node-1: - SELECT 1 FROM master_add_node('localhost', 57637); + 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); + SELECT 1 FROM master_add_node('localhost', 57638); -step s1-abort: - ABORT; +step s1-abort: + 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; + 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; + BEGIN; step s1-add-node-1: - SELECT 1 FROM master_add_node('localhost', 57637); + 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); + SELECT 1 FROM master_add_node('localhost', 57637); -step s1-abort: - ABORT; +step s1-abort: + 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; + 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); + 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); + SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: - BEGIN; + BEGIN; step s1-remove-node-1: - SELECT * FROM master_remove_node('localhost', 57637); + SELECT * FROM master_remove_node('localhost', 57637); master_remove_node +--------------------------------------------------------------------- +(1 row) step s2-remove-node-2: - SELECT * FROM master_remove_node('localhost', 57638); + SELECT * FROM master_remove_node('localhost', 57638); -step s1-commit: - COMMIT; +step s1-commit: + 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; + 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); + SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: - BEGIN; + BEGIN; step s1-remove-node-1: - SELECT * FROM master_remove_node('localhost', 57637); + SELECT * FROM master_remove_node('localhost', 57637); master_remove_node +--------------------------------------------------------------------- +(1 row) step s2-remove-node-1: - SELECT * FROM master_remove_node('localhost', 57637); + SELECT * FROM master_remove_node('localhost', 57637); -step s1-commit: - COMMIT; +step s1-commit: + COMMIT; step s2-remove-node-1: <... completed> -error in steps s1-commit s2-remove-node-1: ERROR: node at "localhost:xxxxx" does not exist +ERROR: node at "localhost:xxxxx" does not exist step s1-show-nodes: - SELECT nodename, nodeport, isactive FROM pg_dist_node ORDER BY nodename, nodeport; + 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); + SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: - BEGIN; + BEGIN; step s1-activate-node-1: - SELECT 1 FROM master_activate_node('localhost', 57637); + 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); + SELECT 1 FROM master_activate_node('localhost', 57637); -step s1-commit: - COMMIT; +step s1-commit: + 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; + 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); + SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: - BEGIN; + BEGIN; step s1-disable-node-1: - SELECT 1 FROM master_disable_node('localhost', 57637); + 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); + SELECT 1 FROM master_disable_node('localhost', 57637); -step s1-commit: - COMMIT; +step s1-commit: + 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; + 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); + SELECT 1 FROM master_add_inactive_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: - BEGIN; + BEGIN; step s1-activate-node-1: - SELECT 1 FROM master_activate_node('localhost', 57637); + 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); + SELECT 1 FROM master_activate_node('localhost', 57637); -step s1-commit: - COMMIT; +step s1-commit: + 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; + 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); + SELECT 1 FROM master_add_inactive_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: - BEGIN; + BEGIN; step s1-disable-node-1: - SELECT 1 FROM master_disable_node('localhost', 57637); + 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); + SELECT 1 FROM master_disable_node('localhost', 57637); -step s1-commit: - COMMIT; +step s1-commit: + 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; + 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); + SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: - BEGIN; + BEGIN; step s1-disable-node-1: - SELECT 1 FROM master_disable_node('localhost', 57637); + 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); + SELECT 1 FROM master_activate_node('localhost', 57637); -step s1-commit: - COMMIT; +step s1-commit: + 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; + 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); + SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: - BEGIN; + BEGIN; step s1-activate-node-1: - SELECT 1 FROM master_activate_node('localhost', 57637); + 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); + SELECT 1 FROM master_disable_node('localhost', 57637); -step s1-commit: - COMMIT; +step s1-commit: + 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; + 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); + SELECT 1 FROM master_add_inactive_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: - BEGIN; + BEGIN; step s1-disable-node-1: - SELECT 1 FROM master_disable_node('localhost', 57637); + 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); + SELECT 1 FROM master_activate_node('localhost', 57637); -step s1-commit: - COMMIT; +step s1-commit: + 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; + 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); + SELECT 1 FROM master_add_inactive_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: - BEGIN; + BEGIN; step s1-activate-node-1: - SELECT 1 FROM master_activate_node('localhost', 57637); + 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); + SELECT 1 FROM master_disable_node('localhost', 57637); -step s1-commit: - COMMIT; +step s1-commit: + 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; + 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); + SELECT 1 FROM master_add_inactive_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: - BEGIN; + BEGIN; step s1-activate-node-1: - SELECT 1 FROM master_activate_node('localhost', 57637); + 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); + SELECT 1 FROM master_disable_node('localhost', 57637); -step s1-abort: - ABORT; +step s1-abort: + 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; + 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); + SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: - BEGIN; + BEGIN; step s1-disable-node-1: - SELECT 1 FROM master_disable_node('localhost', 57637); + 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); + SELECT 1 FROM master_disable_node('localhost', 57637); -step s1-abort: - ABORT; +step s1-abort: + 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; + 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 ce31b1709..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,74 +13,96 @@ 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; 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-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; + 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,78 +447,102 @@ 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; 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; + 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; @@ -497,13 +641,15 @@ step s1-drop: DROP TABLE append_copy; 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> -error in steps s1-commit s2-copy: ERROR: relation "append_copy" does not exist +ERROR: relation "append_copy" does not exist step s1-select-count: SELECT COUNT(*) FROM append_copy; 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; @@ -552,20 +710,26 @@ step s1-ddl-add-column: ALTER TABLE append_copy ADD new_column int DEFAULT 0; 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> -error in steps s1-commit s2-copy: ERROR: missing data for column "new_column" +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 2c951d265..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; @@ -87,4 +103,4 @@ step s2-commit: COMMIT; step s1-drop-table: <... completed> -error in steps s2-commit s1-drop-table: ERROR: tuple concurrently deleted +ERROR: tuple concurrently deleted 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 02cc2403d..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; @@ -13,14 +15,16 @@ step s1-insert: step s2-update: UPDATE test_concurrent_dml SET data = 'blarg' WHERE test_id = 1; -step s1-commit: +step s1-commit: COMMIT; 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; @@ -42,14 +48,16 @@ step s1-multi-insert: step s2-update: UPDATE test_concurrent_dml SET data = 'blarg' WHERE test_id = 1; -step s1-commit: +step s1-commit: COMMIT; 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 95a9a59cf..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 @@ -2,50 +2,54 @@ Parsed test spec with 2 sessions starting permutation: s1-load-cache s2-load-cache s2-set-placement-inactive s2-begin s2-repair-placement s1-repair-placement s2-commit step s1-load-cache: - COPY test_hash_table FROM PROGRAM 'echo 1,1 && echo 2,2 && echo 3,3 && echo 4,4 && echo 5,5' WITH CSV; + COPY test_hash_table FROM PROGRAM 'echo 1,1 && echo 2,2 && echo 3,3 && echo 4,4 && echo 5,5' WITH CSV; step s2-load-cache: - COPY test_hash_table FROM PROGRAM 'echo 1,1 && echo 2,2 && echo 3,3 && echo 4,4 && echo 5,5' WITH CSV; + COPY test_hash_table FROM PROGRAM 'echo 1,1 && echo 2,2 && echo 3,3 && echo 4,4 && echo 5,5' WITH CSV; step s2-set-placement-inactive: - UPDATE pg_dist_shard_placement SET shardstate = 3 WHERE shardid IN (SELECT * FROM selected_shard_for_test_table) AND nodeport = 57638; + UPDATE pg_dist_shard_placement SET shardstate = 3 WHERE shardid IN (SELECT * FROM selected_shard_for_test_table) AND nodeport = 57638; step s2-begin: - BEGIN; + BEGIN; step s2-repair-placement: - SELECT master_copy_shard_placement((SELECT * FROM selected_shard_for_test_table), 'localhost', 57637, 'localhost', 57638); + 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); + SELECT master_copy_shard_placement((SELECT * FROM selected_shard_for_test_table), 'localhost', 57637, 'localhost', 57638); -step s2-commit: - COMMIT; +step s2-commit: + COMMIT; step s1-repair-placement: <... completed> -error in steps s2-commit s1-repair-placement: ERROR: target placement must be in inactive state +ERROR: target placement must be in inactive state starting permutation: s2-set-placement-inactive s2-begin s2-repair-placement s1-repair-placement s2-commit step s2-set-placement-inactive: - UPDATE pg_dist_shard_placement SET shardstate = 3 WHERE shardid IN (SELECT * FROM selected_shard_for_test_table) AND nodeport = 57638; + UPDATE pg_dist_shard_placement SET shardstate = 3 WHERE shardid IN (SELECT * FROM selected_shard_for_test_table) AND nodeport = 57638; step s2-begin: - BEGIN; + BEGIN; step s2-repair-placement: - SELECT master_copy_shard_placement((SELECT * FROM selected_shard_for_test_table), 'localhost', 57637, 'localhost', 57638); + 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); + SELECT master_copy_shard_placement((SELECT * FROM selected_shard_for_test_table), 'localhost', 57637, 'localhost', 57638); -step s2-commit: - COMMIT; +step s2-commit: + COMMIT; step s1-repair-placement: <... completed> -error in steps s2-commit s1-repair-placement: ERROR: target placement must be in inactive state +ERROR: target placement must be in inactive state 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 52f882f2d..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'); + 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'); + 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'); + 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(); + 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; + 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,48 +100,60 @@ 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'); + 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; + BEGIN; step s2-coordinator-drop: - DROP TABLE copy_table; + DROP TABLE copy_table; -step s1-commit-worker: - SELECT run_commands_on_session_level_connection_to_node('COMMIT'); +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: - COMMIT; + COMMIT; step s1-stop-connection: - SELECT stop_session_level_connection_to_node(); + SELECT stop_session_level_connection_to_node(); stop_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s3-select-count: - SELECT COUNT(*) FROM copy_table; + 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'); + 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'); + 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'); + 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(); + 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; + 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 17e15c0f6..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,15 +5,19 @@ 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; step s2-create-citus-local-table-1: <... completed> -error in steps s1-commit s2-create-citus-local-table-1: ERROR: relation "citus_local_table_1_xxxxxxx" is a shard relation +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,15 +25,19 @@ 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; step s2-create-citus-local-table-3: <... completed> -error in steps s1-commit s2-create-citus-local-table-3: ERROR: relation "citus_local_table_3_xxxxxxx" is a shard relation +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,15 +155,19 @@ 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; step s2-remove-coordinator: <... completed> -error in steps s1-commit s2-remove-coordinator: ERROR: cannot remove the primary node of a node group which has shard placements +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 @@ -139,10 +177,12 @@ step s1-drop-table: DROP TABLE citus_local_table_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> -error in steps s1-commit s2-create-citus-local-table-1: ERROR: cannot add local table to metadata, relation does not exist +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,34 +232,46 @@ 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; step s2-create-citus-local-table-1: <... completed> -error in steps s1-commit s2-create-citus-local-table-1: ERROR: could not find the coordinator node in metadata as it is not added as a worker +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 418485f80..a44d05efe 100644 --- a/src/test/regress/expected/isolation_create_distributed_table.out +++ b/src/test/regress/expected/isolation_create_distributed_table.out @@ -5,24 +5,26 @@ step s1-begin: BEGIN; step s2-begin: - BEGIN; + BEGIN; step s1-create_distributed_table: - SELECT create_distributed_table('table_to_distribute', 'id'); + 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'); + SELECT create_distributed_table('table_to_distribute', 'id'); -step s1-commit: +step s1-commit: COMMIT; step s2-create_distributed_table: <... completed> -error in steps s1-commit s2-create_distributed_table: ERROR: table "table_to_distribute" is already distributed +ERROR: table "table_to_distribute" is already distributed step s2-commit: - COMMIT; + COMMIT; starting permutation: s1-begin s2-begin s1-create_distributed_table s2-copy_to_local_table s1-commit s2-commit @@ -30,23 +32,25 @@ step s1-begin: BEGIN; step s2-begin: - BEGIN; + BEGIN; step s1-create_distributed_table: - SELECT create_distributed_table('table_to_distribute', 'id'); + 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'; + COPY table_to_distribute FROM PROGRAM 'echo 0 && echo 1 && echo 2 && echo 3 && echo 4 && echo 5 && echo 6 && echo 7 && echo 8'; -step s1-commit: +step s1-commit: COMMIT; step s2-copy_to_local_table: <... completed> step s2-commit: - COMMIT; + COMMIT; starting permutation: s1-begin s2-begin s2-copy_to_local_table s1-create_distributed_table s2-commit s1-commit @@ -54,20 +58,22 @@ step s1-begin: BEGIN; step s2-begin: - BEGIN; + BEGIN; 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'; + COPY table_to_distribute FROM PROGRAM 'echo 0 && echo 1 && echo 2 && echo 3 && echo 4 && echo 5 && echo 6 && echo 7 && echo 8'; step s1-create_distributed_table: - SELECT create_distributed_table('table_to_distribute', 'id'); + SELECT create_distributed_table('table_to_distribute', 'id'); -step s2-commit: - COMMIT; +step s2-commit: + COMMIT; step s1-create_distributed_table: <... completed> create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-commit: COMMIT; @@ -75,28 +81,30 @@ step s1-commit: starting permutation: s1-copy_to_local_table s1-begin s2-begin s1-create_distributed_table s2-create_distributed_table s1-commit s2-commit step s1-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'; + COPY table_to_distribute FROM PROGRAM 'echo 0 && echo 1 && echo 2 && echo 3 && echo 4 && echo 5 && echo 6 && echo 7 && echo 8'; step s1-begin: BEGIN; step s2-begin: - BEGIN; + BEGIN; step s1-create_distributed_table: - SELECT create_distributed_table('table_to_distribute', 'id'); + 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'); + SELECT create_distributed_table('table_to_distribute', 'id'); -step s1-commit: +step s1-commit: COMMIT; step s2-create_distributed_table: <... completed> -error in steps s1-commit s2-create_distributed_table: ERROR: table "table_to_distribute" is already distributed +ERROR: table "table_to_distribute" is already distributed step s2-commit: - COMMIT; + COMMIT; 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 b97e8c9cd..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,20 +13,24 @@ 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; CREATE TABLE dist_table (x int, y int); SELECT create_distributed_table('dist_table', 'x'); -step s1-commit: +step s1-commit: 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,20 +77,24 @@ 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; CREATE TABLE dist_table (x int, y int); SELECT create_distributed_table('dist_table', 'x'); -step s1-abort: +step s1-abort: 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,18 +143,22 @@ 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); -step s2-commit: +step s2-commit: 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; @@ -180,12 +222,14 @@ step s2-create-table-1: CREATE TABLE dist_table (x int, y int); SELECT create_distributed_table('dist_table', 'x'); -step s1-commit: +step s1-commit: 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; @@ -237,12 +293,14 @@ step s2-create-table-1: CREATE TABLE dist_table (x int, y int); SELECT create_distributed_table('dist_table', 'x'); -step s1-abort: +step s1-abort: 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,16 +358,18 @@ 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); -step s2-commit: +step s2-commit: COMMIT; step s1-remove-node-2: <... completed> -error in steps s2-commit s1-remove-node-2: ERROR: cannot remove the primary node of a node group which has shard placements +ERROR: cannot remove the primary node of a node group which has shard placements step s1-show-placements: SELECT nodename, nodeport @@ -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; @@ -351,29 +433,35 @@ step s2-create-table-2: CREATE TABLE dist_table (x int, y int); SELECT create_distributed_table('dist_table', 'x'); -step s1-commit: +step s1-commit: COMMIT; step s2-create-table-2: <... completed> -error in steps s1-commit s2-create-table-2: ERROR: replication_factor (2) exceeds number of worker nodes (1) +ERROR: replication_factor (2) exceeds number of worker nodes (1) step s2-select: SELECT * FROM dist_table; 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,36 +472,46 @@ 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); -step s2-commit: +step s2-commit: COMMIT; step s1-remove-node-2: <... completed> -error in steps s2-commit s1-remove-node-2: ERROR: cannot remove the primary node of a node group which has shard placements +ERROR: cannot remove the primary node of a node group which has shard placements 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; @@ -429,35 +529,47 @@ step s2-create-append-table: SELECT create_distributed_table('dist_table', 'x', 'append'); SELECT 1 FROM master_create_empty_shard('dist_table'); -step s1-commit: +step s1-commit: 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,25 +580,33 @@ 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); -step s2-commit: +step s2-commit: COMMIT; step s1-remove-node-2: <... completed> -error in steps s2-commit s1-remove-node-2: ERROR: cannot remove the primary node of a node group which has shard placements +ERROR: cannot remove the primary node of a node group which has shard placements 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 fc72167db..41310ba43 100644 --- a/src/test/regress/expected/isolation_data_migration.out +++ b/src/test/regress/expected/isolation_data_migration.out @@ -2,150 +2,178 @@ Parsed test spec with 2 sessions starting permutation: s2-begin s2-copy s1-create_distributed_table s2-commit s2-select step s2-begin: - BEGIN; + BEGIN; step s2-copy: - COPY migration_table FROM PROGRAM 'echo 1,hello' WITH CSV; + COPY migration_table FROM PROGRAM 'echo 1,hello' WITH CSV; step s1-create_distributed_table: - SELECT create_distributed_table('migration_table', 'test_id'); + SELECT create_distributed_table('migration_table', 'test_id'); -step s2-commit: - COMMIT; +step s2-commit: + COMMIT; step s1-create_distributed_table: <... completed> create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-select: - SELECT * FROM migration_table ORDER BY test_id; + 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: - BEGIN; + BEGIN; step s1-create_distributed_table: - SELECT create_distributed_table('migration_table', 'test_id'); + 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; + COPY migration_table FROM PROGRAM 'echo 1,hello' WITH CSV; -step s1-commit: - COMMIT; +step s1-commit: + COMMIT; step s2-copy: <... completed> step s2-select: - SELECT * FROM migration_table ORDER BY test_id; + 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: - BEGIN; + BEGIN; step s2-insert: - INSERT INTO migration_table VALUES (1, 'hello'); + INSERT INTO migration_table VALUES (1, 'hello'); step s1-create_distributed_table: - SELECT create_distributed_table('migration_table', 'test_id'); + SELECT create_distributed_table('migration_table', 'test_id'); -step s2-commit: - COMMIT; +step s2-commit: + COMMIT; step s1-create_distributed_table: <... completed> create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-select: - SELECT * FROM migration_table ORDER BY test_id; + 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: - BEGIN; + BEGIN; step s1-create_distributed_table: - SELECT create_distributed_table('migration_table', 'test_id'); + SELECT create_distributed_table('migration_table', 'test_id'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-insert: - INSERT INTO migration_table VALUES (1, 'hello'); + INSERT INTO migration_table VALUES (1, 'hello'); -step s1-commit: - COMMIT; +step s1-commit: + COMMIT; step s2-insert: <... completed> step s2-select: - SELECT * FROM migration_table ORDER BY test_id; + 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: - BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE; - SELECT 1; + BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE; + SELECT 1; ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-copy: - COPY migration_table FROM PROGRAM 'echo 1,hello' WITH CSV; + COPY migration_table FROM PROGRAM 'echo 1,hello' WITH CSV; step s1-create_distributed_table: - SELECT create_distributed_table('migration_table', 'test_id'); + SELECT create_distributed_table('migration_table', 'test_id'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-commit: - COMMIT; + COMMIT; step s2-select: - SELECT * FROM migration_table ORDER BY test_id; + 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: - BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE; - SELECT 1; + BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE; + SELECT 1; ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-insert: - INSERT INTO migration_table VALUES (1, 'hello'); + INSERT INTO migration_table VALUES (1, 'hello'); step s1-create_distributed_table: - SELECT create_distributed_table('migration_table', 'test_id'); + SELECT create_distributed_table('migration_table', 'test_id'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-commit: - COMMIT; + COMMIT; step s2-select: - SELECT * FROM migration_table ORDER BY test_id; + 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 fbf8677b0..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; @@ -11,20 +13,26 @@ step s1-ddl-create-index: CREATE INDEX ddl_hash_index ON ddl_hash(id); step s2-ddl-create-index: CREATE INDEX ddl_hash_index ON ddl_hash(id); step s1-commit: COMMIT; step s2-ddl-create-index: <... completed> -error in steps s1-commit s2-ddl-create-index: ERROR: duplicate key value violates unique constraint "pg_class_relname_nsp_index" +ERROR: duplicate key value violates unique constraint "pg_class_relname_nsp_index" 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; @@ -32,19 +40,25 @@ step s1-ddl-create-index: CREATE INDEX ddl_hash_index ON ddl_hash(id); 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> -error in steps s1-commit s2-ddl-create-index-concurrently: ERROR: relation "ddl_hash_index" already exists +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; @@ -268,20 +348,26 @@ step s1-ddl-rename-column: ALTER TABLE ddl_hash RENAME data TO new_column; step s2-ddl-rename-column: ALTER TABLE ddl_hash RENAME data TO new_column; step s1-commit: COMMIT; step s2-ddl-rename-column: <... completed> -error in steps s1-commit s2-ddl-rename-column: ERROR: column "data" does not exist +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 849c8ca7e..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; @@ -286,17 +374,21 @@ step s1-drop: DROP TABLE delete_hash; step s2-delete: DELETE FROM delete_hash WHERE id = 4; step s1-commit: COMMIT; step s2-delete: <... completed> -error in steps s1-commit s2-delete: ERROR: relation "delete_hash" does not exist +ERROR: relation "delete_hash" does not exist 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 22ca208ae..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 @@ -2,543 +2,725 @@ Parsed test spec with 3 sessions starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-delete s2-start-session-level-connection s2-begin-on-worker s2-insert s1-rollback-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-display step s1-start-session-level-connection: - SELECT start_session_level_connection_to_node('localhost', 57637); + 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'); + 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'); + 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); + 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'); + 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)'); -step s1-rollback-worker: - SELECT run_commands_on_session_level_connection_to_node('ROLLBACK'); +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'); + 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(); + 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(); + 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; + 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 step s1-start-session-level-connection: - SELECT start_session_level_connection_to_node('localhost', 57637); + 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'); + 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'); + 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); + 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'); + 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'); + 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'); + 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(); + 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(); + 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; + 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 step s1-start-session-level-connection: - SELECT start_session_level_connection_to_node('localhost', 57637); + 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'); + 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'); + 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); + 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'); + 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'); -step s1-rollback-worker: - SELECT run_commands_on_session_level_connection_to_node('ROLLBACK'); +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'); + 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(); + 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(); + 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; + 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 step s1-start-session-level-connection: - SELECT start_session_level_connection_to_node('localhost', 57637); + 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'); + 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'); + 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); + 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'); + 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'); -step s1-commit-worker: - SELECT run_commands_on_session_level_connection_to_node('COMMIT'); +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'); + 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(); + 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(); + 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; + 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 step s1-start-session-level-connection: - SELECT start_session_level_connection_to_node('localhost', 57637); + 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'); + 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'); + 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); + 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'); + 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'); -step s1-rollback-worker: - SELECT run_commands_on_session_level_connection_to_node('ROLLBACK'); +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'); + 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(); + 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(); + 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; + 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 step s1-start-session-level-connection: - SELECT start_session_level_connection_to_node('localhost', 57637); + 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'); + 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'); + 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); + 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'); + 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'); -step s1-commit-worker: - SELECT run_commands_on_session_level_connection_to_node('COMMIT'); +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'); + 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(); + 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(); + 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; + 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 step s1-start-session-level-connection: - SELECT start_session_level_connection_to_node('localhost', 57637); + 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'); + 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'); + 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); + 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'); + 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'); -step s1-commit-worker: - SELECT run_commands_on_session_level_connection_to_node('COMMIT'); +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'); + 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(); + 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(); + 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; + 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 40588dee1..5e60e40be 100644 --- a/src/test/regress/expected/isolation_distributed_deadlock_detection.out +++ b/src/test/regress/expected/isolation_distributed_deadlock_detection.out @@ -16,24 +16,28 @@ step s2-update-2: step s2-update-1: UPDATE deadlock_detection_test SET some_val = 2 WHERE user_id = 1; -step deadlock-checker-call: +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; -step deadlock-checker-call: +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> -error in steps deadlock-checker-call s2-update-1 s1-update-2: ERROR: canceling the transaction since it was involved in a distributed deadlock step s1-commit: COMMIT; @@ -57,24 +61,28 @@ step s2-update-2-rep-2: step s2-update-1-rep-2: UPDATE deadlock_detection_test_rep_2 SET some_val = 1 WHERE user_id = 1; -step deadlock-checker-call: +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; -step deadlock-checker-call: +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> -error in steps deadlock-checker-call s2-update-1-rep-2 s1-update-2-rep-2: ERROR: canceling the transaction since it was involved in a distributed deadlock step s1-commit: COMMIT; @@ -90,10 +98,10 @@ step s2-begin: BEGIN; step s1-set-2pc: - set citus.multi_shard_commit_protocol TO '2pc'; + set citus.multi_shard_commit_protocol TO '2pc'; step s2-set-2pc: - set citus.multi_shard_commit_protocol TO '2pc'; + set citus.multi_shard_commit_protocol TO '2pc'; step s1-update-1: UPDATE deadlock_detection_test SET some_val = 1 WHERE user_id = 1; @@ -104,24 +112,28 @@ step s2-update-2: step s2-update-1: UPDATE deadlock_detection_test SET some_val = 2 WHERE user_id = 1; -step deadlock-checker-call: +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; -step deadlock-checker-call: +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> -error in steps deadlock-checker-call s2-update-1 s1-update-2: ERROR: canceling the transaction since it was involved in a distributed deadlock step s1-commit: COMMIT; @@ -145,24 +157,28 @@ step s2-update-2: step s1-update-2: UPDATE deadlock_detection_test SET some_val = 1 WHERE user_id = 2; -step deadlock-checker-call: +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 *; + 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 *; -step deadlock-checker-call: +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 in steps deadlock-checker-call s1-update-2 s2-upsert-select-all: ERROR: canceling the transaction since it was involved in a distributed deadlock +ERROR: canceling the transaction since it was involved in a distributed deadlock step s1-commit: COMMIT; @@ -186,24 +202,28 @@ step s2-update-2: step s1-update-2: UPDATE deadlock_detection_test SET some_val = 1 WHERE user_id = 2; -step deadlock-checker-call: +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; + ALTER TABLE deadlock_detection_test ADD COLUMN test_col INT; -step deadlock-checker-call: +step deadlock-checker-call: SELECT check_distributed_deadlocks(); check_distributed_deadlocks - +--------------------------------------------------------------------- t +(1 row) + step s1-update-2: <... completed> step s2-ddl: <... completed> -error in steps deadlock-checker-call s1-update-2 s2-ddl: ERROR: canceling the transaction since it was involved in a distributed deadlock +ERROR: canceling the transaction since it was involved in a distributed deadlock step s1-commit: COMMIT; @@ -227,18 +247,20 @@ step s2-insert-local-10: step s2-insert-dist-10: INSERT INTO deadlock_detection_test VALUES (10, 10); -step s1-insert-local-10: +step s1-insert-local-10: INSERT INTO local_deadlock_table VALUES (10, 10); -step deadlock-checker-call: +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> -error in steps deadlock-checker-call s2-insert-dist-10 s1-insert-local-10: ERROR: canceling the transaction since it was involved in a distributed deadlock step s1-commit: COMMIT; @@ -262,18 +284,20 @@ step s1-insert-ref-11: step s1-insert-ref-10: INSERT INTO deadlock_detection_reference VALUES (10, 10); -step s2-insert-ref-11: +step s2-insert-ref-11: INSERT INTO deadlock_detection_reference VALUES (11, 11); -step deadlock-checker-call: +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> -error in steps deadlock-checker-call s1-insert-ref-10 s2-insert-ref-11: ERROR: canceling the transaction since it was involved in a distributed deadlock step s1-commit: COMMIT; @@ -298,23 +322,27 @@ 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; -step s1-insert-ref-10: +step s1-insert-ref-10: INSERT INTO deadlock_detection_reference VALUES (10, 10); -step deadlock-checker-call: +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 in steps deadlock-checker-call s2-update-1 s1-insert-ref-10: ERROR: canceling the transaction since it was involved in a distributed deadlock +ERROR: canceling the transaction since it was involved in a distributed deadlock step s1-commit: COMMIT; @@ -345,26 +373,30 @@ 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; -step s2-update-3: +step s2-update-3: UPDATE deadlock_detection_test SET some_val = 2 WHERE user_id = 3; -step s3-update-1: +step s3-update-1: UPDATE deadlock_detection_test SET some_val = 3 WHERE user_id = 1; -step deadlock-checker-call: +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 in steps deadlock-checker-call s2-update-3 s3-update-1: ERROR: canceling the transaction since it was involved in a distributed deadlock +ERROR: canceling the transaction since it was involved in a distributed deadlock step s3-commit: COMMIT; @@ -392,7 +424,7 @@ step s2-update-1: step s1-update-1: UPDATE deadlock_detection_test SET some_val = 1 WHERE user_id = 1; -step s2-update-2: +step s2-update-2: UPDATE deadlock_detection_test SET some_val = 2 WHERE user_id = 2; step s3-update-3: @@ -401,24 +433,28 @@ step s3-update-3: step s3-update-2: UPDATE deadlock_detection_test SET some_val = 3 WHERE user_id = 2; -step deadlock-checker-call: +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; -step deadlock-checker-call: +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> -error in steps deadlock-checker-call s3-update-2 s2-update-3: ERROR: canceling the transaction since it was involved in a distributed deadlock step s3-commit: COMMIT; @@ -455,27 +491,31 @@ step s3-update-3: step s3-update-2: UPDATE deadlock_detection_test SET some_val = 3 WHERE user_id = 2; -step deadlock-checker-call: +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; step s2-update-3: UPDATE deadlock_detection_test SET some_val = 2 WHERE user_id = 3; -step deadlock-checker-call: +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> -error in steps deadlock-checker-call s3-update-2 s2-update-3: ERROR: canceling the transaction since it was involved in a distributed deadlock step s3-commit: COMMIT; @@ -508,12 +548,14 @@ step s4-update-1: step s1-update-1: UPDATE deadlock_detection_test SET some_val = 1 WHERE user_id = 1; -step deadlock-checker-call: +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; @@ -523,18 +565,20 @@ step s3-update-3: step s2-update-3: UPDATE deadlock_detection_test SET some_val = 2 WHERE user_id = 3; -step s3-update-2: +step s3-update-2: UPDATE deadlock_detection_test SET some_val = 3 WHERE user_id = 2; -step deadlock-checker-call: +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 in steps deadlock-checker-call s2-update-3 s3-update-2: ERROR: canceling the transaction since it was involved in a distributed deadlock +ERROR: canceling the transaction since it was involved in a distributed deadlock step s3-commit: COMMIT; @@ -577,21 +621,23 @@ step s3-update-3: step s3-update-2: UPDATE deadlock_detection_test SET some_val = 3 WHERE user_id = 2; -step s4-update-1: +step s4-update-1: UPDATE deadlock_detection_test SET some_val = 4 WHERE user_id = 1; -step s1-update-4: +step s1-update-4: UPDATE deadlock_detection_test SET some_val = 1 WHERE user_id = 4; -step deadlock-checker-call: +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> -error in steps deadlock-checker-call s4-update-1 s1-update-4: ERROR: canceling the transaction since it was involved in a distributed deadlock step s1-commit: COMMIT; @@ -601,15 +647,17 @@ step s4-commit: step s2-update-3: UPDATE deadlock_detection_test SET some_val = 2 WHERE user_id = 3; -step deadlock-checker-call: +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> -error in steps deadlock-checker-call s3-update-2 s2-update-3: ERROR: canceling the transaction since it was involved in a distributed deadlock step s2-commit: COMMIT; @@ -654,33 +702,37 @@ step s4-update-4: step s3-update-4: UPDATE deadlock_detection_test SET some_val = 3 WHERE user_id = 4; -step deadlock-checker-call: +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; step s4-update-6: UPDATE deadlock_detection_test SET some_val = 4 WHERE user_id = 6; -step s1-update-5: +step s1-update-5: UPDATE deadlock_detection_test SET some_val = 1 WHERE user_id = 5; -step s5-update-1: +step s5-update-1: UPDATE deadlock_detection_test SET some_val = 5 WHERE user_id = 1; -step deadlock-checker-call: +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 in steps deadlock-checker-call s1-update-5 s5-update-1: ERROR: canceling the transaction since it was involved in a distributed deadlock +ERROR: canceling the transaction since it was involved in a distributed deadlock step s1-commit: COMMIT; @@ -730,21 +782,23 @@ step s5-update-5: step s5-update-6: UPDATE deadlock_detection_test SET some_val = 5 WHERE user_id = 6; -step s4-update-4: +step s4-update-4: UPDATE deadlock_detection_test SET some_val = 4 WHERE user_id = 4; step s1-update-4: UPDATE deadlock_detection_test SET some_val = 1 WHERE user_id = 4; -step s4-update-5: +step s4-update-5: UPDATE deadlock_detection_test SET some_val = 4 WHERE user_id = 5; -step deadlock-checker-call: +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; @@ -754,18 +808,20 @@ step s3-update-2: step s2-update-2: UPDATE deadlock_detection_test SET some_val = 2 WHERE user_id = 2; -step s3-update-3: +step s3-update-3: UPDATE deadlock_detection_test SET some_val = 3 WHERE user_id = 3; -step deadlock-checker-call: +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 in steps deadlock-checker-call s2-update-2 s3-update-3: ERROR: canceling the transaction since it was involved in a distributed deadlock +ERROR: canceling the transaction since it was involved in a distributed deadlock step s6-commit: COMMIT; @@ -816,42 +872,46 @@ step s3-update-2: step s2-update-2: UPDATE deadlock_detection_test SET some_val = 2 WHERE user_id = 2; -step s4-update-4: +step s4-update-4: UPDATE deadlock_detection_test SET some_val = 4 WHERE user_id = 4; step s3-update-4: UPDATE deadlock_detection_test SET some_val = 3 WHERE user_id = 4; -step s4-update-5: +step s4-update-5: UPDATE deadlock_detection_test SET some_val = 4 WHERE user_id = 5; -step s1-update-4: +step s1-update-4: UPDATE deadlock_detection_test SET some_val = 1 WHERE user_id = 4; -step deadlock-checker-call: +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; step s5-update-6: UPDATE deadlock_detection_test SET some_val = 5 WHERE user_id = 6; -step s6-update-5: +step s6-update-5: UPDATE deadlock_detection_test SET some_val = 6 WHERE user_id = 5; -step deadlock-checker-call: +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 in steps deadlock-checker-call s5-update-6 s6-update-5: ERROR: canceling the transaction since it was involved in a distributed deadlock +ERROR: canceling the transaction since it was involved in a distributed deadlock step s5-commit: COMMIT; @@ -903,44 +963,52 @@ step s2-update-4: step s2-update-3: UPDATE deadlock_detection_test SET some_val = 2 WHERE user_id = 3; -step s4-update-2: +step s4-update-2: UPDATE deadlock_detection_test SET some_val = 4 WHERE user_id = 2; 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); -step s3-update-1: +step s3-update-1: UPDATE deadlock_detection_test SET some_val = 3 WHERE user_id = 1; -step s1-update-2-4: +step s1-update-2-4: UPDATE deadlock_detection_test SET some_val = 1 WHERE user_id = 2 OR user_id = 4; -step deadlock-checker-call: +step deadlock-checker-call: SELECT check_distributed_deadlocks(); check_distributed_deadlocks - +--------------------------------------------------------------------- t +(1 row) + step s2-update-3: <... completed> -error in steps deadlock-checker-call s2-update-3: ERROR: canceling the transaction since it was involved in a distributed deadlock +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 8a9bfe565..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; + 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; + 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; + 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; @@ -58,36 +70,40 @@ step s3-commit: starting permutation: s1-create-table s1-begin s1-insert s1-verify-current-xact-is-on-worker s1-commit step s1-create-table: - -- some tests also use distributed table - CREATE TABLE distributed_transaction_id_table(some_value int, other_value int); - SET citus.shard_count TO 4; - SELECT create_distributed_table('distributed_transaction_id_table', 'some_value'); + -- some tests also use distributed table + CREATE TABLE distributed_transaction_id_table(some_value int, other_value int); + SET citus.shard_count TO 4; + SELECT create_distributed_table('distributed_transaction_id_table', 'some_value'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-begin: BEGIN; step s1-insert: - INSERT INTO distributed_transaction_id_table VALUES (1, 1); + INSERT INTO distributed_transaction_id_table VALUES (1, 1); step s1-verify-current-xact-is-on-worker: - SELECT - remote.nodeport, - remote.result = row(xact.initiator_node_identifier, xact.transaction_number)::text AS xact_exists - FROM - get_current_transaction_id() as xact, - run_command_on_workers($$ - SELECT row(initiator_node_identifier, transaction_number) + SELECT + remote.nodeport, + remote.result = row(xact.initiator_node_identifier, xact.transaction_number)::text AS xact_exists + FROM + get_current_transaction_id() as xact, + run_command_on_workers($$ + SELECT row(initiator_node_identifier, transaction_number) FROM get_all_active_transactions(); $$) 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 499632c66..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; @@ -16,17 +18,21 @@ step s1-insertone: 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); -step s1-commit: +step s1-commit: 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); @@ -43,17 +49,21 @@ step s1-insertall: 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); -step s1-commit: +step s1-commit: 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,12 +75,14 @@ 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); -step s2-commit: +step s2-commit: COMMIT; step s1-insertone: <... completed> @@ -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,12 +131,14 @@ 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; -step s2-commit: +step s2-commit: COMMIT; step s1-prepared-insertone: <... completed> @@ -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,12 +192,14 @@ 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; -step s2-commit: +step s2-commit: COMMIT; step s1-prepared-insertall: <... completed> @@ -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 10c988f33..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,112 +5,146 @@ 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; + ALTER TABLE dist_table DROP value; -step s1-commit-worker: - SELECT run_commands_on_session_level_connection_to_node('COMMIT'); +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(); + 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; + 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 step s1-begin: - BEGIN; + BEGIN; step s1-index: - CREATE INDEX dist_table_index ON dist_table (id); + CREATE INDEX dist_table_index ON dist_table (id); 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'); + 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; + COMMIT; 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,65 +152,87 @@ 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'); + 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'); + SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM dist_table WHERE id = 5 FOR UPDATE'); -step s1-commit-worker: - SELECT run_commands_on_session_level_connection_to_node('COMMIT'); +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(); + 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,35 +240,47 @@ 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'); + 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); + CREATE INDEX CONCURRENTLY dist_table_index_conc ON dist_table(id); step s1-commit-worker: - SELECT run_commands_on_session_level_connection_to_node('COMMIT'); + 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(); + 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 1da76974e..9dcce0bc3 100644 --- a/src/test/regress/expected/isolation_drop_shards.out +++ b/src/test/regress/expected/isolation_drop_shards.out @@ -2,241 +2,293 @@ 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; + BEGIN; step s1-drop-all-shards: - SELECT citus_drop_all_shards('append_table', 'public', 'append_table'); + SELECT citus_drop_all_shards('append_table', 'public', 'append_table'); citus_drop_all_shards +--------------------------------------------------------------------- + 16 +(1 row) -16 step s2-truncate: - TRUNCATE append_table; + TRUNCATE append_table; -step s1-commit: - COMMIT; +step s1-commit: + COMMIT; 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; + BEGIN; step s1-drop-all-shards: - SELECT citus_drop_all_shards('append_table', 'public', 'append_table'); + 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'); + SELECT master_apply_delete_command('DELETE FROM append_table'); -step s1-commit: - COMMIT; +step s1-commit: + 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; + BEGIN; step s1-drop-all-shards: - SELECT citus_drop_all_shards('append_table', 'public', 'append_table'); + 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'); + SELECT citus_drop_all_shards('append_table', 'public', 'append_table'); -step s1-commit: - COMMIT; +step s1-commit: + 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; + BEGIN; step s1-drop-all-shards: - SELECT citus_drop_all_shards('append_table', 'public', 'append_table'); + 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; + SELECT * FROM append_table; -step s1-commit: - COMMIT; +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; + BEGIN; step s1-apply-delete-command: - SELECT master_apply_delete_command('DELETE FROM append_table'); + SELECT master_apply_delete_command('DELETE FROM append_table'); master_apply_delete_command +--------------------------------------------------------------------- + 16 +(1 row) -16 step s2-truncate: - TRUNCATE append_table; + TRUNCATE append_table; -step s1-commit: - COMMIT; +step s1-commit: + COMMIT; 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; + BEGIN; step s1-apply-delete-command: - SELECT master_apply_delete_command('DELETE FROM append_table'); + 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'); + SELECT master_apply_delete_command('DELETE FROM append_table'); -step s1-commit: - COMMIT; +step s1-commit: + 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; + BEGIN; step s1-apply-delete-command: - SELECT master_apply_delete_command('DELETE FROM append_table'); + 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'); + SELECT citus_drop_all_shards('append_table', 'public', 'append_table'); -step s1-commit: - COMMIT; +step s1-commit: + 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; + BEGIN; step s1-truncate: - TRUNCATE append_table; + TRUNCATE append_table; step s2-truncate: - TRUNCATE append_table; + TRUNCATE append_table; -step s1-commit: - COMMIT; +step s1-commit: + COMMIT; 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; + BEGIN; step s1-truncate: - TRUNCATE append_table; + TRUNCATE append_table; step s2-apply-delete-command: - SELECT master_apply_delete_command('DELETE FROM append_table'); + SELECT master_apply_delete_command('DELETE FROM append_table'); -step s1-commit: - COMMIT; +step s1-commit: + 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; + BEGIN; step s1-truncate: - TRUNCATE append_table; + TRUNCATE append_table; step s2-drop-all-shards: - SELECT citus_drop_all_shards('append_table', 'public', 'append_table'); + SELECT citus_drop_all_shards('append_table', 'public', 'append_table'); -step s1-commit: - COMMIT; +step s1-commit: + 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; + BEGIN; step s1-truncate: - TRUNCATE append_table; + TRUNCATE append_table; step s2-select: - SELECT * FROM append_table; + SELECT * FROM append_table; -step s1-commit: - COMMIT; +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 06c50699c..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; @@ -11,17 +13,21 @@ step s1-drop: DROP TABLE drop_hash; step s2-drop: DROP TABLE drop_hash; step s1-commit: COMMIT; step s2-drop: <... completed> -error in steps s1-commit s2-drop: ERROR: table "drop_hash" does not exist +ERROR: table "drop_hash" does not exist 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; @@ -30,22 +36,28 @@ step s1-drop: DROP TABLE drop_hash; step s2-ddl-create-index: CREATE INDEX drop_hash_index ON drop_hash(id); step s1-commit: COMMIT; step s2-ddl-create-index: <... completed> -error in steps s1-commit s2-ddl-create-index: ERROR: relation "drop_hash" does not exist +ERROR: relation "drop_hash" does not exist step s2-commit: COMMIT; 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); @@ -55,22 +67,28 @@ step s1-drop: DROP TABLE drop_hash; step s2-ddl-drop-index: DROP INDEX drop_hash_index; step s1-commit: COMMIT; step s2-ddl-drop-index: <... completed> -error in steps s1-commit s2-ddl-drop-index: ERROR: index "drop_hash_index" does not exist +ERROR: index "drop_hash_index" does not exist step s2-commit: COMMIT; 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; @@ -78,21 +96,27 @@ step s1-drop: DROP TABLE drop_hash; step s2-ddl-create-index-concurrently: CREATE INDEX CONCURRENTLY drop_hash_index ON drop_hash(id); step s1-commit: COMMIT; step s2-ddl-create-index-concurrently: <... completed> -error in steps s1-commit s2-ddl-create-index-concurrently: ERROR: relation "drop_hash" does not exist +ERROR: relation "drop_hash" does not exist 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; @@ -101,22 +125,28 @@ step s1-drop: DROP TABLE drop_hash; step s2-ddl-add-column: ALTER TABLE drop_hash ADD new_column int DEFAULT 0; step s1-commit: COMMIT; step s2-ddl-add-column: <... completed> -error in steps s1-commit s2-ddl-add-column: ERROR: relation "drop_hash" does not exist +ERROR: relation "drop_hash" does not exist step s2-commit: COMMIT; 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; @@ -126,22 +156,28 @@ step s1-drop: DROP TABLE drop_hash; step s2-ddl-drop-column: ALTER TABLE drop_hash DROP new_column; step s1-commit: COMMIT; step s2-ddl-drop-column: <... completed> -error in steps s1-commit s2-ddl-drop-column: ERROR: relation "drop_hash" does not exist +ERROR: relation "drop_hash" does not exist step s2-commit: COMMIT; 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; @@ -150,22 +186,28 @@ step s1-drop: DROP TABLE drop_hash; step s2-ddl-rename-column: ALTER TABLE drop_hash RENAME data TO new_column; step s1-commit: COMMIT; step s2-ddl-rename-column: <... completed> -error in steps s1-commit s2-ddl-rename-column: ERROR: relation "drop_hash" does not exist +ERROR: relation "drop_hash" does not exist step s2-commit: COMMIT; 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; @@ -174,17 +216,21 @@ step s1-drop: DROP TABLE drop_hash; step s2-table-size: SELECT citus_total_relation_size('drop_hash'); step s1-commit: COMMIT; step s2-table-size: <... completed> -error in steps s1-commit s2-table-size: ERROR: could not compute table size: relation does not exist +ERROR: could not compute table size: relation does not exist 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; @@ -195,17 +241,21 @@ step s1-drop: DROP TABLE drop_hash; step s2-distribute-table: SELECT create_distributed_table('drop_hash', 'id'); step s1-commit: COMMIT; step s2-distribute-table: <... completed> -error in steps s1-commit s2-distribute-table: ERROR: could not create distributed table: relation does not exist +ERROR: could not create distributed table: relation does not exist 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 73f770dba..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; @@ -21,7 +25,7 @@ step dist11-update: step dist13-update: UPDATE local_table SET y = 3 WHERE x = 1; -step detector-dump-wait-edges: +step detector-dump-wait-edges: SELECT waiting_node_id, waiting_transaction_num, @@ -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; @@ -63,7 +71,7 @@ step local-update: step dist13-update: UPDATE local_table SET y = 3 WHERE x = 1; -step detector-dump-wait-edges: +step detector-dump-wait-edges: SELECT waiting_node_id, waiting_transaction_num, @@ -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; @@ -112,10 +126,10 @@ step dist11-update: step local-update: UPDATE local_table SET y = 2 WHERE x = 1; -step dist13-update: +step dist13-update: UPDATE local_table SET y = 3 WHERE x = 1; -step detector-dump-wait-edges: +step detector-dump-wait-edges: SELECT waiting_node_id, waiting_transaction_num, @@ -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 c41e9e16f..d944a87cd 100644 --- a/src/test/regress/expected/isolation_extension_commands.out +++ b/src/test/regress/expected/isolation_extension_commands.out @@ -2,729 +2,949 @@ Parsed test spec with 2 sessions starting permutation: s1-begin s1-add-node-1 s2-create-extension-version-11 s1-commit s1-print step s1-begin: - BEGIN; + BEGIN; step s1-add-node-1: - SELECT 1 FROM master_add_node('localhost', 57637); + 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"; + CREATE extension seg VERSION "1.1"; -step s1-commit: - COMMIT; +step s1-commit: + COMMIT; step s2-create-extension-version-11: <... completed> 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'; - SELECT run_command_on_workers($$select extname from pg_extension where extname='seg'$$); - SELECT run_command_on_workers($$select extversion from pg_extension where extname='seg'$$); - SELECT run_command_on_workers($$select nspname from pg_extension, pg_namespace where extname='seg' and pg_extension.extnamespace=pg_namespace.oid$$); + 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'; + SELECT run_command_on_workers($$select extname from pg_extension where extname='seg'$$); + SELECT run_command_on_workers($$select extversion from pg_extension where extname='seg'$$); + 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 step s1-begin: - BEGIN; + BEGIN; step s1-add-node-1: - SELECT 1 FROM master_add_node('localhost', 57637); + 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"; + ALTER extension seg update to "1.2"; -step s1-commit: - COMMIT; +step s1-commit: + COMMIT; step s2-alter-extension-update-to-version-12: <... completed> 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'; - SELECT run_command_on_workers($$select extname from pg_extension where extname='seg'$$); - SELECT run_command_on_workers($$select extversion from pg_extension where extname='seg'$$); - SELECT run_command_on_workers($$select nspname from pg_extension, pg_namespace where extname='seg' and pg_extension.extnamespace=pg_namespace.oid$$); + 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'; + SELECT run_command_on_workers($$select extname from pg_extension where extname='seg'$$); + SELECT run_command_on_workers($$select extversion from pg_extension where extname='seg'$$); + 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 step s1-add-node-1: - SELECT 1 FROM master_add_node('localhost', 57637); + SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: - BEGIN; + BEGIN; step s1-remove-node-1: - SELECT 1 FROM master_remove_node('localhost', 57637); + SELECT 1 FROM master_remove_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-drop-extension: - drop extension seg; + drop extension seg; -step s1-commit: - COMMIT; +step s1-commit: + COMMIT; step s2-drop-extension: <... completed> 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'; - SELECT run_command_on_workers($$select extname from pg_extension where extname='seg'$$); - SELECT run_command_on_workers($$select extversion from pg_extension where extname='seg'$$); - SELECT run_command_on_workers($$select nspname from pg_extension, pg_namespace where extname='seg' and pg_extension.extnamespace=pg_namespace.oid$$); + 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'; + SELECT run_command_on_workers($$select extname from pg_extension where extname='seg'$$); + SELECT run_command_on_workers($$select extversion from pg_extension where extname='seg'$$); + 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 step s1-begin: - BEGIN; + BEGIN; step s1-add-node-1: - SELECT 1 FROM master_add_node('localhost', 57637); + 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; + CREATE extension seg with schema schema1; -step s1-commit: - COMMIT; +step s1-commit: + COMMIT; step s2-create-extension-with-schema1: <... completed> 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'; - SELECT run_command_on_workers($$select extname from pg_extension where extname='seg'$$); - SELECT run_command_on_workers($$select extversion from pg_extension where extname='seg'$$); - SELECT run_command_on_workers($$select nspname from pg_extension, pg_namespace where extname='seg' and pg_extension.extnamespace=pg_namespace.oid$$); + 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'; + SELECT run_command_on_workers($$select extname from pg_extension where extname='seg'$$); + SELECT run_command_on_workers($$select extversion from pg_extension where extname='seg'$$); + 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 step s1-begin: - BEGIN; + BEGIN; step s1-add-node-1: - SELECT 1 FROM master_add_node('localhost', 57637); + SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-drop-extension: - drop extension seg; + drop extension seg; -step s1-commit: - COMMIT; +step s1-commit: + COMMIT; step s2-drop-extension: <... completed> 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'; - SELECT run_command_on_workers($$select extname from pg_extension where extname='seg'$$); - SELECT run_command_on_workers($$select extversion from pg_extension where extname='seg'$$); - SELECT run_command_on_workers($$select nspname from pg_extension, pg_namespace where extname='seg' and pg_extension.extnamespace=pg_namespace.oid$$); + 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'; + SELECT run_command_on_workers($$select extname from pg_extension where extname='seg'$$); + SELECT run_command_on_workers($$select extversion from pg_extension where extname='seg'$$); + 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 step s1-add-node-1: - SELECT 1 FROM master_add_node('localhost', 57637); + 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; + CREATE extension seg with schema schema2; step s1-begin: - BEGIN; + BEGIN; step s1-remove-node-1: - SELECT 1 FROM master_remove_node('localhost', 57637); + 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; + alter extension seg set schema schema3; -step s1-commit: - COMMIT; +step s1-commit: + COMMIT; step s2-alter-extension-set-schema3: <... completed> 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'; - SELECT run_command_on_workers($$select extname from pg_extension where extname='seg'$$); - SELECT run_command_on_workers($$select extversion from pg_extension where extname='seg'$$); - SELECT run_command_on_workers($$select nspname from pg_extension, pg_namespace where extname='seg' and pg_extension.extnamespace=pg_namespace.oid$$); + 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'; + SELECT run_command_on_workers($$select extname from pg_extension where extname='seg'$$); + SELECT run_command_on_workers($$select extversion from pg_extension where extname='seg'$$); + 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 step s1-add-node-1: - SELECT 1 FROM master_add_node('localhost', 57637); + SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-drop-extension: - drop extension seg; + drop extension seg; step s1-begin: - BEGIN; + BEGIN; step s1-remove-node-1: - SELECT 1 FROM master_remove_node('localhost', 57637); + 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; + CREATE extension seg with schema schema1; -step s1-commit: - COMMIT; +step s1-commit: + COMMIT; step s2-create-extension-with-schema1: <... completed> 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'; - SELECT run_command_on_workers($$select extname from pg_extension where extname='seg'$$); - SELECT run_command_on_workers($$select extversion from pg_extension where extname='seg'$$); - SELECT run_command_on_workers($$select nspname from pg_extension, pg_namespace where extname='seg' and pg_extension.extnamespace=pg_namespace.oid$$); + 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'; + SELECT run_command_on_workers($$select extname from pg_extension where extname='seg'$$); + SELECT run_command_on_workers($$select extversion from pg_extension where extname='seg'$$); + 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 step s2-add-node-1: - SELECT 1 FROM master_add_node('localhost', 57637); + SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-drop-extension: - drop extension seg; + drop extension seg; step s2-remove-node-1: - SELECT 1 FROM master_remove_node('localhost', 57637); + SELECT 1 FROM master_remove_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-begin: - BEGIN; + BEGIN; step s2-create-extension-version-11: - CREATE extension seg VERSION "1.1"; + CREATE extension seg VERSION "1.1"; step s1-add-node-1: - SELECT 1 FROM master_add_node('localhost', 57637); + SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-commit: - COMMIT; + COMMIT; 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'; - SELECT run_command_on_workers($$select extname from pg_extension where extname='seg'$$); - SELECT run_command_on_workers($$select extversion from pg_extension where extname='seg'$$); - SELECT run_command_on_workers($$select nspname from pg_extension, pg_namespace where extname='seg' and pg_extension.extnamespace=pg_namespace.oid$$); + 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'; + SELECT run_command_on_workers($$select extname from pg_extension where extname='seg'$$); + SELECT run_command_on_workers($$select extversion from pg_extension where extname='seg'$$); + 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 step s2-drop-extension: - drop extension seg; + drop extension seg; step s2-add-node-1: - SELECT 1 FROM master_add_node('localhost', 57637); + 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"; + CREATE extension seg VERSION "1.1"; step s2-remove-node-1: - SELECT 1 FROM master_remove_node('localhost', 57637); + SELECT 1 FROM master_remove_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-begin: - BEGIN; + BEGIN; step s2-alter-extension-update-to-version-12: - ALTER extension seg update to "1.2"; + ALTER extension seg update to "1.2"; step s1-add-node-1: - SELECT 1 FROM master_add_node('localhost', 57637); + SELECT 1 FROM master_add_node('localhost', 57637); -step s2-commit: - COMMIT; +step s2-commit: + 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'; - SELECT run_command_on_workers($$select extname from pg_extension where extname='seg'$$); - SELECT run_command_on_workers($$select extversion from pg_extension where extname='seg'$$); - SELECT run_command_on_workers($$select nspname from pg_extension, pg_namespace where extname='seg' and pg_extension.extnamespace=pg_namespace.oid$$); + 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'; + SELECT run_command_on_workers($$select extname from pg_extension where extname='seg'$$); + SELECT run_command_on_workers($$select extversion from pg_extension where extname='seg'$$); + 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 step s2-add-node-1: - SELECT 1 FROM master_add_node('localhost', 57637); + SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-begin: - BEGIN; + BEGIN; step s2-drop-extension: - drop extension seg; + drop extension seg; step s1-remove-node-1: - SELECT 1 FROM master_remove_node('localhost', 57637); + SELECT 1 FROM master_remove_node('localhost', 57637); -step s2-commit: - COMMIT; +step s2-commit: + 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'; - SELECT run_command_on_workers($$select extname from pg_extension where extname='seg'$$); - SELECT run_command_on_workers($$select extversion from pg_extension where extname='seg'$$); - SELECT run_command_on_workers($$select nspname from pg_extension, pg_namespace where extname='seg' and pg_extension.extnamespace=pg_namespace.oid$$); + 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'; + SELECT run_command_on_workers($$select extname from pg_extension where extname='seg'$$); + SELECT run_command_on_workers($$select extversion from pg_extension where extname='seg'$$); + 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 step s2-begin: - BEGIN; + BEGIN; step s2-create-extension-with-schema1: - CREATE extension seg with schema schema1; + CREATE extension seg with schema schema1; step s1-add-node-1: - SELECT 1 FROM master_add_node('localhost', 57637); + SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-commit: - COMMIT; + COMMIT; 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'; - SELECT run_command_on_workers($$select extname from pg_extension where extname='seg'$$); - SELECT run_command_on_workers($$select extversion from pg_extension where extname='seg'$$); - SELECT run_command_on_workers($$select nspname from pg_extension, pg_namespace where extname='seg' and pg_extension.extnamespace=pg_namespace.oid$$); + 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'; + SELECT run_command_on_workers($$select extname from pg_extension where extname='seg'$$); + SELECT run_command_on_workers($$select extversion from pg_extension where extname='seg'$$); + 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 step s2-drop-extension: - drop extension seg; + drop extension seg; step s2-add-node-1: - SELECT 1 FROM master_add_node('localhost', 57637); + 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; + CREATE extension seg with schema schema2; step s2-begin: - BEGIN; + BEGIN; step s2-alter-extension-version-13: - ALTER extension seg update to "1.3"; + ALTER extension seg update to "1.3"; step s1-remove-node-1: - SELECT 1 FROM master_remove_node('localhost', 57637); + SELECT 1 FROM master_remove_node('localhost', 57637); -step s2-commit: - COMMIT; +step s2-commit: + 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'; - SELECT run_command_on_workers($$select extname from pg_extension where extname='seg'$$); - SELECT run_command_on_workers($$select extversion from pg_extension where extname='seg'$$); - SELECT run_command_on_workers($$select nspname from pg_extension, pg_namespace where extname='seg' and pg_extension.extnamespace=pg_namespace.oid$$); + 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'; + SELECT run_command_on_workers($$select extname from pg_extension where extname='seg'$$); + SELECT run_command_on_workers($$select extversion from pg_extension where extname='seg'$$); + 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 step s2-drop-extension: - drop extension seg; + drop extension seg; step s2-add-node-1: - SELECT 1 FROM master_add_node('localhost', 57637); + SELECT 1 FROM master_add_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-begin: - BEGIN; + BEGIN; step s2-create-extension-version-11: - CREATE extension seg VERSION "1.1"; + CREATE extension seg VERSION "1.1"; step s1-remove-node-1: - SELECT 1 FROM master_remove_node('localhost', 57637); + SELECT 1 FROM master_remove_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-commit: - COMMIT; + COMMIT; 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'; - SELECT run_command_on_workers($$select extname from pg_extension where extname='seg'$$); - SELECT run_command_on_workers($$select extversion from pg_extension where extname='seg'$$); - SELECT run_command_on_workers($$select nspname from pg_extension, pg_namespace where extname='seg' and pg_extension.extnamespace=pg_namespace.oid$$); + 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'; + SELECT run_command_on_workers($$select extname from pg_extension where extname='seg'$$); + SELECT run_command_on_workers($$select extversion from pg_extension where extname='seg'$$); + 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 step s2-drop-extension: - drop extension seg; + drop extension seg; step s2-add-node-1: - SELECT 1 FROM master_add_node('localhost', 57637); + 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"; + CREATE extension seg VERSION "1.1"; step s2-remove-node-1: - SELECT 1 FROM master_remove_node('localhost', 57637); + SELECT 1 FROM master_remove_node('localhost', 57637); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-begin: - BEGIN; + BEGIN; step s2-drop-extension: - drop extension seg; + drop extension seg; step s1-add-node-1: - SELECT 1 FROM master_add_node('localhost', 57637); + SELECT 1 FROM master_add_node('localhost', 57637); -step s2-commit: - COMMIT; +step s2-commit: + 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'; - SELECT run_command_on_workers($$select extname from pg_extension where extname='seg'$$); - SELECT run_command_on_workers($$select extversion from pg_extension where extname='seg'$$); - SELECT run_command_on_workers($$select nspname from pg_extension, pg_namespace where extname='seg' and pg_extension.extnamespace=pg_namespace.oid$$); + 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'; + SELECT run_command_on_workers($$select extname from pg_extension where extname='seg'$$); + SELECT run_command_on_workers($$select extversion from pg_extension where extname='seg'$$); + 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 56db49f47..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 @@ -2,848 +2,1120 @@ Parsed test spec with 4 sessions starting permutation: s1-begin s1-update-ref-table-from-coordinator s2-start-session-level-connection s2-begin-on-worker s2-update-ref-table s3-select-distributed-waiting-queries s1-commit s2-commit-worker s2-stop-connection step s1-begin: - BEGIN; + BEGIN; step s1-update-ref-table-from-coordinator: - UPDATE ref_table SET value_1 = 15; + UPDATE ref_table SET value_1 = 15; step s2-start-session-level-connection: - SELECT start_session_level_connection_to_node('localhost', 57638); + 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'); + 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'); + SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET value_1 = 12 WHERE user_id = 1'); -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; +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 = 15; +|localhost |coordinator_host | 57638| 57636 +(1 row) -UPDATE ref_table SET value_1 = 12 WHERE user_id = 1 - UPDATE ref_table SET value_1 = 15; -localhost coordinator_host57638 57636 step s1-commit: - 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(); + 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 step s1-start-session-level-connection: - SELECT start_session_level_connection_to_node('localhost', 57637); + 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'); + 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'); + 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); + 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'); + 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'); + SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET value_1 = 12 WHERE user_id = 1'); -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; +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(); + 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(); + 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 step s1-start-session-level-connection: - SELECT start_session_level_connection_to_node('localhost', 57637); + 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'); + 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'); + 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); + 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'); + 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'); + SELECT run_commands_on_session_level_connection_to_node('UPDATE tt1 SET value_1 = 5'); -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; +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(); + 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(); + 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 step s1-start-session-level-connection: - SELECT start_session_level_connection_to_node('localhost', 57637); + 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'); + 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'); + 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); + 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'); + 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'); + SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET value_1 = 12 WHERE user_id = 1'); -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; +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(); + 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(); + 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 step s1-start-session-level-connection: - SELECT start_session_level_connection_to_node('localhost', 57637); + 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'); + 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)'); + 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); + 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'); + 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'); + SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET value_1 = 12 WHERE user_id = 1'); -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; +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(); + 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(); + 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 step s1-start-session-level-connection: - SELECT start_session_level_connection_to_node('localhost', 57637); + 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'); + 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)'); + 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); + 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'); + 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)'); + 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; + 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(); + 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(); + 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 step s1-start-session-level-connection: - SELECT start_session_level_connection_to_node('localhost', 57637); + 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'); + 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'); + 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); + 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'); + 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'); + SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET value_1 = 12 WHERE user_id = 1'); -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; +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(); + 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(); + 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 step s1-start-session-level-connection: - SELECT start_session_level_connection_to_node('localhost', 57637); + 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'); + 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'); + 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); + 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'); + 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)'); + 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; + 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(); + 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(); + 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 step s1-start-session-level-connection: - SELECT start_session_level_connection_to_node('localhost', 57637); + 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'); + 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'); + 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); + 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'); + 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'); + 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; + 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(); + 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(); + 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 step s1-start-session-level-connection: - SELECT start_session_level_connection_to_node('localhost', 57637); + 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'); + 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'); + 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); + 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'); + 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'); + SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET value_1 = 12 WHERE user_id = 1'); -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; +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(); + 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(); + 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 step s2-start-session-level-connection: - SELECT start_session_level_connection_to_node('localhost', 57638); + 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'); + 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)'); + 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; + BEGIN; step s1-alter-table: - ALTER TABLE ref_table ADD CONSTRAINT rf_p_key PRIMARY KEY(user_id); + ALTER TABLE ref_table ADD CONSTRAINT rf_p_key PRIMARY KEY(user_id); -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; +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_host |localhost | 57636| 57638 +(1 row) - 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 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: - COMMIT; + COMMIT; step s2-stop-connection: - SELECT stop_session_level_connection_to_node(); + 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 step s1-begin: - BEGIN; + BEGIN; step s1-update-on-the-coordinator: - UPDATE tt1 SET value_1 = 4; + UPDATE tt1 SET value_1 = 4; step s2-update-on-the-coordinator: - UPDATE tt1 SET value_1 = 4; + UPDATE tt1 SET value_1 = 4; -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; +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_host |coordinator_host | 57636| 57636 +(1 row) - UPDATE tt1 SET value_1 = 4; - - UPDATE tt1 SET value_1 = 4; -coordinator_hostcoordinator_host57636 57636 step s1-commit: - 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 step s1-start-session-level-connection: - SELECT start_session_level_connection_to_node('localhost', 57637); + 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'); + 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'); + 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); + 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'); + 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'); + SELECT run_commands_on_session_level_connection_to_node('UPDATE tt1 SET value_1 = 5'); -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; +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(); + 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(); + 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 3fcde1374..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; @@ -590,13 +756,15 @@ step s1-drop: DROP TABLE hash_copy; 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 in steps s1-commit s2-copy: ERROR: relation "hash_copy" does not exist +ERROR: relation "hash_copy" does not exist step s1-select-count: SELECT COUNT(*) FROM hash_copy; 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; @@ -645,20 +825,26 @@ step s1-ddl-add-column: ALTER TABLE hash_copy ADD new_column int DEFAULT 0; 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 in steps s1-commit s2-copy: ERROR: missing data for column "new_column" +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 in steps s1-commit s2-copy: ERROR: could not find any shards into which to copy +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 0c8a69760..9c5411727 100644 --- a/src/test/regress/expected/isolation_insert_select_conflict.out +++ b/src/test/regress/expected/isolation_insert_select_conflict.out @@ -2,300 +2,326 @@ 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; - BEGIN; + SET citus.shard_replication_factor to 1; + BEGIN; step s1-insert-into-select-conflict-update: - INSERT INTO target_table - SELECT - col_1, col_2 - FROM ( - SELECT - col_1, col_2, col_3 - FROM - source_table - LIMIT 5 - ) as foo - ON CONFLICT(col_1) DO UPDATE SET col_2 = EXCLUDED.col_2 RETURNING *; + INSERT INTO target_table + SELECT + col_1, col_2 + FROM ( + SELECT + col_1, col_2, col_3 + FROM + source_table + LIMIT 5 + ) 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; + BEGIN; step s2-update: - UPDATE target_table SET col_2 = 5; + UPDATE target_table SET col_2 = 5; -step s1-commit: - COMMIT; +step s1-commit: + COMMIT; step s2-update: <... completed> step s2-commit: - COMMIT; + 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; - BEGIN; + SET citus.shard_replication_factor to 1; + BEGIN; step s1-insert-into-select-conflict-do-nothing: - INSERT INTO target_table - SELECT - col_1, col_2 - FROM ( - SELECT - col_1, col_2, col_3 - FROM - source_table - LIMIT 5 - ) as foo - ON CONFLICT DO NOTHING; + INSERT INTO target_table + SELECT + col_1, col_2 + FROM ( + SELECT + col_1, col_2, col_3 + FROM + source_table + LIMIT 5 + ) as foo + ON CONFLICT DO NOTHING; step s2-begin: - BEGIN; + BEGIN; step s2-delete: - DELETE FROM target_table; + DELETE FROM target_table; -step s1-commit: - COMMIT; +step s1-commit: + COMMIT; step s2-delete: <... completed> step s2-commit: - COMMIT; + 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; - BEGIN; + SET citus.shard_replication_factor to 1; + BEGIN; step s1-insert-into-select-conflict-do-nothing: - INSERT INTO target_table - SELECT - col_1, col_2 - FROM ( - SELECT - col_1, col_2, col_3 - FROM - source_table - LIMIT 5 - ) as foo - ON CONFLICT DO NOTHING; + INSERT INTO target_table + SELECT + col_1, col_2 + FROM ( + SELECT + col_1, col_2, col_3 + FROM + source_table + LIMIT 5 + ) as foo + ON CONFLICT DO NOTHING; step s2-begin: - BEGIN; + BEGIN; step s2-insert-into-select-conflict-update: - INSERT INTO target_table - SELECT - col_1, col_2 - FROM ( - SELECT - col_1, col_2, col_3 - FROM - source_table - LIMIT 5 - ) as foo - ON CONFLICT(col_1) DO UPDATE SET col_2 = EXCLUDED.col_2 RETURNING *; + INSERT INTO target_table + SELECT + col_1, col_2 + FROM ( + SELECT + col_1, col_2, col_3 + FROM + source_table + LIMIT 5 + ) as foo + ON CONFLICT(col_1) DO UPDATE SET col_2 = EXCLUDED.col_2 RETURNING *; -step s1-commit: - COMMIT; +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; + 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; - BEGIN; + SET citus.shard_replication_factor to 1; + BEGIN; step s1-insert-into-select-conflict-update: - INSERT INTO target_table - SELECT - col_1, col_2 - FROM ( - SELECT - col_1, col_2, col_3 - FROM - source_table - LIMIT 5 - ) as foo - ON CONFLICT(col_1) DO UPDATE SET col_2 = EXCLUDED.col_2 RETURNING *; + INSERT INTO target_table + SELECT + col_1, col_2 + FROM ( + SELECT + col_1, col_2, col_3 + FROM + source_table + LIMIT 5 + ) 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; + BEGIN; step s2-insert-into-select-conflict-update: - INSERT INTO target_table - SELECT - col_1, col_2 - FROM ( - SELECT - col_1, col_2, col_3 - FROM - source_table - LIMIT 5 - ) as foo - ON CONFLICT(col_1) DO UPDATE SET col_2 = EXCLUDED.col_2 RETURNING *; + INSERT INTO target_table + SELECT + col_1, col_2 + FROM ( + SELECT + col_1, col_2, col_3 + FROM + source_table + LIMIT 5 + ) as foo + ON CONFLICT(col_1) DO UPDATE SET col_2 = EXCLUDED.col_2 RETURNING *; -step s1-commit: - COMMIT; +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; + 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; - BEGIN; + SET citus.shard_replication_factor to 1; + BEGIN; step s1-insert-into-select-conflict-update: - INSERT INTO target_table - SELECT - col_1, col_2 - FROM ( - SELECT - col_1, col_2, col_3 - FROM - source_table - LIMIT 5 - ) as foo - ON CONFLICT(col_1) DO UPDATE SET col_2 = EXCLUDED.col_2 RETURNING *; + INSERT INTO target_table + SELECT + col_1, col_2 + FROM ( + SELECT + col_1, col_2, col_3 + FROM + source_table + LIMIT 5 + ) 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; + BEGIN; step s2-insert-into-select-conflict-do-nothing: - INSERT INTO target_table - SELECT - col_1, col_2 - FROM ( - SELECT - col_1, col_2, col_3 - FROM - source_table - LIMIT 5 - ) as foo - ON CONFLICT DO NOTHING; + INSERT INTO target_table + SELECT + col_1, col_2 + FROM ( + SELECT + col_1, col_2, col_3 + FROM + source_table + LIMIT 5 + ) as foo + ON CONFLICT DO NOTHING; -step s1-commit: - COMMIT; +step s1-commit: + COMMIT; step s2-insert-into-select-conflict-do-nothing: <... completed> step s2-commit: - COMMIT; + 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; - BEGIN; + SET citus.shard_replication_factor to 2; + BEGIN; step s1-insert-into-select-conflict-update-replication-factor-2: - INSERT INTO target_table_2 - SELECT - col_1, col_2 - FROM ( - SELECT - col_1, col_2, col_3 - FROM - source_table - LIMIT 5 - ) as foo - ON CONFLICT(col_1) DO UPDATE SET col_2 = EXCLUDED.col_2 RETURNING *; + INSERT INTO target_table_2 + SELECT + col_1, col_2 + FROM ( + SELECT + col_1, col_2, col_3 + FROM + source_table + LIMIT 5 + ) 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; + SET citus.shard_replication_factor to 2; + BEGIN; step s2-insert-into-select-conflict-update-replication-factor-2: - INSERT INTO target_table_2 - SELECT - col_1, col_2 - FROM ( - SELECT - col_1, col_2, col_3 - FROM - source_table - LIMIT 5 - ) as foo - ON CONFLICT(col_1) DO UPDATE SET col_2 = EXCLUDED.col_2 RETURNING *; + INSERT INTO target_table_2 + SELECT + col_1, col_2 + FROM ( + SELECT + col_1, col_2, col_3 + FROM + source_table + LIMIT 5 + ) as foo + ON CONFLICT(col_1) DO UPDATE SET col_2 = EXCLUDED.col_2 RETURNING *; -step s1-commit: - COMMIT; +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; + 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 71c26f452..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,13 +2,15 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; 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;; @@ -16,18 +18,22 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; 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;; @@ -35,18 +41,22 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; 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;; @@ -54,18 +64,22 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; 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;; @@ -74,18 +88,22 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; 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;; @@ -94,18 +112,22 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; 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;; @@ -114,23 +136,29 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; step s1-ddl-create-index-on-inserted: CREATE INDEX insert_of_insert_select_hash_index ON insert_of_insert_select_hash(id); step s1-begin: BEGIN; @@ -140,23 +168,29 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; 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;; @@ -165,23 +199,29 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; 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;; @@ -190,23 +230,29 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; step s1-ddl-add-column-on-inserted: ALTER TABLE insert_of_insert_select_hash ADD new_column int DEFAULT 0; step s1-begin: BEGIN; @@ -216,23 +262,29 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; 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;; @@ -241,50 +293,64 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; 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;; @@ -292,18 +358,22 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; 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;; @@ -311,24 +381,30 @@ 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); 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; 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;; @@ -336,22 +412,28 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; 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;; @@ -359,18 +441,22 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; 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;; @@ -378,18 +464,22 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; 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;; @@ -398,18 +488,22 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; 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;; @@ -421,13 +515,15 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; 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;; @@ -435,23 +531,29 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; step s1-ddl-create-index-on-selected: CREATE INDEX select_of_insert_select_hash_index ON select_of_insert_select_hash(id); step s1-begin: BEGIN; @@ -461,23 +563,29 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; 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;; @@ -486,23 +594,29 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; 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;; @@ -511,23 +625,29 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; step s1-ddl-add-column-on-selected: ALTER TABLE select_of_insert_select_hash ADD new_column int DEFAULT 0; step s1-begin: BEGIN; @@ -537,23 +657,29 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; 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;; @@ -562,45 +688,57 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; 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;; @@ -608,18 +746,22 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; 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;; @@ -627,46 +769,58 @@ 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); 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; step s1-begin: BEGIN; step s1-update-on-inserted: UPDATE insert_of_insert_select_hash SET data = 'l' WHERE id = 4; @@ -674,18 +828,22 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; step s1-begin: BEGIN; step s1-delete-on-inserted: DELETE FROM insert_of_insert_select_hash WHERE id = 4; @@ -693,18 +851,22 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; step s1-begin: BEGIN; step s1-truncate-on-inserted: TRUNCATE insert_of_insert_select_hash; @@ -713,39 +875,47 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; step s1-begin: BEGIN; step s1-drop-on-inserted: DROP TABLE insert_of_insert_select_hash; 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 in steps s1-commit s2-insert-select: ERROR: relation "insert_of_insert_select_hash" does not exist +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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; step s1-begin: BEGIN; step s1-ddl-create-index-on-inserted: CREATE INDEX insert_of_insert_select_hash_index ON insert_of_insert_select_hash(id); @@ -754,23 +924,29 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; step s1-ddl-create-index-on-inserted: CREATE INDEX insert_of_insert_select_hash_index ON insert_of_insert_select_hash(id); step s1-begin: BEGIN; @@ -780,23 +956,29 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; step s1-begin: BEGIN; step s1-ddl-add-column-on-inserted: ALTER TABLE insert_of_insert_select_hash ADD new_column int DEFAULT 0; @@ -805,23 +987,29 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; step s1-ddl-add-column-on-inserted: ALTER TABLE insert_of_insert_select_hash ADD new_column int DEFAULT 0; step s1-begin: BEGIN; @@ -831,23 +1019,29 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; step s1-begin: BEGIN; step s1-ddl-rename-column-on-inserted: ALTER TABLE insert_of_insert_select_hash RENAME data TO new_column; @@ -856,45 +1050,57 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; step s1-begin: BEGIN; step s1-master-modify-multiple-shards-on-inserted: DELETE FROM insert_of_insert_select_hash; @@ -902,67 +1108,83 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; 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 in steps s1-commit s2-insert-select: ERROR: could not find any shards into which to copy +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); 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; step s1-begin: BEGIN; step s1-update-on-selected: UPDATE select_of_insert_select_hash SET data = 'l' WHERE id = 4; @@ -970,18 +1192,22 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; step s1-begin: BEGIN; step s1-delete-on-selected: DELETE FROM select_of_insert_select_hash WHERE id = 4; @@ -989,18 +1215,22 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; step s1-begin: BEGIN; step s1-truncate-on-selected: TRUNCATE select_of_insert_select_hash; @@ -1009,37 +1239,43 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; step s1-begin: BEGIN; step s1-drop-on-selected: DROP TABLE select_of_insert_select_hash; 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 in steps s1-commit s2-insert-select: ERROR: relation "select_of_insert_select_hash" does not exist +ERROR: relation "select_of_insert_select_hash" does not exist step s1-select-count: SELECT COUNT(*) FROM select_of_insert_select_hash; 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; step s1-begin: BEGIN; step s1-ddl-create-index-on-selected: CREATE INDEX select_of_insert_select_hash_index ON select_of_insert_select_hash(id); @@ -1047,23 +1283,29 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; step s1-ddl-create-index-on-selected: CREATE INDEX select_of_insert_select_hash_index ON select_of_insert_select_hash(id); step s1-begin: BEGIN; @@ -1073,49 +1315,61 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; step s1-begin: BEGIN; step s1-ddl-add-column-on-selected: ALTER TABLE select_of_insert_select_hash ADD new_column int DEFAULT 0; 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 in steps s1-commit s2-insert-select: ERROR: INSERT has more expressions than target columns +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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; step s1-ddl-add-column-on-selected: ALTER TABLE select_of_insert_select_hash ADD new_column int DEFAULT 0; step s1-begin: BEGIN; @@ -1125,23 +1379,29 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; step s1-begin: BEGIN; step s1-ddl-rename-column-on-selected: ALTER TABLE select_of_insert_select_hash RENAME data TO new_column; @@ -1150,45 +1410,57 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; step s1-begin: BEGIN; step s1-master-modify-multiple-shards-on-selected: DELETE FROM select_of_insert_select_hash; @@ -1196,52 +1468,66 @@ 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; 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); 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; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; - COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; - COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + 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; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV; + COPY insert_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; + COPY select_of_insert_select_hash FROM PROGRAM 'echo 5, a && echo 6, b && echo 7, c && echo 8, d && echo 9, e' WITH CSV; 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 178c5a4dd..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'); + 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'); + 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'); + 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(); + 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; + 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'); + 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'); + 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'); + 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(); + 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; + 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'); + 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'); + 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'); + 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(); + 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; + 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'); + 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'); + 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'); + 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(); + 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; + 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'); + 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)') + 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'); + 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(); + 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; + 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'); + 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') + 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'); + 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(); + 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; + 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'); + 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'); + 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(); + 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; + 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'); + 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'); + 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(); + 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; + 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'); + 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'); + 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'); + 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(); + 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; + 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'); + 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'); + 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'); + 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(); + 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; + 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,54 +955,68 @@ 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'); + 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; + BEGIN; step s2-coordinator-drop: - DROP TABLE dist_table; + DROP TABLE dist_table; -step s1-commit-worker: - SELECT run_commands_on_session_level_connection_to_node('COMMIT'); +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: - COMMIT; + COMMIT; step s1-stop-connection: - SELECT stop_session_level_connection_to_node(); + 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; + 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,54 +1024,68 @@ 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'); + 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; + BEGIN; step s2-coordinator-drop: - DROP TABLE dist_table; + DROP TABLE dist_table; -step s1-commit-worker: - SELECT run_commands_on_session_level_connection_to_node('COMMIT'); +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: - COMMIT; + COMMIT; step s1-stop-connection: - SELECT stop_session_level_connection_to_node(); + 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; + 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'); + 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'); + 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'); + 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(); + 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; + 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'); + 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'); + 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'); + 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(); + 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; + 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 197130b47..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; @@ -366,13 +470,15 @@ step s1-drop: DROP TABLE insert_hash; step s2-insert: INSERT INTO insert_hash VALUES(7, 'k'); step s1-commit: COMMIT; step s2-insert: <... completed> -error in steps s1-commit s2-insert: ERROR: relation "insert_hash" does not exist +ERROR: relation "insert_hash" does not exist step s1-select-count: SELECT COUNT(*) FROM insert_hash; 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; @@ -833,13 +1071,15 @@ step s1-drop: DROP TABLE insert_hash; 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> -error in steps s1-commit s2-insert-multi-row: ERROR: relation "insert_hash" does not exist +ERROR: relation "insert_hash" does not exist step s1-select-count: SELECT COUNT(*) FROM insert_hash; 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 5a70f0bf3..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)'); + 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'); + 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; + SELECT COUNT(*) FROM insert_table; count +--------------------------------------------------------------------- + 7 +(1 row) -7 step s1-stop-connection: - SELECT stop_session_level_connection_to_node(); + 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)'); + 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'); + 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; + SELECT COUNT(*) FROM insert_table; count +--------------------------------------------------------------------- + 9 +(1 row) -9 step s1-stop-connection: - SELECT stop_session_level_connection_to_node(); + 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)'); + 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)'); + 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'); + 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; + SELECT COUNT(*) FROM insert_table; count +--------------------------------------------------------------------- + 9 +(1 row) -9 step s1-stop-connection: - SELECT stop_session_level_connection_to_node(); + 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)'); + 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)'); + 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'); + 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; + SELECT COUNT(*) FROM insert_table; count +--------------------------------------------------------------------- + 11 +(1 row) -11 step s1-stop-connection: - SELECT stop_session_level_connection_to_node(); + 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)'); + 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'); + 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'); + 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; + SELECT COUNT(*) FROM insert_table; count +--------------------------------------------------------------------- + 6 +(1 row) -6 step s1-stop-connection: - SELECT stop_session_level_connection_to_node(); + 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)'); + 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'); + 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'); + 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; + SELECT COUNT(*) FROM insert_table; count +--------------------------------------------------------------------- + 11 +(1 row) -11 step s1-stop-connection: - SELECT stop_session_level_connection_to_node(); + 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)'); + 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'); + 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'); + 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; + SELECT COUNT(*) FROM insert_table; count +--------------------------------------------------------------------- + 6 +(1 row) -6 step s1-stop-connection: - SELECT stop_session_level_connection_to_node(); + 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)'); + 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)'); + 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'); + 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; + SELECT COUNT(*) FROM insert_table; count +--------------------------------------------------------------------- + 8 +(1 row) -8 step s1-stop-connection: - SELECT stop_session_level_connection_to_node(); + 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)'); + 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'); + 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'); + 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; + SELECT COUNT(*) FROM insert_table; count +--------------------------------------------------------------------- + 8 +(1 row) -8 step s1-stop-connection: - SELECT stop_session_level_connection_to_node(); + 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,71 +860,95 @@ 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)'); + 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'); + SELECT run_commands_on_session_level_connection_to_node('TRUNCATE insert_table'); -step s1-commit-worker: - SELECT run_commands_on_session_level_connection_to_node('COMMIT'); +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; + SELECT COUNT(*) FROM insert_table; count +--------------------------------------------------------------------- + 0 +(1 row) -0 step s1-stop-connection: - SELECT stop_session_level_connection_to_node(); + 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)'); + 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'); + 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'); + 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; + SELECT COUNT(*) FROM insert_table; count +--------------------------------------------------------------------- + 6 +(1 row) -6 step s1-stop-connection: - SELECT stop_session_level_connection_to_node(); + 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 d9fda9453..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; @@ -30,7 +34,7 @@ step s1-insert: step s2-vacuum-full: VACUUM FULL test_insert_vacuum; -step s1-commit: +step s1-commit: COMMIT; step s2-vacuum-full: <... completed> diff --git a/src/test/regress/expected/isolation_master_append_table.out b/src/test/regress/expected/isolation_master_append_table.out index 539384e2d..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) @@ -26,13 +28,15 @@ step s2-master_append_table_to_shard: WHERE 'table_to_append'::regclass::oid = logicalrelid; -step s1-commit: +step s1-commit: 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 b4ea51901..e53e3d52d 100644 --- a/src/test/regress/expected/isolation_master_apply_delete.out +++ b/src/test/regress/expected/isolation_master_apply_delete.out @@ -5,26 +5,30 @@ step s1-begin: BEGIN; step s2-begin: - BEGIN; + BEGIN; step s1-master_apply_delete_command_all_shard: - SELECT master_apply_delete_command($$DELETE FROM table_to_delete_from WHERE id >= 0$$); + 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$$); + SELECT master_apply_delete_command($$DELETE FROM table_to_delete_from WHERE id >= 0$$); -step s1-commit: +step s1-commit: COMMIT; step s2-master_apply_delete_command_all_shard: <... completed> master_apply_delete_command +--------------------------------------------------------------------- + 0 +(1 row) -0 step s2-commit: - COMMIT; + COMMIT; starting permutation: s1-begin s2-begin s1-master_apply_delete_command_all_shard s2-master_apply_delete_command_row s1-commit s2-commit @@ -32,26 +36,30 @@ step s1-begin: BEGIN; step s2-begin: - BEGIN; + BEGIN; step s1-master_apply_delete_command_all_shard: - SELECT master_apply_delete_command($$DELETE FROM table_to_delete_from WHERE id >= 0$$); + 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$$); + SELECT master_apply_delete_command($$DELETE FROM table_to_delete_from WHERE id >= 0 and id < 3$$); -step s1-commit: +step s1-commit: COMMIT; step s2-master_apply_delete_command_row: <... completed> master_apply_delete_command +--------------------------------------------------------------------- + 0 +(1 row) -0 step s2-commit: - COMMIT; + COMMIT; starting permutation: s1-begin s2-begin s1-master_apply_delete_command_row s2-master_apply_delete_command_all_shard s1-commit s2-commit @@ -59,26 +67,30 @@ step s1-begin: BEGIN; step s2-begin: - BEGIN; + BEGIN; step s1-master_apply_delete_command_row: - SELECT master_apply_delete_command($$DELETE FROM table_to_delete_from WHERE id >= 0 and id < 3$$); + 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$$); + SELECT master_apply_delete_command($$DELETE FROM table_to_delete_from WHERE id >= 0$$); -step s1-commit: +step s1-commit: COMMIT; step s2-master_apply_delete_command_all_shard: <... completed> master_apply_delete_command +--------------------------------------------------------------------- + 1 +(1 row) -1 step s2-commit: - COMMIT; + COMMIT; starting permutation: s1-begin s2-begin s1-master_apply_delete_command_row s2-master_apply_delete_command_row s1-commit s2-commit @@ -86,24 +98,28 @@ step s1-begin: BEGIN; step s2-begin: - BEGIN; + BEGIN; step s1-master_apply_delete_command_row: - SELECT master_apply_delete_command($$DELETE FROM table_to_delete_from WHERE id >= 0 and id < 3$$); + 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$$); + SELECT master_apply_delete_command($$DELETE FROM table_to_delete_from WHERE id >= 0 and id < 3$$); -step s1-commit: +step s1-commit: COMMIT; step s2-master_apply_delete_command_row: <... completed> master_apply_delete_command +--------------------------------------------------------------------- + 0 +(1 row) -0 step s2-commit: - 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 cc746278e..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,17 +49,20 @@ 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; -WARNING: this step had a leftover error message FATAL: terminating connection due to administrator command server closed the connection unexpectedly This probably means the server terminated abnormally before or while processing the request. master_remove_node +--------------------------------------------------------------------- +(2 rows) diff --git a/src/test/regress/expected/isolation_master_update_node_1.out b/src/test/regress/expected/isolation_master_update_node_1.out new file mode 100644 index 000000000..a3864a2d5 --- /dev/null +++ b/src/test/regress/expected/isolation_master_update_node_1.out @@ -0,0 +1,67 @@ +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); +step s2-begin: BEGIN; +step s2-update-node-1: + -- update a specific node by address + SELECT master_update_node(nodeid, 'localhost', nodeport + 10) + FROM pg_dist_node + WHERE nodename = 'localhost' + AND nodeport = 57637; + +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); +step s2-begin: BEGIN; +step s2-update-node-1-force: + -- update a specific node by address (force) + SELECT master_update_node(nodeid, 'localhost', nodeport + 10, force => true, lock_cooldown => 100) + FROM pg_dist_node + WHERE nodename = 'localhost' + AND nodeport = 57637; + +step s2-update-node-1-force: <... completed> +master_update_node +--------------------------------------------------------------------- + +(1 row) + +step s2-abort: ABORT; +step s1-abort: ABORT; +FATAL: terminating connection due to administrator command +FATAL: terminating connection due to administrator command +SSL connection has been closed unexpectedly + +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 0482d3c74..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,25 +62,31 @@ 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'); -step s1-update-2: +step s1-update-2: UPDATE deadlock_detection_test SET some_val = 1 WHERE user_id = 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) -error in steps s1-update-2 s2-update-1-on-worker: ERROR: canceling the transaction since it was involved in a distributed deadlock 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_modify_with_subquery_vs_dml.out b/src/test/regress/expected/isolation_modify_with_subquery_vs_dml.out index d61825ebc..15328aab6 100644 --- a/src/test/regress/expected/isolation_modify_with_subquery_vs_dml.out +++ b/src/test/regress/expected/isolation_modify_with_subquery_vs_dml.out @@ -5,7 +5,7 @@ step s1-begin: BEGIN; step s2-begin: - BEGIN; + BEGIN; step s2-modify_with_subquery_v1: UPDATE users_test_table SET value_2 = 5 FROM events_test_table WHERE users_test_table.user_id = events_test_table.user_id; @@ -13,8 +13,8 @@ step s2-modify_with_subquery_v1: step s1-insert_to_events_test_table: INSERT INTO events_test_table VALUES(4,6,8,10); -step s2-commit: - COMMIT; +step s2-commit: + COMMIT; step s1-insert_to_events_test_table: <... completed> step s1-commit: @@ -26,16 +26,16 @@ step s1-begin: BEGIN; step s2-begin: - BEGIN; + BEGIN; step s2-modify_with_subquery_v1: UPDATE users_test_table SET value_2 = 5 FROM events_test_table WHERE users_test_table.user_id = events_test_table.user_id; step s1-update_events_test_table: - UPDATE users_test_table SET value_1 = 3; + UPDATE users_test_table SET value_1 = 3; -step s2-commit: - COMMIT; +step s2-commit: + COMMIT; step s1-update_events_test_table: <... completed> step s1-commit: @@ -47,16 +47,16 @@ step s1-begin: BEGIN; step s2-begin: - BEGIN; + BEGIN; step s2-modify_with_subquery_v1: UPDATE users_test_table SET value_2 = 5 FROM events_test_table WHERE users_test_table.user_id = events_test_table.user_id; step s1-delete_events_test_table: - DELETE FROM events_test_table WHERE user_id = 1 or user_id = 3; + DELETE FROM events_test_table WHERE user_id = 1 or user_id = 3; -step s2-commit: - COMMIT; +step s2-commit: + COMMIT; step s1-delete_events_test_table: <... completed> step s1-commit: @@ -68,7 +68,7 @@ step s1-begin: BEGIN; step s2-begin: - BEGIN; + BEGIN; step s1-insert_to_events_test_table: INSERT INTO events_test_table VALUES(4,6,8,10); @@ -76,12 +76,12 @@ step s1-insert_to_events_test_table: step s2-modify_with_subquery_v1: UPDATE users_test_table SET value_2 = 5 FROM events_test_table WHERE users_test_table.user_id = events_test_table.user_id; -step s1-commit: +step s1-commit: COMMIT; step s2-modify_with_subquery_v1: <... completed> step s2-commit: - COMMIT; + COMMIT; starting permutation: s1-begin s2-begin s1-update_events_test_table s2-modify_with_subquery_v1 s1-commit s2-commit @@ -89,20 +89,20 @@ step s1-begin: BEGIN; step s2-begin: - BEGIN; + BEGIN; step s1-update_events_test_table: - UPDATE users_test_table SET value_1 = 3; + UPDATE users_test_table SET value_1 = 3; step s2-modify_with_subquery_v1: UPDATE users_test_table SET value_2 = 5 FROM events_test_table WHERE users_test_table.user_id = events_test_table.user_id; -step s1-commit: +step s1-commit: COMMIT; step s2-modify_with_subquery_v1: <... completed> step s2-commit: - COMMIT; + COMMIT; starting permutation: s1-begin s2-begin s1-delete_events_test_table s2-modify_with_subquery_v1 s1-commit s2-commit @@ -110,18 +110,18 @@ step s1-begin: BEGIN; step s2-begin: - BEGIN; + BEGIN; step s1-delete_events_test_table: - DELETE FROM events_test_table WHERE user_id = 1 or user_id = 3; + DELETE FROM events_test_table WHERE user_id = 1 or user_id = 3; step s2-modify_with_subquery_v1: UPDATE users_test_table SET value_2 = 5 FROM events_test_table WHERE users_test_table.user_id = events_test_table.user_id; -step s1-commit: +step s1-commit: COMMIT; step s2-modify_with_subquery_v1: <... completed> step s2-commit: - COMMIT; + COMMIT; 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 8fcaf2ae5..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 @@ -5,40 +5,44 @@ step s1-begin: BEGIN; step s1-update_all_value_1: - UPDATE users_test_table SET value_1 = 3; + UPDATE users_test_table SET value_1 = 3; step s2-begin: - BEGIN; + BEGIN; step s2-select: - SELECT * FROM users_test_table ORDER BY value_2, value_3; + 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; + 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; + COMMIT; starting permutation: s1-begin s1-update_all_value_1 s2-begin s2-update_all_value_1 s1-commit s2-commit @@ -46,20 +50,20 @@ step s1-begin: BEGIN; step s1-update_all_value_1: - UPDATE users_test_table SET value_1 = 3; + UPDATE users_test_table SET value_1 = 3; step s2-begin: - BEGIN; + BEGIN; step s2-update_all_value_1: - UPDATE users_test_table SET value_1 = 6; + UPDATE users_test_table SET value_1 = 6; -step s1-commit: +step s1-commit: COMMIT; step s2-update_all_value_1: <... completed> step s2-commit: - COMMIT; + COMMIT; starting permutation: s1-begin s1-update_even_concurrently s2-begin s2-update_odd_concurrently s1-commit s2-commit @@ -67,23 +71,23 @@ step s1-begin: BEGIN; step s1-update_even_concurrently: - SET citus.enable_deadlock_prevention TO off; - UPDATE users_test_table SET value_1 = 3 WHERE user_id % 2 = 0; - SET citus.enable_deadlock_prevention TO on; + SET citus.enable_deadlock_prevention TO off; + UPDATE users_test_table SET value_1 = 3 WHERE user_id % 2 = 0; + SET citus.enable_deadlock_prevention TO on; step s2-begin: - BEGIN; + BEGIN; step s2-update_odd_concurrently: - SET citus.enable_deadlock_prevention = off; - UPDATE users_test_table SET value_1 = 3 WHERE user_id % 2 = 1; - SET citus.enable_deadlock_prevention TO on; + SET citus.enable_deadlock_prevention = off; + UPDATE users_test_table SET value_1 = 3 WHERE user_id % 2 = 1; + SET citus.enable_deadlock_prevention TO on; step s1-commit: COMMIT; step s2-commit: - COMMIT; + COMMIT; starting permutation: s1-begin s1-update_even_concurrently s2-begin s2-update_value_1_of_4_or_6_to_4 s1-commit s2-commit @@ -91,22 +95,22 @@ step s1-begin: BEGIN; step s1-update_even_concurrently: - SET citus.enable_deadlock_prevention TO off; - UPDATE users_test_table SET value_1 = 3 WHERE user_id % 2 = 0; - SET citus.enable_deadlock_prevention TO on; + SET citus.enable_deadlock_prevention TO off; + UPDATE users_test_table SET value_1 = 3 WHERE user_id % 2 = 0; + SET citus.enable_deadlock_prevention TO on; step s2-begin: - BEGIN; + BEGIN; step s2-update_value_1_of_4_or_6_to_4: - UPDATE users_test_table SET value_1 = 4 WHERE user_id = 4 or user_id = 6; + UPDATE users_test_table SET value_1 = 4 WHERE user_id = 4 or user_id = 6; -step s1-commit: +step s1-commit: COMMIT; step s2-update_value_1_of_4_or_6_to_4: <... completed> step s2-commit: - COMMIT; + COMMIT; starting permutation: s1-begin s1-update_value_1_of_1_or_3_to_5 s2-begin s2-update_value_1_of_4_or_6_to_4 s1-commit s2-commit s2-select @@ -114,158 +118,166 @@ step s1-begin: BEGIN; step s1-update_value_1_of_1_or_3_to_5: - UPDATE users_test_table SET value_1 = 5 WHERE user_id = 1 or user_id = 3; + UPDATE users_test_table SET value_1 = 5 WHERE user_id = 1 or user_id = 3; step s2-begin: - BEGIN; + BEGIN; step s2-update_value_1_of_4_or_6_to_4: - UPDATE users_test_table SET value_1 = 4 WHERE user_id = 4 or user_id = 6; + UPDATE users_test_table SET value_1 = 4 WHERE user_id = 4 or user_id = 6; step s1-commit: COMMIT; step s2-commit: - COMMIT; + COMMIT; step s2-select: - SELECT * FROM users_test_table ORDER BY value_2, value_3; + 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: BEGIN; step s1-update_value_1_of_1_or_3_to_5: - UPDATE users_test_table SET value_1 = 5 WHERE user_id = 1 or user_id = 3; + UPDATE users_test_table SET value_1 = 5 WHERE user_id = 1 or user_id = 3; step s2-begin: - BEGIN; + BEGIN; step s2-update_value_1_of_1_or_3_to_8: - UPDATE users_test_table SET value_1 = 8 WHERE user_id = 1 or user_id = 3; + UPDATE users_test_table SET value_1 = 8 WHERE user_id = 1 or user_id = 3; -step s1-commit: +step s1-commit: COMMIT; step s2-update_value_1_of_1_or_3_to_8: <... completed> step s2-commit: - COMMIT; + COMMIT; step s2-select: - SELECT * FROM users_test_table ORDER BY value_2, value_3; + 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: BEGIN; step s1-update_all_value_1: - UPDATE users_test_table SET value_1 = 3; + UPDATE users_test_table SET value_1 = 3; step s2-begin: - BEGIN; + BEGIN; step s2-insert-to-table: - INSERT INTO users_test_table VALUES (1,2,3,4); + INSERT INTO users_test_table VALUES (1,2,3,4); step s1-commit: COMMIT; step s2-commit: - COMMIT; + COMMIT; step s2-select: - SELECT * FROM users_test_table ORDER BY value_2, value_3; + 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: BEGIN; step s1-update_all_value_1: - UPDATE users_test_table SET value_1 = 3; + UPDATE users_test_table SET value_1 = 3; step s2-begin: - BEGIN; + BEGIN; step s2-insert-into-select: - INSERT INTO users_test_table SELECT * FROM events_test_table; + INSERT INTO users_test_table SELECT * FROM events_test_table; -step s1-commit: +step s1-commit: COMMIT; step s2-insert-into-select: <... completed> step s2-commit: - COMMIT; + COMMIT; step s2-select: - SELECT * FROM users_test_table ORDER BY value_2, value_3; + 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: BEGIN; step s2-begin: - BEGIN; + BEGIN; step s1-update_value_1_of_1_or_3_to_5: - UPDATE users_test_table SET value_1 = 5 WHERE user_id = 1 or user_id = 3; + UPDATE users_test_table SET value_1 = 5 WHERE user_id = 1 or user_id = 3; step s2-update_value_1_of_1_or_3_to_8: - UPDATE users_test_table SET value_1 = 8 WHERE user_id = 1 or user_id = 3; + UPDATE users_test_table SET value_1 = 8 WHERE user_id = 1 or user_id = 3; -step s1-commit: +step s1-commit: COMMIT; step s2-update_value_1_of_1_or_3_to_8: <... completed> step s2-commit: - COMMIT; + COMMIT; starting permutation: s1-begin s2-begin s2-update_value_1_of_1_or_3_to_8 s1-update_value_1_of_2_or_4_to_5 s2-commit s1-commit @@ -273,16 +285,16 @@ step s1-begin: BEGIN; step s2-begin: - BEGIN; + BEGIN; step s2-update_value_1_of_1_or_3_to_8: - UPDATE users_test_table SET value_1 = 8 WHERE user_id = 1 or user_id = 3; + UPDATE users_test_table SET value_1 = 8 WHERE user_id = 1 or user_id = 3; step s1-update_value_1_of_2_or_4_to_5: - UPDATE users_test_table SET value_1 = 5 WHERE user_id = 2 or user_id = 4; + UPDATE users_test_table SET value_1 = 5 WHERE user_id = 2 or user_id = 4; step s2-commit: - COMMIT; + COMMIT; step s1-commit: COMMIT; @@ -296,36 +308,38 @@ step s1-change_connection_mode_to_sequential: set citus.multi_shard_modify_mode to 'sequential'; step s1-update_all_value_1: - UPDATE users_test_table SET value_1 = 3; + UPDATE users_test_table SET value_1 = 3; step s2-begin: - BEGIN; + BEGIN; step s2-change_connection_mode_to_sequential: set citus.multi_shard_modify_mode to 'sequential'; step s2-update_all_value_1: - UPDATE users_test_table SET value_1 = 6; + UPDATE users_test_table SET value_1 = 6; -step s1-commit: +step s1-commit: COMMIT; step s2-update_all_value_1: <... completed> step s2-commit: - COMMIT; + COMMIT; step s2-select: - SELECT * FROM users_test_table ORDER BY value_2, value_3; + 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: @@ -335,36 +349,38 @@ step s1-change_connection_mode_to_sequential: set citus.multi_shard_modify_mode to 'sequential'; step s1-update_value_1_of_1_or_3_to_5: - UPDATE users_test_table SET value_1 = 5 WHERE user_id = 1 or user_id = 3; + UPDATE users_test_table SET value_1 = 5 WHERE user_id = 1 or user_id = 3; step s2-begin: - BEGIN; + BEGIN; step s2-change_connection_mode_to_sequential: set citus.multi_shard_modify_mode to 'sequential'; step s2-update_value_1_of_1_or_3_to_8: - UPDATE users_test_table SET value_1 = 8 WHERE user_id = 1 or user_id = 3; + UPDATE users_test_table SET value_1 = 8 WHERE user_id = 1 or user_id = 3; -step s1-commit: +step s1-commit: COMMIT; step s2-update_value_1_of_1_or_3_to_8: <... completed> step s2-commit: - COMMIT; + COMMIT; step s2-select: - SELECT * FROM users_test_table ORDER BY value_2, value_3; + 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: @@ -374,42 +390,44 @@ step s1-change_connection_mode_to_sequential: set citus.multi_shard_modify_mode to 'sequential'; step s1-update_value_1_of_1_or_3_to_5: - UPDATE users_test_table SET value_1 = 5 WHERE user_id = 1 or user_id = 3; + UPDATE users_test_table SET value_1 = 5 WHERE user_id = 1 or user_id = 3; step s2-begin: - BEGIN; + BEGIN; step s2-change_connection_mode_to_sequential: set citus.multi_shard_modify_mode to 'sequential'; step s2-update_value_1_of_4_or_6_to_4: - UPDATE users_test_table SET value_1 = 4 WHERE user_id = 4 or user_id = 6; + UPDATE users_test_table SET value_1 = 4 WHERE user_id = 4 or user_id = 6; step s1-commit: COMMIT; step s2-commit: - COMMIT; + COMMIT; step s2-select: - SELECT * FROM users_test_table ORDER BY value_2, value_3; + 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: BEGIN; step s2-begin: - BEGIN; + BEGIN; step s1-change_connection_mode_to_sequential: set citus.multi_shard_modify_mode to 'sequential'; @@ -418,17 +436,17 @@ step s2-change_connection_mode_to_sequential: set citus.multi_shard_modify_mode to 'sequential'; step s1-update_value_1_of_1_or_3_to_5: - UPDATE users_test_table SET value_1 = 5 WHERE user_id = 1 or user_id = 3; + UPDATE users_test_table SET value_1 = 5 WHERE user_id = 1 or user_id = 3; step s2-update_value_1_of_1_or_3_to_8: - UPDATE users_test_table SET value_1 = 8 WHERE user_id = 1 or user_id = 3; + UPDATE users_test_table SET value_1 = 8 WHERE user_id = 1 or user_id = 3; -step s1-commit: +step s1-commit: COMMIT; step s2-update_value_1_of_1_or_3_to_8: <... completed> step s2-commit: - COMMIT; + COMMIT; starting permutation: s1-begin s2-begin s1-change_connection_mode_to_sequential s2-change_connection_mode_to_sequential s2-update_value_1_of_1_or_3_to_8 s1-update_value_1_of_2_or_4_to_5 s1-commit s2-commit @@ -436,7 +454,7 @@ step s1-begin: BEGIN; step s2-begin: - BEGIN; + BEGIN; step s1-change_connection_mode_to_sequential: set citus.multi_shard_modify_mode to 'sequential'; @@ -445,14 +463,14 @@ step s2-change_connection_mode_to_sequential: set citus.multi_shard_modify_mode to 'sequential'; step s2-update_value_1_of_1_or_3_to_8: - UPDATE users_test_table SET value_1 = 8 WHERE user_id = 1 or user_id = 3; + UPDATE users_test_table SET value_1 = 8 WHERE user_id = 1 or user_id = 3; step s1-update_value_1_of_2_or_4_to_5: - UPDATE users_test_table SET value_1 = 5 WHERE user_id = 2 or user_id = 4; + UPDATE users_test_table SET value_1 = 5 WHERE user_id = 2 or user_id = 4; step s1-commit: COMMIT; step s2-commit: - COMMIT; + COMMIT; diff --git a/src/test/regress/expected/isolation_multiuser_locking.out b/src/test/regress/expected/isolation_multiuser_locking.out index 1c8860726..a667b5dfb 100644 --- a/src/test/regress/expected/isolation_multiuser_locking.out +++ b/src/test/regress/expected/isolation_multiuser_locking.out @@ -2,283 +2,295 @@ Parsed test spec with 2 sessions starting permutation: s1-begin s2-begin s2-reindex s1-insert s2-commit s1-commit step s1-begin: - BEGIN; - SET ROLE test_user_1; + BEGIN; + SET ROLE test_user_1; step s2-begin: - BEGIN; - SET ROLE test_user_2; + BEGIN; + SET ROLE test_user_2; step s2-reindex: - REINDEX TABLE test_table; + REINDEX TABLE test_table; ERROR: must be owner of table test_table step s1-insert: - UPDATE test_table SET column2 = 1; + UPDATE test_table SET column2 = 1; step s2-commit: - COMMIT; + COMMIT; step s1-commit: - COMMIT; + COMMIT; starting permutation: s1-grant s1-begin s2-begin s2-reindex s1-insert s2-insert s2-commit s1-commit step s1-grant: - SET ROLE test_user_1; - SELECT bool_and(success) FROM run_command_on_placements('test_table', 'GRANT ALL ON TABLE %s TO test_user_2'); - GRANT ALL ON test_table TO test_user_2; + SET ROLE test_user_1; + SELECT bool_and(success) FROM run_command_on_placements('test_table', 'GRANT ALL ON TABLE %s TO test_user_2'); + GRANT ALL ON test_table TO test_user_2; bool_and - +--------------------------------------------------------------------- t +(1 row) + step s1-begin: - BEGIN; - SET ROLE test_user_1; + BEGIN; + SET ROLE test_user_1; step s2-begin: - BEGIN; - SET ROLE test_user_2; + BEGIN; + SET ROLE test_user_2; step s2-reindex: - REINDEX TABLE test_table; + REINDEX TABLE test_table; ERROR: must be owner of table test_table step s1-insert: - UPDATE test_table SET column2 = 1; + UPDATE test_table SET column2 = 1; step s2-insert: - UPDATE test_table SET column2 = 2; + UPDATE test_table SET column2 = 2; ERROR: current transaction is aborted, commands ignored until end of transaction block step s2-commit: - COMMIT; + COMMIT; step s1-commit: - COMMIT; + COMMIT; starting permutation: s1-grant s1-begin s2-begin s1-reindex s2-insert s1-insert s1-commit s2-commit step s1-grant: - SET ROLE test_user_1; - SELECT bool_and(success) FROM run_command_on_placements('test_table', 'GRANT ALL ON TABLE %s TO test_user_2'); - GRANT ALL ON test_table TO test_user_2; + SET ROLE test_user_1; + SELECT bool_and(success) FROM run_command_on_placements('test_table', 'GRANT ALL ON TABLE %s TO test_user_2'); + GRANT ALL ON test_table TO test_user_2; bool_and - +--------------------------------------------------------------------- t +(1 row) + step s1-begin: - BEGIN; - SET ROLE test_user_1; + BEGIN; + SET ROLE test_user_1; step s2-begin: - BEGIN; - SET ROLE test_user_2; + BEGIN; + SET ROLE test_user_2; step s1-reindex: - REINDEX TABLE test_table; + REINDEX TABLE test_table; step s2-insert: - UPDATE test_table SET column2 = 2; + UPDATE test_table SET column2 = 2; -step s1-insert: - UPDATE test_table SET column2 = 1; +step s1-insert: + UPDATE test_table SET column2 = 1; step s1-commit: - COMMIT; + COMMIT; step s2-insert: <... completed> step s2-commit: - COMMIT; + COMMIT; starting permutation: s1-begin s2-begin s2-index s1-insert s2-commit s1-commit s2-drop-index step s1-begin: - BEGIN; - SET ROLE test_user_1; + BEGIN; + SET ROLE test_user_1; step s2-begin: - BEGIN; - SET ROLE test_user_2; + BEGIN; + SET ROLE test_user_2; step s2-index: - CREATE INDEX test_index ON test_table(column1); + CREATE INDEX test_index ON test_table(column1); ERROR: must be owner of table test_table step s1-insert: - UPDATE test_table SET column2 = 1; + UPDATE test_table SET column2 = 1; step s2-commit: - COMMIT; + COMMIT; step s1-commit: - COMMIT; + COMMIT; step s2-drop-index: - DROP INDEX IF EXISTS test_index; + DROP INDEX IF EXISTS test_index; starting permutation: s1-grant s1-begin s2-begin s2-insert s1-index s2-insert s2-commit s1-commit s1-drop-index step s1-grant: - SET ROLE test_user_1; - SELECT bool_and(success) FROM run_command_on_placements('test_table', 'GRANT ALL ON TABLE %s TO test_user_2'); - GRANT ALL ON test_table TO test_user_2; + SET ROLE test_user_1; + SELECT bool_and(success) FROM run_command_on_placements('test_table', 'GRANT ALL ON TABLE %s TO test_user_2'); + GRANT ALL ON test_table TO test_user_2; bool_and - +--------------------------------------------------------------------- t +(1 row) + step s1-begin: - BEGIN; - SET ROLE test_user_1; + BEGIN; + SET ROLE test_user_1; step s2-begin: - BEGIN; - SET ROLE test_user_2; + BEGIN; + SET ROLE test_user_2; step s2-insert: - UPDATE test_table SET column2 = 2; + UPDATE test_table SET column2 = 2; step s1-index: - CREATE INDEX test_index ON test_table(column1); + CREATE INDEX test_index ON test_table(column1); -step s2-insert: - UPDATE test_table SET column2 = 2; +step s2-insert: + UPDATE test_table SET column2 = 2; step s2-commit: - COMMIT; + COMMIT; step s1-index: <... completed> step s1-commit: - COMMIT; + COMMIT; step s1-drop-index: - DROP INDEX IF EXISTS test_index; + DROP INDEX IF EXISTS test_index; starting permutation: s1-grant s1-begin s2-begin s1-index s2-index s1-insert s1-commit s2-commit s1-drop-index s2-drop-index step s1-grant: - SET ROLE test_user_1; - SELECT bool_and(success) FROM run_command_on_placements('test_table', 'GRANT ALL ON TABLE %s TO test_user_2'); - GRANT ALL ON test_table TO test_user_2; + SET ROLE test_user_1; + SELECT bool_and(success) FROM run_command_on_placements('test_table', 'GRANT ALL ON TABLE %s TO test_user_2'); + GRANT ALL ON test_table TO test_user_2; bool_and - +--------------------------------------------------------------------- t +(1 row) + step s1-begin: - BEGIN; - SET ROLE test_user_1; + BEGIN; + SET ROLE test_user_1; step s2-begin: - BEGIN; - SET ROLE test_user_2; + BEGIN; + SET ROLE test_user_2; step s1-index: - CREATE INDEX test_index ON test_table(column1); + CREATE INDEX test_index ON test_table(column1); step s2-index: - CREATE INDEX test_index ON test_table(column1); + CREATE INDEX test_index ON test_table(column1); ERROR: must be owner of table test_table step s1-insert: - UPDATE test_table SET column2 = 1; + UPDATE test_table SET column2 = 1; step s1-commit: - COMMIT; + COMMIT; step s2-commit: - COMMIT; + COMMIT; step s1-drop-index: - DROP INDEX IF EXISTS test_index; + DROP INDEX IF EXISTS test_index; step s2-drop-index: - DROP INDEX IF EXISTS test_index; + DROP INDEX IF EXISTS test_index; starting permutation: s1-begin s2-begin s2-truncate s1-insert s2-commit s1-commit step s1-begin: - BEGIN; - SET ROLE test_user_1; + BEGIN; + SET ROLE test_user_1; step s2-begin: - BEGIN; - SET ROLE test_user_2; + BEGIN; + SET ROLE test_user_2; step s2-truncate: - TRUNCATE test_table; + TRUNCATE test_table; ERROR: permission denied for table test_table step s1-insert: - UPDATE test_table SET column2 = 1; + UPDATE test_table SET column2 = 1; step s2-commit: - COMMIT; + COMMIT; step s1-commit: - COMMIT; + COMMIT; starting permutation: s1-grant s1-begin s2-begin s1-truncate s2-insert s1-insert s1-commit s2-commit step s1-grant: - SET ROLE test_user_1; - SELECT bool_and(success) FROM run_command_on_placements('test_table', 'GRANT ALL ON TABLE %s TO test_user_2'); - GRANT ALL ON test_table TO test_user_2; + SET ROLE test_user_1; + SELECT bool_and(success) FROM run_command_on_placements('test_table', 'GRANT ALL ON TABLE %s TO test_user_2'); + GRANT ALL ON test_table TO test_user_2; bool_and - +--------------------------------------------------------------------- t +(1 row) + step s1-begin: - BEGIN; - SET ROLE test_user_1; + BEGIN; + SET ROLE test_user_1; step s2-begin: - BEGIN; - SET ROLE test_user_2; + BEGIN; + SET ROLE test_user_2; step s1-truncate: - TRUNCATE test_table; + TRUNCATE test_table; step s2-insert: - UPDATE test_table SET column2 = 2; + UPDATE test_table SET column2 = 2; -step s1-insert: - UPDATE test_table SET column2 = 1; +step s1-insert: + UPDATE test_table SET column2 = 1; step s1-commit: - COMMIT; + COMMIT; step s2-insert: <... completed> step s2-commit: - COMMIT; + COMMIT; starting permutation: s1-grant s1-begin s2-begin s1-truncate s2-truncate s1-commit s2-commit step s1-grant: - SET ROLE test_user_1; - SELECT bool_and(success) FROM run_command_on_placements('test_table', 'GRANT ALL ON TABLE %s TO test_user_2'); - GRANT ALL ON test_table TO test_user_2; + SET ROLE test_user_1; + SELECT bool_and(success) FROM run_command_on_placements('test_table', 'GRANT ALL ON TABLE %s TO test_user_2'); + GRANT ALL ON test_table TO test_user_2; bool_and - +--------------------------------------------------------------------- t +(1 row) + step s1-begin: - BEGIN; - SET ROLE test_user_1; + BEGIN; + SET ROLE test_user_1; step s2-begin: - BEGIN; - SET ROLE test_user_2; + BEGIN; + SET ROLE test_user_2; step s1-truncate: - TRUNCATE test_table; + TRUNCATE test_table; step s2-truncate: - TRUNCATE test_table; + TRUNCATE test_table; -step s1-commit: - COMMIT; +step s1-commit: + COMMIT; step s2-truncate: <... completed> step s2-commit: - COMMIT; + COMMIT; 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 e39559941..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; @@ -433,13 +557,15 @@ step s1-drop: DROP TABLE partitioned_copy; 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 in steps s1-commit s2-copy: ERROR: relation "partitioned_copy" does not exist +ERROR: relation "partitioned_copy" does not exist step s1-select-count: SELECT COUNT(*) FROM partitioned_copy; 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; @@ -447,20 +573,26 @@ step s1-ddl-add-column: ALTER TABLE partitioned_copy ADD new_column int DEFAULT 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 in steps s1-commit s2-copy: ERROR: missing data for column "new_column" +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 in steps s1-commit s2-copy: ERROR: could not find any shards into which to copy +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 679e42c6b..6b8391e3f 100644 --- a/src/test/regress/expected/isolation_progress_monitoring.out +++ b/src/test/regress/expected/isolation_progress_monitoring.out @@ -16,55 +16,77 @@ 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); -step s2-start-operation: +step s2-start-operation: SELECT sample_operation(1337, 20, 2); -step s3-start-operation: +step s3-start-operation: SELECT sample_operation(3778, 30, 9); -step show-progress: +step show-progress: SELECT show_progress(1337); 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 d732adc84..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,74 +13,96 @@ 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; 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-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; + 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,78 +465,102 @@ 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; 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; + 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; @@ -511,13 +659,15 @@ step s1-drop: DROP TABLE range_copy; 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> -error in steps s1-commit s2-copy: ERROR: relation "range_copy" does not exist +ERROR: relation "range_copy" does not exist step s1-select-count: SELECT COUNT(*) FROM range_copy; 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; @@ -566,20 +728,26 @@ step s1-ddl-add-column: ALTER TABLE range_copy ADD new_column int DEFAULT 0; 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> -error in steps s1-commit s2-copy: ERROR: missing data for column "new_column" +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,61 +832,81 @@ 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; step s2-copy: <... completed> -error in steps s1-commit s2-copy: ERROR: could not find any shards into which to copy +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 507db3ccd..6c63be9c1 100644 --- a/src/test/regress/expected/isolation_ref2ref_foreign_keys.out +++ b/src/test/regress/expected/isolation_ref2ref_foreign_keys.out @@ -2,13 +2,13 @@ Parsed test spec with 2 sessions starting permutation: s2-begin s2-update-table-1 s1-begin s1-view-locks s1-rollback s2-rollback s1-view-locks step s2-begin: - BEGIN; + BEGIN; step s2-update-table-1: UPDATE ref_table_1 SET id = 2 WHERE id = 1; step s1-begin: - BEGIN; + BEGIN; step s1-view-locks: SELECT mode, count(*) @@ -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,12 +34,14 @@ 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 step s2-begin: - BEGIN; + BEGIN; step s2-delete-table-1: DELETE FROM ref_table_1 WHERE id = 1; @@ -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,12 +67,14 @@ 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 step s2-begin: - BEGIN; + BEGIN; step s2-update-table-2: UPDATE ref_table_2 SET id = 2 WHERE id = 1; @@ -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,12 +100,14 @@ 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 step s2-begin: - BEGIN; + BEGIN; step s2-delete-table-2: DELETE FROM ref_table_2 WHERE id = 1; @@ -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,18 +133,20 @@ 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 step s2-begin: - BEGIN; + BEGIN; step s2-update-table-3: UPDATE ref_table_3 SET id = 2 WHERE id = 1; step s1-begin: - BEGIN; + BEGIN; step s1-view-locks: SELECT mode, count(*) @@ -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,18 +172,20 @@ 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 step s2-begin: - BEGIN; + BEGIN; step s2-delete-table-3: DELETE FROM ref_table_3 WHERE id = 1; step s1-begin: - BEGIN; + BEGIN; step s1-view-locks: SELECT mode, count(*) @@ -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,12 +211,14 @@ 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 step s2-begin: - BEGIN; + BEGIN; step s2-insert-table-1: INSERT INTO ref_table_1 VALUES (7, 7); @@ -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,12 +244,14 @@ 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 step s2-begin: - BEGIN; + BEGIN; step s2-insert-table-2: INSERT INTO ref_table_2 VALUES (7, 5); @@ -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,12 +277,14 @@ 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 step s2-begin: - BEGIN; + BEGIN; step s2-insert-table-3: INSERT INTO ref_table_3 VALUES (7, 5); @@ -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,15 +310,17 @@ 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 step s1-begin: - BEGIN; + BEGIN; step s2-begin: - BEGIN; + BEGIN; step s2-update-table-1: UPDATE ref_table_1 SET id = 2 WHERE id = 1; @@ -292,7 +328,7 @@ step s2-update-table-1: step s1-delete-table-2: DELETE FROM ref_table_2 WHERE value = 2; -step s2-commit: +step s2-commit: COMMIT; step s1-delete-table-2: <... completed> @@ -302,17 +338,19 @@ 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: - BEGIN; + BEGIN; step s2-begin: - BEGIN; + BEGIN; step s2-update-table-1: UPDATE ref_table_1 SET id = 2 WHERE id = 1; @@ -320,7 +358,7 @@ step s2-update-table-1: step s1-insert-table-2: INSERT INTO ref_table_2 VALUES (7, 2); -step s2-commit: +step s2-commit: COMMIT; step s1-insert-table-2: <... completed> @@ -330,19 +368,21 @@ 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: - BEGIN; + BEGIN; step s2-begin: - BEGIN; + BEGIN; step s2-update-table-1: UPDATE ref_table_1 SET id = 2 WHERE id = 1; @@ -350,7 +390,7 @@ step s2-update-table-1: step s1-update-table-2: UPDATE ref_table_2 SET id = 0 WHERE value = 2; -step s2-commit: +step s2-commit: COMMIT; step s1-update-table-2: <... completed> @@ -360,18 +400,20 @@ 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: - BEGIN; + BEGIN; step s2-begin: - BEGIN; + BEGIN; step s2-delete-table-1: DELETE FROM ref_table_1 WHERE id = 1; @@ -379,7 +421,7 @@ step s2-delete-table-1: step s1-delete-table-2: DELETE FROM ref_table_2 WHERE value = 2; -step s2-commit: +step s2-commit: COMMIT; step s1-delete-table-2: <... completed> @@ -389,17 +431,19 @@ 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: - BEGIN; + BEGIN; step s2-begin: - BEGIN; + BEGIN; step s2-delete-table-1: DELETE FROM ref_table_1 WHERE id = 1; @@ -407,28 +451,30 @@ step s2-delete-table-1: step s1-insert-table-2: INSERT INTO ref_table_2 VALUES (7, 2); -step s2-commit: +step s2-commit: COMMIT; step s1-insert-table-2: <... completed> -error in steps s2-commit s1-insert-table-2: ERROR: insert or update on table "ref_table_2_xxxxxxx" violates foreign key constraint "ref_table_2_value_fkey_xxxxxxx" +ERROR: insert or update on table "ref_table_2_xxxxxxx" violates foreign key constraint "ref_table_2_value_fkey_xxxxxxx" step s1-commit: 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: - BEGIN; + BEGIN; step s2-begin: - BEGIN; + BEGIN; step s2-delete-table-1: DELETE FROM ref_table_1 WHERE id = 1; @@ -436,7 +482,7 @@ step s2-delete-table-1: step s1-update-table-2: UPDATE ref_table_2 SET id = 0 WHERE value = 2; -step s2-commit: +step s2-commit: COMMIT; step s1-update-table-2: <... completed> @@ -446,17 +492,19 @@ 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: - BEGIN; + BEGIN; step s2-begin: - BEGIN; + BEGIN; step s2-delete-table-1: DELETE FROM ref_table_1 WHERE id = 1; @@ -464,11 +512,13 @@ step s2-delete-table-1: step s1-delete-table-3: DELETE FROM ref_table_3 WHERE value = 1 RETURNING id; -step s2-commit: +step s2-commit: COMMIT; step s1-delete-table-3: <... completed> id +-- +(0 rows) step s1-commit: COMMIT; @@ -476,17 +526,19 @@ 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: - BEGIN; + BEGIN; step s2-begin: - BEGIN; + BEGIN; step s2-delete-table-1: DELETE FROM ref_table_1 WHERE id = 1; @@ -494,28 +546,30 @@ step s2-delete-table-1: step s1-insert-table-3: INSERT INTO ref_table_3 VALUES (7, 1); -step s2-commit: +step s2-commit: COMMIT; step s1-insert-table-3: <... completed> -error in steps s2-commit s1-insert-table-3: ERROR: insert or update on table "ref_table_3_xxxxxxx" violates foreign key constraint "ref_table_3_value_fkey_xxxxxxx" +ERROR: insert or update on table "ref_table_3_xxxxxxx" violates foreign key constraint "ref_table_3_value_fkey_xxxxxxx" step s1-commit: 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: - BEGIN; + BEGIN; step s2-begin: - BEGIN; + BEGIN; step s2-delete-table-1: DELETE FROM ref_table_1 WHERE id = 1; @@ -523,11 +577,13 @@ step s2-delete-table-1: step s1-update-table-3: UPDATE ref_table_3 SET id = 2 WHERE value = 1 RETURNING id; -step s2-commit: +step s2-commit: COMMIT; step s1-update-table-3: <... completed> id +-- +(0 rows) step s1-commit: COMMIT; @@ -535,17 +591,19 @@ 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: - BEGIN; + BEGIN; step s2-begin: - BEGIN; + BEGIN; step s2-insert-table-1: INSERT INTO ref_table_1 VALUES (7, 7); @@ -553,42 +611,48 @@ step s2-insert-table-1: step s1-update-table-3: UPDATE ref_table_3 SET id = 2 WHERE value = 1 RETURNING id; -step s2-commit: +step s2-commit: 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: - BEGIN; + BEGIN; step s2-begin: - BEGIN; + BEGIN; 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); -step s1-commit: +step s1-commit: COMMIT; step s2-insert-table-1: <... completed> @@ -598,18 +662,20 @@ 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: - BEGIN; + BEGIN; step s2-begin: - BEGIN; + BEGIN; step s2-insert-table-1: INSERT INTO ref_table_1 VALUES (7, 7); @@ -617,7 +683,7 @@ step s2-insert-table-1: step s1-update-table-2: UPDATE ref_table_2 SET id = 0 WHERE value = 2; -step s2-commit: +step s2-commit: COMMIT; step s1-update-table-2: <... completed> @@ -627,18 +693,20 @@ 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: - BEGIN; + BEGIN; step s2-begin: - BEGIN; + BEGIN; step s1-update-table-2: UPDATE ref_table_2 SET id = 0 WHERE value = 2; @@ -646,7 +714,7 @@ step s1-update-table-2: step s2-insert-table-1: INSERT INTO ref_table_1 VALUES (7, 7); -step s1-commit: +step s1-commit: COMMIT; step s2-insert-table-1: <... completed> @@ -656,18 +724,20 @@ 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: - BEGIN; + BEGIN; step s2-begin: - BEGIN; + BEGIN; step s2-insert-table-2: INSERT INTO ref_table_2 VALUES (7, 5); @@ -675,42 +745,48 @@ step s2-insert-table-2: step s1-update-table-3: UPDATE ref_table_3 SET id = 2 WHERE value = 1 RETURNING id; -step s2-commit: +step s2-commit: 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: - BEGIN; + BEGIN; step s2-begin: - BEGIN; + BEGIN; 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); -step s1-commit: +step s1-commit: COMMIT; step s2-insert-table-2: <... completed> @@ -720,18 +796,20 @@ 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: - BEGIN; + BEGIN; step s2-begin: - BEGIN; + BEGIN; step s2-insert-table-1: INSERT INTO ref_table_1 VALUES (7, 7); @@ -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; @@ -753,10 +833,10 @@ step s1-commit: starting permutation: s1-begin s2-begin s2-insert-table-1 s1-select-table-2 s2-commit s1-commit step s1-begin: - BEGIN; + BEGIN; step s2-begin: - BEGIN; + BEGIN; step s2-insert-table-1: INSERT INTO ref_table_1 VALUES (7, 7); @@ -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; @@ -778,10 +860,10 @@ step s1-commit: starting permutation: s1-begin s2-begin s2-insert-table-1 s1-select-table-3 s2-commit s1-commit step s1-begin: - BEGIN; + BEGIN; step s2-begin: - BEGIN; + BEGIN; step s2-insert-table-1: INSERT INTO ref_table_1 VALUES (7, 7); @@ -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; @@ -803,10 +887,10 @@ step s1-commit: starting permutation: s1-begin s2-begin s2-delete-table-2 s1-select-table-1 s2-commit s1-commit step s1-begin: - BEGIN; + BEGIN; step s2-begin: - BEGIN; + BEGIN; step s2-delete-table-2: DELETE FROM ref_table_2 WHERE id = 1; @@ -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; @@ -828,10 +914,10 @@ step s1-commit: starting permutation: s1-begin s2-begin s2-delete-table-2 s1-select-table-2 s2-commit s1-commit step s1-begin: - BEGIN; + BEGIN; step s2-begin: - BEGIN; + BEGIN; step s2-delete-table-2: DELETE FROM ref_table_2 WHERE id = 1; @@ -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; @@ -853,10 +941,10 @@ step s1-commit: starting permutation: s1-begin s2-begin s2-delete-table-2 s1-select-table-3 s2-commit s1-commit step s1-begin: - BEGIN; + BEGIN; step s2-begin: - BEGIN; + BEGIN; step s2-delete-table-2: DELETE FROM ref_table_2 WHERE id = 1; @@ -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; @@ -878,10 +968,10 @@ step s1-commit: starting permutation: s1-begin s2-begin s2-update-table-3 s1-select-table-1 s2-commit s1-commit step s1-begin: - BEGIN; + BEGIN; step s2-begin: - BEGIN; + BEGIN; step s2-update-table-3: UPDATE ref_table_3 SET id = 2 WHERE id = 1; @@ -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; @@ -903,10 +995,10 @@ step s1-commit: starting permutation: s1-begin s2-begin s2-update-table-3 s1-select-table-2 s2-commit s1-commit step s1-begin: - BEGIN; + BEGIN; step s2-begin: - BEGIN; + BEGIN; step s2-update-table-3: UPDATE ref_table_3 SET id = 2 WHERE id = 1; @@ -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; @@ -928,10 +1022,10 @@ step s1-commit: starting permutation: s1-begin s2-begin s2-update-table-3 s1-select-table-3 s2-commit s1-commit step s1-begin: - BEGIN; + BEGIN; step s2-begin: - BEGIN; + BEGIN; step s2-update-table-3: UPDATE ref_table_3 SET id = 2 WHERE id = 1; @@ -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 1dab78f92..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 @@ -2,657 +2,837 @@ Parsed test spec with 2 sessions starting permutation: s2-start-session-level-connection s2-begin-on-worker s2-update-table-1 s1-start-session-level-connection s1-view-locks s2-rollback-worker s1-view-locks s1-stop-connection s2-stop-connection step s2-start-session-level-connection: - SELECT start_session_level_connection_to_node('localhost', 57637); + 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'); + 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); + 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( - ARRAY['localhost']::text[], - ARRAY[57637]::int[], - ARRAY[$$ + ARRAY['localhost']::text[], + ARRAY[57637]::int[], + ARRAY[$$ SELECT array_agg(ROW(t.mode, t.count) ORDER BY t.mode) FROM (SELECT mode, count(*) count FROM pg_locks WHERE locktype='advisory' GROUP BY mode) t$$]::text[], - false); + 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( - ARRAY['localhost']::text[], - ARRAY[57637]::int[], - ARRAY[$$ + ARRAY['localhost']::text[], + ARRAY[57637]::int[], + ARRAY[$$ SELECT array_agg(ROW(t.mode, t.count) ORDER BY t.mode) FROM (SELECT mode, count(*) count FROM pg_locks WHERE locktype='advisory' GROUP BY mode) t$$]::text[], - false); + 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(); + 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(); + 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 step s2-start-session-level-connection: - SELECT start_session_level_connection_to_node('localhost', 57637); + 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'); + 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); + 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( - ARRAY['localhost']::text[], - ARRAY[57637]::int[], - ARRAY[$$ + ARRAY['localhost']::text[], + ARRAY[57637]::int[], + ARRAY[$$ SELECT array_agg(ROW(t.mode, t.count) ORDER BY t.mode) FROM (SELECT mode, count(*) count FROM pg_locks WHERE locktype='advisory' GROUP BY mode) t$$]::text[], - false); + 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( - ARRAY['localhost']::text[], - ARRAY[57637]::int[], - ARRAY[$$ + ARRAY['localhost']::text[], + ARRAY[57637]::int[], + ARRAY[$$ SELECT array_agg(ROW(t.mode, t.count) ORDER BY t.mode) FROM (SELECT mode, count(*) count FROM pg_locks WHERE locktype='advisory' GROUP BY mode) t$$]::text[], - false); + 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(); + 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(); + 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 step s2-start-session-level-connection: - SELECT start_session_level_connection_to_node('localhost', 57637); + 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'); + 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); + 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( - ARRAY['localhost']::text[], - ARRAY[57637]::int[], - ARRAY[$$ + ARRAY['localhost']::text[], + ARRAY[57637]::int[], + ARRAY[$$ SELECT array_agg(ROW(t.mode, t.count) ORDER BY t.mode) FROM (SELECT mode, count(*) count FROM pg_locks WHERE locktype='advisory' GROUP BY mode) t$$]::text[], - false); + 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( - ARRAY['localhost']::text[], - ARRAY[57637]::int[], - ARRAY[$$ + ARRAY['localhost']::text[], + ARRAY[57637]::int[], + ARRAY[$$ SELECT array_agg(ROW(t.mode, t.count) ORDER BY t.mode) FROM (SELECT mode, count(*) count FROM pg_locks WHERE locktype='advisory' GROUP BY mode) t$$]::text[], - false); + 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(); + 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(); + 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 step s2-start-session-level-connection: - SELECT start_session_level_connection_to_node('localhost', 57637); + 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'); + 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); + 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( - ARRAY['localhost']::text[], - ARRAY[57637]::int[], - ARRAY[$$ + ARRAY['localhost']::text[], + ARRAY[57637]::int[], + ARRAY[$$ SELECT array_agg(ROW(t.mode, t.count) ORDER BY t.mode) FROM (SELECT mode, count(*) count FROM pg_locks WHERE locktype='advisory' GROUP BY mode) t$$]::text[], - false); + 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( - ARRAY['localhost']::text[], - ARRAY[57637]::int[], - ARRAY[$$ + ARRAY['localhost']::text[], + ARRAY[57637]::int[], + ARRAY[$$ SELECT array_agg(ROW(t.mode, t.count) ORDER BY t.mode) FROM (SELECT mode, count(*) count FROM pg_locks WHERE locktype='advisory' GROUP BY mode) t$$]::text[], - false); + 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(); + 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(); + 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 step s2-start-session-level-connection: - SELECT start_session_level_connection_to_node('localhost', 57637); + 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'); + 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); + 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( - ARRAY['localhost']::text[], - ARRAY[57637]::int[], - ARRAY[$$ + ARRAY['localhost']::text[], + ARRAY[57637]::int[], + ARRAY[$$ SELECT array_agg(ROW(t.mode, t.count) ORDER BY t.mode) FROM (SELECT mode, count(*) count FROM pg_locks WHERE locktype='advisory' GROUP BY mode) t$$]::text[], - false); + 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( - ARRAY['localhost']::text[], - ARRAY[57637]::int[], - ARRAY[$$ + ARRAY['localhost']::text[], + ARRAY[57637]::int[], + ARRAY[$$ SELECT array_agg(ROW(t.mode, t.count) ORDER BY t.mode) FROM (SELECT mode, count(*) count FROM pg_locks WHERE locktype='advisory' GROUP BY mode) t$$]::text[], - false); + 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(); + 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(); + 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 step s2-start-session-level-connection: - SELECT start_session_level_connection_to_node('localhost', 57637); + 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'); + 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); + 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( - ARRAY['localhost']::text[], - ARRAY[57637]::int[], - ARRAY[$$ + ARRAY['localhost']::text[], + ARRAY[57637]::int[], + ARRAY[$$ SELECT array_agg(ROW(t.mode, t.count) ORDER BY t.mode) FROM (SELECT mode, count(*) count FROM pg_locks WHERE locktype='advisory' GROUP BY mode) t$$]::text[], - false); + 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( - ARRAY['localhost']::text[], - ARRAY[57637]::int[], - ARRAY[$$ + ARRAY['localhost']::text[], + ARRAY[57637]::int[], + ARRAY[$$ SELECT array_agg(ROW(t.mode, t.count) ORDER BY t.mode) FROM (SELECT mode, count(*) count FROM pg_locks WHERE locktype='advisory' GROUP BY mode) t$$]::text[], - false); + 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(); + 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(); + 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 step s2-start-session-level-connection: - SELECT start_session_level_connection_to_node('localhost', 57637); + 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'); + 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); + 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( - ARRAY['localhost']::text[], - ARRAY[57637]::int[], - ARRAY[$$ + ARRAY['localhost']::text[], + ARRAY[57637]::int[], + ARRAY[$$ SELECT array_agg(ROW(t.mode, t.count) ORDER BY t.mode) FROM (SELECT mode, count(*) count FROM pg_locks WHERE locktype='advisory' GROUP BY mode) t$$]::text[], - false); + 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( - ARRAY['localhost']::text[], - ARRAY[57637]::int[], - ARRAY[$$ + ARRAY['localhost']::text[], + ARRAY[57637]::int[], + ARRAY[$$ SELECT array_agg(ROW(t.mode, t.count) ORDER BY t.mode) FROM (SELECT mode, count(*) count FROM pg_locks WHERE locktype='advisory' GROUP BY mode) t$$]::text[], - false); + 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(); + 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(); + 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 step s2-start-session-level-connection: - SELECT start_session_level_connection_to_node('localhost', 57637); + 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'); + 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); + 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( - ARRAY['localhost']::text[], - ARRAY[57637]::int[], - ARRAY[$$ + ARRAY['localhost']::text[], + ARRAY[57637]::int[], + ARRAY[$$ SELECT array_agg(ROW(t.mode, t.count) ORDER BY t.mode) FROM (SELECT mode, count(*) count FROM pg_locks WHERE locktype='advisory' GROUP BY mode) t$$]::text[], - false); + 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( - ARRAY['localhost']::text[], - ARRAY[57637]::int[], - ARRAY[$$ + ARRAY['localhost']::text[], + ARRAY[57637]::int[], + ARRAY[$$ SELECT array_agg(ROW(t.mode, t.count) ORDER BY t.mode) FROM (SELECT mode, count(*) count FROM pg_locks WHERE locktype='advisory' GROUP BY mode) t$$]::text[], - false); + 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(); + 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(); + 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 step s2-start-session-level-connection: - SELECT start_session_level_connection_to_node('localhost', 57637); + 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'); + 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); + 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( - ARRAY['localhost']::text[], - ARRAY[57637]::int[], - ARRAY[$$ + ARRAY['localhost']::text[], + ARRAY[57637]::int[], + ARRAY[$$ SELECT array_agg(ROW(t.mode, t.count) ORDER BY t.mode) FROM (SELECT mode, count(*) count FROM pg_locks WHERE locktype='advisory' GROUP BY mode) t$$]::text[], - false); + 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( - ARRAY['localhost']::text[], - ARRAY[57637]::int[], - ARRAY[$$ + ARRAY['localhost']::text[], + ARRAY[57637]::int[], + ARRAY[$$ SELECT array_agg(ROW(t.mode, t.count) ORDER BY t.mode) FROM (SELECT mode, count(*) count FROM pg_locks WHERE locktype='advisory' GROUP BY mode) t$$]::text[], - false); + 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(); + 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(); + 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 7855dadea..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,532 +2,716 @@ 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'); + 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'); + SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table WHERE id=1 OR id=2 FOR UPDATE'); -step s1-commit-worker: - SELECT run_commands_on_session_level_connection_to_node('COMMIT'); +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(); + 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'); + 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)'); + SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table VALUES (1, 10), (2, 20)'); -step s1-commit-worker: - SELECT run_commands_on_session_level_connection_to_node('COMMIT'); +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(); + 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; + 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'); + 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'); + 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'); + 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(); + 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'); + 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'); + SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table SELECT * FROM ref_table'); -step s1-commit-worker: - SELECT run_commands_on_session_level_connection_to_node('COMMIT'); +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(); + 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'); + 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'); + SELECT run_commands_on_session_level_connection_to_node('COPY ref_table FROM PROGRAM ''echo 1, 10 && echo 2, 20''WITH CSV'); -step s1-commit-worker: - SELECT run_commands_on_session_level_connection_to_node('COMMIT'); +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(); + 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; + 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'); + 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; + ALTER TABLE ref_table DROP value; -step s1-commit-worker: - SELECT run_commands_on_session_level_connection_to_node('COMMIT'); +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(); + 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'); + 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'); + SELECT run_commands_on_session_level_connection_to_node('TRUNCATE ref_table'); -step s1-commit-worker: - SELECT run_commands_on_session_level_connection_to_node('COMMIT'); +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(); + 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'); + 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); + CREATE INDEX CONCURRENTLY ref_table_index ON ref_table(id); step s1-commit-worker: - SELECT run_commands_on_session_level_connection_to_node('COMMIT'); + 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(); + 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 0b82dab0e..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,300 +2,400 @@ 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); + ALTER TABLE ref_table ADD CONSTRAINT pri_key PRIMARY KEY (id); 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'); + 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'); + 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'); + 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(); + 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; + 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'); + 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'); + SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table SELECT * FROM ref_table'); -step s1-commit-worker: - SELECT run_commands_on_session_level_connection_to_node('COMMIT'); +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(); + 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; + 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); + ALTER TABLE ref_table ADD CONSTRAINT pri_key PRIMARY KEY (id); 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'); + 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; + DROP TABLE ref_table; -step s1-commit-worker: - SELECT run_commands_on_session_level_connection_to_node('COMMIT'); +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(); + 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; + 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'); + 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'); + SELECT run_commands_on_session_level_connection_to_node('TRUNCATE ref_table'); -step s1-commit-worker: - SELECT run_commands_on_session_level_connection_to_node('COMMIT'); +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(); + 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; + 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 9bfac042a..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,73 +13,95 @@ 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; 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-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; + 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; + 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; @@ -481,13 +617,15 @@ step s1-drop: DROP TABLE reference_copy; 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> -error in steps s1-commit s2-copy: ERROR: relation "reference_copy" does not exist +ERROR: relation "reference_copy" does not exist step s1-select-count: SELECT COUNT(*) FROM reference_copy; 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; @@ -536,20 +686,26 @@ step s1-ddl-add-column: ALTER TABLE reference_copy ADD new_column int DEFAULT 0; 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> -error in steps s1-commit s2-copy: ERROR: missing data for column "new_column" +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 1fed9e597..4d7f1a51c 100644 --- a/src/test/regress/expected/isolation_reference_on_mx.out +++ b/src/test/regress/expected/isolation_reference_on_mx.out @@ -2,615 +2,815 @@ Parsed test spec with 2 sessions 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 s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection step s1-start-session-level-connection: - SELECT start_session_level_connection_to_node('localhost', 57637); + 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'); + 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'); + 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); + 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'); + 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'); + SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET value_1 = 12 WHERE user_id = 1'); -step s1-commit-worker: +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(); + 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(); + 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 step s1-start-session-level-connection: - SELECT start_session_level_connection_to_node('localhost', 57637); + 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'); + 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'); + 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); + 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'); + 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'); + SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET value_1 = 12 WHERE user_id = 1'); -step s1-commit-worker: +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(); + 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(); + 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 step s1-start-session-level-connection: - SELECT start_session_level_connection_to_node('localhost', 57637); + 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'); + 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)'); + 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); + 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'); + 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'); + SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET value_1 = 12 WHERE user_id = 1'); -step s1-commit-worker: +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(); + 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(); + 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 step s1-start-session-level-connection: - SELECT start_session_level_connection_to_node('localhost', 57637); + 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'); + 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)'); + 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); + 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'); + 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)'); + 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(); + 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(); + 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 step s1-start-session-level-connection: - SELECT start_session_level_connection_to_node('localhost', 57637); + 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'); + 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'); + 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); + 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'); + 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'); + SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET value_1 = 12 WHERE user_id = 1'); -step s1-commit-worker: +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(); + 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(); + 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 step s1-start-session-level-connection: - SELECT start_session_level_connection_to_node('localhost', 57637); + 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'); + 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'); + 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); + 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'); + 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)'); + 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(); + 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(); + 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 step s1-start-session-level-connection: - SELECT start_session_level_connection_to_node('localhost', 57637); + 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'); + 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'); + 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); + 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'); + 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'); + 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(); + 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(); + 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 step s1-start-session-level-connection: - SELECT start_session_level_connection_to_node('localhost', 57637); + 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'); + 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'); + 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); + 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'); + 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'); + SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET value_1 = 12 WHERE user_id = 1'); -step s1-commit-worker: +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(); + 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(); + 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 step s2-start-session-level-connection: - SELECT start_session_level_connection_to_node('localhost', 57638); + 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'); + 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)'); + 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; + BEGIN; step s1-alter-table: - ALTER TABLE ref_table ADD CONSTRAINT rf_p_key PRIMARY KEY(user_id); + ALTER TABLE ref_table ADD CONSTRAINT rf_p_key PRIMARY KEY(user_id); -step s2-commit-worker: +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: - COMMIT; + COMMIT; step s2-stop-connection: - SELECT stop_session_level_connection_to_node(); + 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 step s2-start-session-level-connection: - SELECT start_session_level_connection_to_node('localhost', 57638); + 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'); + 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'); + 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; + BEGIN; step s1-alter-table: - ALTER TABLE ref_table ADD CONSTRAINT rf_p_key PRIMARY KEY(user_id); + ALTER TABLE ref_table ADD CONSTRAINT rf_p_key PRIMARY KEY(user_id); -step s2-commit-worker: +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: - COMMIT; + COMMIT; step s2-stop-connection: - SELECT stop_session_level_connection_to_node(); + 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 c93af44b2..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; @@ -12,14 +14,16 @@ step s2-insert: BEGIN; INSERT INTO test_locking (a) VALUES (1); -step s1-commit: +step s1-commit: COMMIT; step s2-insert: <... completed> -error in steps s1-commit s2-insert: ERROR: duplicate key value violates unique constraint "test_locking_a_key_1400001" +ERROR: duplicate key value violates unique constraint "test_locking_a_key_1400001" 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 7591b0eeb..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; @@ -31,18 +33,20 @@ step s1-lock-ref-table-placement-on-coordinator: END $$; -step s2-update-dist-table: +step s2-update-dist-table: update dist_table set b = 2 where a = 1; -step deadlock-checker-call: +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 in steps deadlock-checker-call s1-lock-ref-table-placement-on-coordinator s2-update-dist-table: ERROR: canceling the transaction since it was involved in a distributed deadlock +ERROR: canceling the transaction since it was involved in a distributed deadlock step s1-end: END; @@ -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; @@ -67,24 +75,28 @@ step s1-update-ref-table: update ref_table set a = a + 1; step s2-sleep: - SELECT pg_sleep(0.5); + 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 + 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_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, + 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 @@ -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; @@ -122,16 +140,20 @@ step s1-update-ref-table: update ref_table set a = a + 1; step s2-active-transactions: - -- Admin should be able to see all transactions - SELECT count(*) FROM get_all_active_transactions(); - SELECT count(*) FROM get_global_active_transactions(); + -- Admin should be able to see all transactions + SELECT count(*) FROM get_all_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 095ac0899..a59f7fe03 100644 --- a/src/test/regress/expected/isolation_select_for_update.out +++ b/src/test/regress/expected/isolation_select_for_update.out @@ -11,16 +11,18 @@ 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; step s2-update-t1: UPDATE test_table_1_rf1 SET val_1 = 5 WHERE id = 1; -step s1-commit: +step s1-commit: COMMIT; step s2-update-t1: <... completed> @@ -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,16 +46,18 @@ 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; step s2-delete-t1: DELETE FROM test_table_1_rf1 WHERE id = 1; -step s1-commit: +step s1-commit: COMMIT; step s2-delete-t1: <... completed> @@ -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,16 +81,18 @@ 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; step s2-update-t1: UPDATE test_table_1_rf1 SET val_1 = 5 WHERE id = 1; -step s1-commit: +step s1-commit: COMMIT; step s2-update-t1: <... completed> @@ -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,16 +117,18 @@ 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; step s2-update-rt: UPDATE ref_table SET val_1 = 5 WHERE id = 1; -step s1-commit: +step s1-commit: COMMIT; step s2-update-rt: <... completed> @@ -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; @@ -217,18 +245,22 @@ step s2-select-from-t1-t2-for-update: ORDER BY 1 FOR UPDATE; -step s1-commit: +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; @@ -252,18 +286,22 @@ step s2-select-from-t1-t2-for-update: ORDER BY 1 FOR UPDATE; -step s1-commit: +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,15 +313,17 @@ 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; step s2-update-t1: UPDATE test_table_1_rf1 SET val_1 = 5 WHERE id = 1; -step s1-commit: +step s1-commit: COMMIT; step s2-update-t1: <... completed> @@ -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,16 +347,18 @@ 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; step s2-update-t1: UPDATE test_table_1_rf1 SET val_1 = 5 WHERE id = 1; -step s1-commit: +step s1-commit: COMMIT; step s2-update-t1: <... completed> @@ -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,16 +378,18 @@ 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; step s2-update-rt: UPDATE ref_table SET val_1 = 5 WHERE id = 1; -step s1-commit: +step s1-commit: COMMIT; step s2-update-rt: <... completed> @@ -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,16 +409,18 @@ 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; step s2-update-t1: UPDATE test_table_1_rf1 SET val_1 = 5 WHERE id = 1; -step s1-commit: +step s1-commit: COMMIT; step s2-update-t1: <... completed> @@ -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 @@ -393,7 +447,7 @@ step s2-begin: step s2-update-rt: UPDATE ref_table SET val_1 = 5 WHERE id = 1; -step s1-commit: +step s1-commit: COMMIT; step s2-update-rt: <... completed> @@ -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 331856c25..fb67cfb2a 100644 --- a/src/test/regress/expected/isolation_select_vs_all.out +++ b/src/test/regress/expected/isolation_select_vs_all.out @@ -2,744 +2,1018 @@ 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; + 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; + 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; 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; + 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; 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; + 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; 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; + 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; + 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; step s1-disable-binary-protocol: - -- Workaround router-select blocking blocking create-index-concurrently - SET citus.enable_binary_protocol TO false; + -- Workaround router-select blocking blocking create-index-concurrently + 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; @@ -767,41 +1049,55 @@ step s1-drop: DROP TABLE select_append; step s2-router-select: SELECT * FROM select_append WHERE id = 1; step s1-commit: COMMIT; step s2-router-select: <... completed> -error in steps s1-commit s2-router-select: ERROR: relation "select_append" does not exist +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; @@ -1533,45 +2087,59 @@ step s1-drop: DROP TABLE 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> -error in steps s1-commit s2-real-time-select: ERROR: relation "select_append" does not exist +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,939 +2269,1231 @@ 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; 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; + 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; 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; + 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; 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; + 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; 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; + 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; 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; + 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; 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; + 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; 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; + 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); step s1-begin: BEGIN; 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; + 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; 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; + 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; 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; + 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; step s1-begin: BEGIN; 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; + 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; 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; + 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; 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; + 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; 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; + 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); step s1-begin: BEGIN; 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; + 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; step s1-insert: INSERT INTO select_append VALUES(0, 'k', 0); 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; + 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; step s1-insert-select: INSERT INTO select_append SELECT * FROM select_append; 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; + 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; step s1-update: UPDATE select_append SET data = 'l' WHERE id = 0; 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; + 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; step s1-delete: DELETE FROM select_append WHERE id = 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; + 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; step s1-truncate: TRUNCATE select_append; 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; + 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; 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; step s1-drop: DROP TABLE select_append; 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; + 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; step s1-commit: COMMIT; step s2-adaptive-select: <... completed> -error in steps s1-commit s2-adaptive-select: ERROR: relation "select_append" does not exist +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; step s1-ddl-create-index: CREATE INDEX select_append_index ON select_append(id); 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; + 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); step s1-begin: BEGIN; step s1-ddl-drop-index: DROP INDEX select_append_index; 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; + 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; 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; step s1-ddl-add-column: ALTER TABLE select_append ADD new_column int DEFAULT 0; 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; + 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; 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; step s1-begin: BEGIN; step s1-ddl-drop-column: ALTER TABLE select_append DROP new_column; 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; + 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; 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; step s1-ddl-rename-column: ALTER TABLE select_append RENAME data TO new_column; 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; + 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; 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; + 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; step s1-master-modify-multiple-shards: DELETE FROM select_append; 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; + 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; + 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 9c4480617..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'); + 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'); + 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'); + 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(); + 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'); + 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'); + 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'); + 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(); + 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; + 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'); + 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'); + 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'); + 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(); + 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; + 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'); + 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'); + 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'); + 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(); + 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; + 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,43 +377,55 @@ 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'); + 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; + BEGIN; step s2-index: - CREATE INDEX select_index ON select_table(id); + CREATE INDEX select_index ON select_table(id); step s1-commit-worker: - SELECT run_commands_on_session_level_connection_to_node('COMMIT'); + SELECT run_commands_on_session_level_connection_to_node('COMMIT'); run_commands_on_session_level_connection_to_node +--------------------------------------------------------------------- +(1 row) step s2-commit: - COMMIT; + COMMIT; step s1-stop-connection: - SELECT stop_session_level_connection_to_node(); + 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'); + 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'); + 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'); + 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(); + 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,42 +520,56 @@ 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'); + 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); + CREATE INDEX CONCURRENTLY select_table_index ON select_table(id); step s1-commit-worker: - SELECT run_commands_on_session_level_connection_to_node('COMMIT'); + 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(); + 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 8de483c5e..9b5242d94 100644 --- a/src/test/regress/expected/isolation_shouldhaveshards.out +++ b/src/test/regress/expected/isolation_shouldhaveshards.out @@ -2,167 +2,205 @@ 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); + SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: - BEGIN; + BEGIN; step s2-begin: - BEGIN; + BEGIN; step s2-create-distributed-table: - CREATE TABLE t1 (a int); - -- session needs to have replication factor set to 1, can't do in setup - SET citus.shard_replication_factor TO 1; - SELECT create_distributed_table('t1', 'a'); + CREATE TABLE t1 (a int); + -- session needs to have replication factor set to 1, can't do in setup + SET citus.shard_replication_factor TO 1; + SELECT create_distributed_table('t1', 'a'); create_distributed_table +--------------------------------------------------------------------- +(1 row) step s1-noshards: - SELECT * from master_set_node_property('localhost', 57637, 'shouldhaveshards', false); + SELECT * from master_set_node_property('localhost', 57637, 'shouldhaveshards', false); -step s2-commit: - COMMIT; +step s2-commit: + COMMIT; step s1-noshards: <... completed> master_set_node_property +--------------------------------------------------------------------- +(1 row) step s1-commit: - COMMIT; + COMMIT; step s2-shardcounts: - SELECT nodeport, count(*) - FROM pg_dist_shard JOIN pg_dist_shard_placement USING (shardid) - WHERE logicalrelid = 't1'::regclass GROUP BY nodeport ORDER BY nodeport; + SELECT nodeport, count(*) + 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); + SELECT 1 FROM master_add_node('localhost', 57638); ?column? +--------------------------------------------------------------------- + 1 +(1 row) -1 step s1-begin: - BEGIN; + BEGIN; step s2-begin: - BEGIN; + BEGIN; step s1-noshards: - SELECT * from master_set_node_property('localhost', 57637, 'shouldhaveshards', false); + 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); - -- session needs to have replication factor set to 1, can't do in setup - SET citus.shard_replication_factor TO 1; - SELECT create_distributed_table('t1', 'a'); + CREATE TABLE t1 (a int); + -- session needs to have replication factor set to 1, can't do in setup + SET citus.shard_replication_factor TO 1; + SELECT create_distributed_table('t1', 'a'); -step s1-commit: - COMMIT; +step s1-commit: + COMMIT; step s2-create-distributed-table: <... completed> create_distributed_table +--------------------------------------------------------------------- +(1 row) step s2-commit: - COMMIT; + COMMIT; step s2-shardcounts: - SELECT nodeport, count(*) - FROM pg_dist_shard JOIN pg_dist_shard_placement USING (shardid) - WHERE logicalrelid = 't1'::regclass GROUP BY nodeport ORDER BY nodeport; + SELECT nodeport, count(*) + 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; + BEGIN; step s2-begin: - BEGIN; + BEGIN; step s1-noshards: - SELECT * from master_set_node_property('localhost', 57637, 'shouldhaveshards', false); + 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) + select * from master_update_node((select nodeid from pg_dist_node where nodeport = 57637), 'localhost', 57638) -step s1-commit: - COMMIT; +step s1-commit: + COMMIT; step s2-update-node: <... completed> master_update_node +--------------------------------------------------------------------- +(1 row) step s2-commit: - 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; + BEGIN; step s2-begin: - BEGIN; + BEGIN; step s2-update-node: - select * from master_update_node((select nodeid from pg_dist_node where nodeport = 57637), 'localhost', 57638) + 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); + SELECT * from master_set_node_property('localhost', 57637, 'shouldhaveshards', false); -step s2-commit: - COMMIT; +step s2-commit: + COMMIT; step s1-noshards: <... completed> -error in steps s2-commit s1-noshards: ERROR: node at "localhost:xxxxx" does not exist +ERROR: node at "localhost:xxxxx" does not exist step s1-commit: - 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 461bfabd3..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,15 +37,19 @@ step s1-recover: SELECT recover_prepared_transactions(); recover_prepared_transactions +--------------------------------------------------------------------- + 0 +(1 row) -0 step s2-recover: SELECT recover_prepared_transactions(); -step s1-commit: +step s1-commit: 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 954d25cd0..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; @@ -352,17 +462,21 @@ step s1-drop: DROP TABLE truncate_append; step s2-truncate: TRUNCATE truncate_append; step s1-commit: COMMIT; step s2-truncate: <... completed> -error in steps s1-commit s2-truncate: ERROR: relation "truncate_append" does not exist +ERROR: relation "truncate_append" does not exist 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 9432fcb58..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,71 +5,95 @@ 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'); + 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'); + SELECT run_commands_on_session_level_connection_to_node('TRUNCATE truncate_table'); -step s1-commit-worker: - SELECT run_commands_on_session_level_connection_to_node('COMMIT'); +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(); + 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; + 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,71 +101,95 @@ 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'); + 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'); + SELECT run_commands_on_session_level_connection_to_node('TRUNCATE truncate_table'); -step s1-commit-worker: - SELECT run_commands_on_session_level_connection_to_node('COMMIT'); +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(); + 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; + 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,71 +197,95 @@ 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'); + 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'); + SELECT run_commands_on_session_level_connection_to_node('TRUNCATE truncate_table'); -step s1-commit-worker: - SELECT run_commands_on_session_level_connection_to_node('COMMIT'); +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(); + 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; + 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,71 +293,95 @@ 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)'); + 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'); + SELECT run_commands_on_session_level_connection_to_node('TRUNCATE truncate_table'); -step s1-commit-worker: - SELECT run_commands_on_session_level_connection_to_node('COMMIT'); +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(); + 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; + 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,122 +389,160 @@ 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'); + 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'); + SELECT run_commands_on_session_level_connection_to_node('TRUNCATE truncate_table'); -step s1-commit-worker: - SELECT run_commands_on_session_level_connection_to_node('COMMIT'); +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(); + 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; + 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 step s1-begin: - BEGIN; + BEGIN; step s1-alter: - ALTER TABLE truncate_table DROP value; + ALTER TABLE truncate_table DROP value; 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'); + SELECT run_commands_on_session_level_connection_to_node('TRUNCATE truncate_table'); -step s1-commit: - COMMIT; +step s1-commit: + 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; + 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,69 +550,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-select-for-update: - SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM truncate_table WHERE id=5 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'); + SELECT run_commands_on_session_level_connection_to_node('TRUNCATE truncate_table'); -step s1-commit-worker: - SELECT run_commands_on_session_level_connection_to_node('COMMIT'); +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(); + 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; + 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 9e5508a19..185af05c5 100644 --- a/src/test/regress/expected/isolation_undistribute_table.out +++ b/src/test/regress/expected/isolation_undistribute_table.out @@ -8,16 +8,18 @@ step s1-undistribute: SELECT undistribute_table('dist_table'); undistribute_table +--------------------------------------------------------------------- +(1 row) step s2-undistribute: SELECT undistribute_table('dist_table'); -step s1-commit: +step s1-commit: COMMIT; step s2-undistribute: <... completed> -error in steps s1-commit s2-undistribute: ERROR: cannot complete operation because no such table exists +ERROR: cannot complete operation because no such table exists starting permutation: s1-begin s1-undistribute s2-select s1-commit step s1-begin: @@ -27,20 +29,24 @@ step s1-undistribute: SELECT undistribute_table('dist_table'); undistribute_table +--------------------------------------------------------------------- +(1 row) step s2-select: SELECT * FROM dist_table ORDER BY 1, 2; -step s1-commit: +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,25 +56,29 @@ step s1-undistribute: SELECT undistribute_table('dist_table'); undistribute_table +--------------------------------------------------------------------- +(1 row) step s2-insert: INSERT INTO dist_table VALUES (7, 8), (9, 10); -step s1-commit: +step s1-commit: COMMIT; 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,26 +88,30 @@ step s1-undistribute: SELECT undistribute_table('dist_table'); undistribute_table +--------------------------------------------------------------------- +(1 row) step s2-insert-select: INSERT INTO dist_table SELECT * FROM dist_table; -step s1-commit: +step s1-commit: COMMIT; 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,22 +121,26 @@ step s1-undistribute: SELECT undistribute_table('dist_table'); undistribute_table +--------------------------------------------------------------------- +(1 row) step s2-delete: DELETE FROM dist_table WHERE a = 3; -step s1-commit: +step s1-commit: COMMIT; 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,25 +150,29 @@ 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; -step s1-commit: +step s1-commit: COMMIT; 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,12 +182,14 @@ step s1-undistribute: SELECT undistribute_table('dist_table'); undistribute_table +--------------------------------------------------------------------- +(1 row) step s2-drop: DROP TABLE dist_table; -step s1-commit: +step s1-commit: COMMIT; step s2-drop: <... completed> @@ -182,19 +206,23 @@ step s1-undistribute: SELECT undistribute_table('dist_table'); undistribute_table +--------------------------------------------------------------------- +(1 row) step s2-truncate: TRUNCATE dist_table; -step s1-commit: +step s1-commit: COMMIT; 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,18 +233,22 @@ 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; -step s1-commit: +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,12 +258,14 @@ 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); -step s1-commit: +step s1-commit: COMMIT; step s2-create-index-concurrently: <... completed> 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 e52a21b8d..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,288 +2,388 @@ 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'); + 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'); + 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'); + 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(); + 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; + 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'); + 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'); + 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'); + 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(); + 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; + 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'); + 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; + ALTER TABLE dist_table DROP value; -step s1-commit-worker: - SELECT run_commands_on_session_level_connection_to_node('COMMIT'); +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(); + 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; + 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'); + 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'); + 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'); + 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(); + 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 b60044b15..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; @@ -28,16 +32,20 @@ step s1-commit: COMMIT; step s2-insert: <... completed> -error in steps s1-commit s2-insert: ERROR: relation "public.update_node_102012" does not exist +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 575992e07..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; @@ -655,17 +871,21 @@ step s1-drop: DROP TABLE update_hash; step s2-update: UPDATE update_hash SET data = 'l' WHERE id = 4; step s1-commit: COMMIT; step s2-update: <... completed> -error in steps s1-commit s2-update: ERROR: relation "update_hash" does not exist +ERROR: relation "update_hash" does not exist 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; @@ -776,46 +1028,62 @@ step s1-ddl-rename-column: ALTER TABLE update_hash RENAME data TO new_column; step s2-update: UPDATE update_hash SET data = 'l' WHERE id = 4; step s1-commit: COMMIT; step s2-update: <... completed> -error in steps s1-commit s2-update: ERROR: column "data" of relation "update_hash" does not exist +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; @@ -913,17 +1211,21 @@ step s1-drop: DROP TABLE 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> -error in steps s1-commit s2-update-cte: ERROR: relation "update_hash" does not exist +ERROR: relation "update_hash" does not exist 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; @@ -1046,49 +1388,67 @@ step s1-ddl-rename-column: ALTER TABLE update_hash RENAME data TO 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> -error in steps s1-commit s2-update-cte: ERROR: column "data" of relation "update_hash" does not exist +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 9438d39da..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; @@ -386,17 +504,21 @@ step s1-drop: DROP TABLE upsert_hash; step s2-upsert: INSERT INTO upsert_hash VALUES(4, 'k') ON CONFLICT(id) DO UPDATE SET data = 'k'; step s1-commit: COMMIT; step s2-upsert: <... completed> -error in steps s1-commit s2-upsert: ERROR: relation "upsert_hash" does not exist +ERROR: relation "upsert_hash" does not exist 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; @@ -507,46 +661,62 @@ step s1-ddl-rename-column: ALTER TABLE upsert_hash RENAME data TO new_column; step s2-upsert: INSERT INTO upsert_hash VALUES(4, 'k') ON CONFLICT(id) DO UPDATE SET data = 'k'; step s1-commit: COMMIT; step s2-upsert: <... completed> -error in steps s1-commit s2-upsert: ERROR: column "data" of relation "upsert_hash" does not exist +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 b42419d48..950606e74 100644 --- a/src/test/regress/expected/shared_connection_waits.out +++ b/src/test/regress/expected/shared_connection_waits.out @@ -2,32 +2,40 @@ Parsed test spec with 3 sessions starting permutation: s3-lower-pool-size s1-begin s1-count-slow s3-increase-pool-size s2-select s1-commit step s3-lower-pool-size: - SELECT set_max_shared_pool_size(5); + SELECT set_max_shared_pool_size(5); set_max_shared_pool_size +--------------------------------------------------------------------- +(1 row) step s1-begin: - BEGIN; + BEGIN; step s1-count-slow: - SELECT pg_sleep(0.1), count(*) FROM test; + 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); + 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; + COMMIT; diff --git a/src/test/regress/expected/upgrade_columnar_metapage_after.out b/src/test/regress/expected/upgrade_columnar_metapage_after.out index 2c9fa5cad..6d8d8ac59 100644 --- a/src/test/regress/expected/upgrade_columnar_metapage_after.out +++ b/src/test/regress/expected/upgrade_columnar_metapage_after.out @@ -80,7 +80,7 @@ SELECT columnar_storage_info('columnar_table_1'); SELECT columnar_storage_info('columnar_table_2'); columnar_storage_info --------------------------------------------------------------------- - (2,0,10000000001,3,150902,26694) + (2,0,10000000001,3,150902,26443) (1 row) -- show that no_data_columnar_table also has metapage after upgrade @@ -102,7 +102,7 @@ WHERE c.relam = a.oid AND amname = 'columnar' and relname = 'columnar_table_2'; SELECT columnar_storage_info('columnar_table_2'); columnar_storage_info --------------------------------------------------------------------- - (2,0,10000000001,3,150902,26694) + (2,0,10000000001,3,150902,26443) (1 row) VACUUM FULL columnar_table_2; @@ -110,7 +110,7 @@ VACUUM FULL columnar_table_2; SELECT columnar_storage_info('columnar_table_2'); columnar_storage_info --------------------------------------------------------------------- - (2,0,10000000004,3,2001,26694) + (2,0,10000000004,3,2001,26443) (1 row) SELECT * FROM columnar_table_stripe_info WHERE relname = 'columnar_table_2' ORDER BY stripe_num; diff --git a/src/test/regress/expected/upgrade_columnar_metapage_before.out b/src/test/regress/expected/upgrade_columnar_metapage_before.out index fc484b37d..bdca0c2c3 100644 --- a/src/test/regress/expected/upgrade_columnar_metapage_before.out +++ b/src/test/regress/expected/upgrade_columnar_metapage_before.out @@ -18,7 +18,7 @@ CREATE TABLE columnar_table_1(a INT, b INT) USING columnar; INSERT INTO columnar_table_1 SELECT i FROM generate_series(160001, 320000) i; CREATE TABLE columnar_table_2(b INT) USING columnar; SELECT alter_columnar_table_set('columnar_table_2', - chunk_group_row_limit => 100, + chunk_group_row_limit => 1000, stripe_row_limit => 1000); alter_columnar_table_set --------------------------------------------------------------------- diff --git a/src/test/regress/spec/isolation_insert_vs_all_on_mx.spec b/src/test/regress/spec/isolation_insert_vs_all_on_mx.spec index 8f98289ad..7367fecb6 100644 --- a/src/test/regress/spec/isolation_insert_vs_all_on_mx.spec +++ b/src/test/regress/spec/isolation_insert_vs_all_on_mx.spec @@ -135,12 +135,12 @@ permutation "s1-start-session-level-connection" "s1-begin-on-worker" "s1-insert- 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" 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" -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" -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" -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" -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" -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" -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" -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" +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" +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" +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" +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" +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" +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" +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" //Not able to test the next permutation, until issue with CREATE INDEX CONCURRENTLY's locks is resolved. Issue #2966 //permutation "s1-start-session-level-connection" "s1-begin-on-worker" "s1-insert" "s2-coordinator-create-index-concurrently" "s1-commit-worker" "s3-select-count" "s1-stop-connection" diff --git a/src/test/regress/spec/isolation_ref_update_delete_upsert_vs_all_on_mx.spec b/src/test/regress/spec/isolation_ref_update_delete_upsert_vs_all_on_mx.spec index 8f7de5f6e..6fc02d78e 100644 --- a/src/test/regress/spec/isolation_ref_update_delete_upsert_vs_all_on_mx.spec +++ b/src/test/regress/spec/isolation_ref_update_delete_upsert_vs_all_on_mx.spec @@ -108,7 +108,7 @@ step "s3-select-count" -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" +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" 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" 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" 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" diff --git a/src/test/regress/sql/upgrade_columnar_metapage_before.sql b/src/test/regress/sql/upgrade_columnar_metapage_before.sql index 4dd23727c..393f8fdc6 100644 --- a/src/test/regress/sql/upgrade_columnar_metapage_before.sql +++ b/src/test/regress/sql/upgrade_columnar_metapage_before.sql @@ -16,7 +16,7 @@ INSERT INTO columnar_table_1 SELECT i FROM generate_series(160001, 320000) i; CREATE TABLE columnar_table_2(b INT) USING columnar; SELECT alter_columnar_table_set('columnar_table_2', - chunk_group_row_limit => 100, + chunk_group_row_limit => 1000, stripe_row_limit => 1000); INSERT INTO columnar_table_2 SELECT i FROM generate_series(1600, 3500) i;