From ef81954a1228067a2a03a0a895d6466c637888f6 Mon Sep 17 00:00:00 2001 From: Nils Dijk Date: Fri, 20 Aug 2021 13:46:29 +0200 Subject: [PATCH] use dev build of new ci images --- .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..12858872f 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-dev202108201746 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-dev202108201746' - build: name: build-13 pg_major: 13 - image_tag: '13.2' + image_tag: '13.4-dev202108201746' - 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-dev202108201746' 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-dev202108201746' 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-dev202108201746' 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-dev202108201746' make: check-vanilla requires: [build-12] - test-citus: name: 'test-12_check-isolation' pg_major: 12 - image_tag: '12.6' + image_tag: '12.8-dev202108201746' make: check-isolation requires: [build-12] - test-citus: name: 'test-12_check-worker' pg_major: 12 - image_tag: '12.6' + image_tag: '12.8-dev202108201746' make: check-worker requires: [build-12] - test-citus: name: 'test-12_check-operations' pg_major: 12 - image_tag: '12.6' + image_tag: '12.8-dev202108201746' 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-dev202108201746' 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-dev202108201746' 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-dev202108201746' 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-dev202108201746' 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-dev202108201746' make: check-failure requires: [build-12] - test-citus: name: 'test-13_check-multi' pg_major: 13 - image_tag: '13.2' + image_tag: '13.4-dev202108201746' 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-dev202108201746' 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-dev202108201746' 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-dev202108201746' make: check-vanilla requires: [build-13] - test-citus: name: 'test-13_check-isolation' pg_major: 13 - image_tag: '13.2' + image_tag: '13.4-dev202108201746' make: check-isolation requires: [build-13] - test-citus: name: 'test-13_check-worker' pg_major: 13 - image_tag: '13.2' + image_tag: '13.4-dev202108201746' make: check-worker requires: [build-13] - test-citus: name: 'test-13_check-operations' pg_major: 13 - image_tag: '13.2' + image_tag: '13.4-dev202108201746' 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-dev202108201746' 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-dev202108201746' 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-dev202108201746' 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-dev202108201746' 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-dev202108201746' 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-13-dev202108201746' 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-dev202108201746' 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;