aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndres Freund <andres@anarazel.de>2018-10-10 13:53:02 -0700
committerAndres Freund <andres@anarazel.de>2018-10-10 13:53:02 -0700
commitef493055b67d30393a71c59d6fcbc2bd406528c2 (patch)
tree3e376c5917502be6ba4cdf4de649d12f5a9bdb29
parentf82d4d666ff501382b92dfd80eaf1d459e6e84a3 (diff)
downloadpostgresql-ef493055b67d30393a71c59d6fcbc2bd406528c2.tar.gz
postgresql-ef493055b67d30393a71c59d6fcbc2bd406528c2.zip
Force synchronous commit to be enabled for all test_decoding tests.
Without that the tests fail when forced to be run against a cluster with synchronous_commit = off (as the WAL might not yet be flushed to disk by the point logical decoding gets called, and thus the expected output breaks). Most tests already do that, add it to a few newer tests. Author: Andres Freund
-rw-r--r--contrib/test_decoding/expected/truncate.out2
-rw-r--r--contrib/test_decoding/specs/oldest_xmin.spec2
-rw-r--r--contrib/test_decoding/specs/snapshot_transfer.spec2
-rw-r--r--contrib/test_decoding/sql/truncate.sql3
4 files changed, 9 insertions, 0 deletions
diff --git a/contrib/test_decoding/expected/truncate.out b/contrib/test_decoding/expected/truncate.out
index be851782066..1cf2ae835c8 100644
--- a/contrib/test_decoding/expected/truncate.out
+++ b/contrib/test_decoding/expected/truncate.out
@@ -1,3 +1,5 @@
+-- predictability
+SET synchronous_commit = on;
SELECT 'init' FROM pg_create_logical_replication_slot('regression_slot', 'test_decoding');
?column?
----------
diff --git a/contrib/test_decoding/specs/oldest_xmin.spec b/contrib/test_decoding/specs/oldest_xmin.spec
index 141fe2b145d..6cb13e85cec 100644
--- a/contrib/test_decoding/specs/oldest_xmin.spec
+++ b/contrib/test_decoding/specs/oldest_xmin.spec
@@ -17,6 +17,7 @@ teardown
}
session "s0"
+setup { SET synchronous_commit=on; }
step "s0_begin" { BEGIN; }
step "s0_getxid" { SELECT txid_current() IS NULL; }
step "s0_alter" { ALTER TYPE basket DROP ATTRIBUTE mangos; }
@@ -26,6 +27,7 @@ step "s0_vacuum" { VACUUM pg_attribute; }
step "s0_get_changes" { SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1'); }
session "s1"
+setup { SET synchronous_commit=on; }
step "s1_begin" { BEGIN; }
step "s1_insert" { INSERT INTO harvest VALUES ((1, 2, 3)); }
step "s1_commit" { COMMIT; }
diff --git a/contrib/test_decoding/specs/snapshot_transfer.spec b/contrib/test_decoding/specs/snapshot_transfer.spec
index 47db7fd90ae..8fb70e65676 100644
--- a/contrib/test_decoding/specs/snapshot_transfer.spec
+++ b/contrib/test_decoding/specs/snapshot_transfer.spec
@@ -17,6 +17,7 @@ teardown
}
session "s0"
+setup { SET synchronous_commit=on; }
step "s0_begin" { BEGIN; }
step "s0_begin_sub0" { SAVEPOINT s0; }
step "s0_log_assignment" { SELECT txid_current() IS NULL; }
@@ -30,6 +31,7 @@ step "s0_commit" { COMMIT; }
step "s0_get_changes" { SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1'); }
session "s1"
+setup { SET synchronous_commit=on; }
step "s1_produce_new_snap" { ALTER TABLE harvest ADD COLUMN mangos int; }
# start top-level without base snap, get base snap in subxact, then create new
diff --git a/contrib/test_decoding/sql/truncate.sql b/contrib/test_decoding/sql/truncate.sql
index 88f113fd5b1..5aecdf0881f 100644
--- a/contrib/test_decoding/sql/truncate.sql
+++ b/contrib/test_decoding/sql/truncate.sql
@@ -1,3 +1,6 @@
+-- predictability
+SET synchronous_commit = on;
+
SELECT 'init' FROM pg_create_logical_replication_slot('regression_slot', 'test_decoding');
CREATE TABLE tab1 (id serial unique, data int);