mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-08-25 22:47:17 +02:00
This reverts a sequence of commits, implementing features related to logical decoding and replication of sequences: -0da92dc530
-80901b3291
-b779d7d8fd
-d5ed9da41d
-a180c2b34d
-75b1521dae
-2d2232933b
-002c9dd97a
-05843b1aa4
The implementation has issues, mostly due to combining transactional and non-transactional behavior of sequences. It's not clear how this could be fixed, but it'll require reworking significant part of the patch. Discussion: https://postgr.es/m/95345a19-d508-63d1-860a-f5c2f41e8d40@enterprisedb.com
39 lines
1.5 KiB
RPMSpec
39 lines
1.5 KiB
RPMSpec
setup
|
|
{
|
|
DROP TABLE IF EXISTS do_write;
|
|
CREATE TABLE do_write(id serial primary key);
|
|
}
|
|
|
|
teardown
|
|
{
|
|
DROP TABLE IF EXISTS do_write;
|
|
SELECT 'stop' FROM pg_drop_replication_slot('isolation_slot');
|
|
}
|
|
|
|
session "s0"
|
|
setup { SET synchronous_commit=on; }
|
|
step "s0init" {SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'test_decoding');}
|
|
step "s0start" {SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false');}
|
|
step "s0alter" {ALTER TABLE do_write ADD column ts timestamptz; }
|
|
step "s0w" { INSERT INTO do_write DEFAULT VALUES; }
|
|
|
|
session "s1"
|
|
setup { SET synchronous_commit=on; }
|
|
step "s1begin" {BEGIN;}
|
|
step "s1sharepgclass" { SELECT count(*) > 1 FROM (SELECT * FROM pg_class FOR SHARE) s; }
|
|
step "s1keysharepgclass" { SELECT count(*) > 1 FROM (SELECT * FROM pg_class FOR KEY SHARE) s; }
|
|
step "s1commit" {COMMIT;}
|
|
|
|
session "s2"
|
|
setup { SET synchronous_commit=on; }
|
|
step "s2begin" {BEGIN;}
|
|
step "s2sharepgclass" { SELECT count(*) > 1 FROM (SELECT * FROM pg_class FOR SHARE) s; }
|
|
step "s2keysharepgclass" { SELECT count(*) > 1 FROM (SELECT * FROM pg_class FOR KEY SHARE) s; }
|
|
step "s2commit" {COMMIT;}
|
|
|
|
# test that we're handling an update-only mxact xmax correctly
|
|
permutation "s0init" "s0start" "s1begin" "s1sharepgclass" "s2begin" "s2sharepgclass" "s0w" "s0start" "s2commit" "s1commit"
|
|
|
|
# test that we're handling an update-only mxact xmax correctly
|
|
permutation "s0init" "s0start" "s1begin" "s1keysharepgclass" "s2begin" "s2keysharepgclass" "s0alter" "s0w" "s0start" "s2commit" "s1commit"
|