Skip to content

Commit 2c7ea57

Browse files
committed
Revert "Logical decoding of sequences"
This reverts a sequence of commits, implementing features related to logical decoding and replication of sequences: - 0da92dc - 80901b3 - b779d7d - d5ed9da - a180c2b - 75b1521 - 2d22329 - 002c9dd - 05843b1 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
1 parent d7ab2a9 commit 2c7ea57

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

73 files changed

+605
-4762
lines changed

contrib/test_decoding/Makefile

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ PGFILEDESC = "test_decoding - example of a logical decoding output plugin"
55

66
REGRESS = ddl xact rewrite toast permissions decoding_in_xact \
77
decoding_into_rel binary prepared replorigin time messages \
8-
spill slot truncate stream stats twophase twophase_stream \
9-
sequence
8+
spill slot truncate stream stats twophase twophase_stream
109
ISOLATION = mxact delayed_startup ondisk_startup concurrent_ddl_dml \
1110
oldest_xmin snapshot_transfer subxact_without_top concurrent_stream \
1211
twophase_snapshot slot_creation_error

contrib/test_decoding/expected/ddl.out

Lines changed: 19 additions & 19 deletions
Large diffs are not rendered by default.

contrib/test_decoding/expected/decoding_in_xact.out

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ SELECT pg_current_xact_id() = '0';
5858

5959
-- don't show yet, haven't committed
6060
INSERT INTO nobarf(data) VALUES('2');
61-
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'include-sequences', '0');
61+
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
6262
data
6363
-----------------------------------------------------------
6464
BEGIN
@@ -68,7 +68,7 @@ SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'inc
6868

6969
COMMIT;
7070
INSERT INTO nobarf(data) VALUES('3');
71-
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'include-sequences', '0');
71+
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
7272
data
7373
-----------------------------------------------------------
7474
BEGIN

contrib/test_decoding/expected/decoding_into_rel.out

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'inc
1919
CREATE TABLE somechange(id serial primary key);
2020
INSERT INTO somechange DEFAULT VALUES;
2121
CREATE TABLE changeresult AS
22-
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'include-sequences', '0');
22+
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
2323
SELECT * FROM changeresult;
2424
data
2525
------------------------------------------------
@@ -29,9 +29,9 @@ SELECT * FROM changeresult;
2929
(3 rows)
3030

3131
INSERT INTO changeresult
32-
SELECT data FROM pg_logical_slot_peek_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'include-sequences', '0');
32+
SELECT data FROM pg_logical_slot_peek_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
3333
INSERT INTO changeresult
34-
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'include-sequences', '0');
34+
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
3535
SELECT * FROM changeresult;
3636
data
3737
--------------------------------------------------------------------------------------------------------------------------------------------------
@@ -63,7 +63,7 @@ DROP TABLE somechange;
6363
CREATE FUNCTION slot_changes_wrapper(slot_name name) RETURNS SETOF TEXT AS $$
6464
BEGIN
6565
RETURN QUERY
66-
SELECT data FROM pg_logical_slot_peek_changes(slot_name, NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'include-sequences', '0');
66+
SELECT data FROM pg_logical_slot_peek_changes(slot_name, NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
6767
END$$ LANGUAGE plpgsql;
6868
SELECT * FROM slot_changes_wrapper('regression_slot');
6969
slot_changes_wrapper
@@ -84,7 +84,7 @@ SELECT * FROM slot_changes_wrapper('regression_slot');
8484
COMMIT
8585
(14 rows)
8686

87-
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'include-sequences', '0');
87+
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
8888
data
8989
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
9090
BEGIN

contrib/test_decoding/expected/mxact.out

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ step s0init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_sl
77
init
88
(1 row)
99

10-
step s0start: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false', 'include-sequences', 'false');
10+
step s0start: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false');
1111
data
1212
----
1313
(0 rows)
@@ -27,7 +27,7 @@ t
2727
(1 row)
2828

2929
step s0w: INSERT INTO do_write DEFAULT VALUES;
30-
step s0start: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false', 'include-sequences', 'false');
30+
step s0start: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false');
3131
data
3232
--------------------------------------------
3333
BEGIN
@@ -50,7 +50,7 @@ step s0init: SELECT 'init' FROM pg_create_logical_replication_slot('isolation_sl
5050
init
5151
(1 row)
5252

53-
step s0start: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false', 'include-sequences', 'false');
53+
step s0start: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false');
5454
data
5555
----
5656
(0 rows)
@@ -71,7 +71,7 @@ t
7171

7272
step s0alter: ALTER TABLE do_write ADD column ts timestamptz;
7373
step s0w: INSERT INTO do_write DEFAULT VALUES;
74-
step s0start: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false', 'include-sequences', 'false');
74+
step s0start: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false');
7575
data
7676
------------------------------------------------------------------------------
7777
BEGIN

contrib/test_decoding/expected/ondisk_startup.out

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ init
3535
step s2c: COMMIT;
3636
step s1insert: INSERT INTO do_write DEFAULT VALUES;
3737
step s1checkpoint: CHECKPOINT;
38-
step s1start: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false', 'include-sequences', 'false');
38+
step s1start: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false');
3939
data
4040
--------------------------------------------------------------------
4141
BEGIN
@@ -46,7 +46,7 @@ COMMIT
4646
step s1insert: INSERT INTO do_write DEFAULT VALUES;
4747
step s1alter: ALTER TABLE do_write ADD COLUMN addedbys1 int;
4848
step s1insert: INSERT INTO do_write DEFAULT VALUES;
49-
step s1start: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false', 'include-sequences', 'false');
49+
step s1start: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false');
5050
data
5151
--------------------------------------------------------------------------------------------
5252
BEGIN

contrib/test_decoding/expected/replorigin.out

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,9 @@ SELECT 'init' FROM pg_create_logical_replication_slot('regression_slot', 'test_d
7272
-- origin tx
7373
INSERT INTO origin_tbl(data) VALUES ('will be replicated and decoded and decoded again');
7474
INSERT INTO target_tbl(data)
75-
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'include-sequences', '0');
75+
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
7676
-- as is normal, the insert into target_tbl shows up
77-
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'include-sequences', '0');
77+
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
7878
data
7979
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
8080
BEGIN
@@ -110,7 +110,7 @@ SELECT pg_replication_origin_xact_setup('0/aabbccdd', '2013-01-01 00:00');
110110
(1 row)
111111

112112
INSERT INTO target_tbl(data)
113-
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'only-local', '1', 'include-sequences', '0');
113+
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'only-local', '1');
114114
COMMIT;
115115
-- check replication progress for the session is correct
116116
SELECT pg_replication_origin_session_progress(false);
@@ -154,14 +154,14 @@ SELECT pg_replication_origin_progress('regress_test_decoding: regression_slot',
154154
SELECT pg_replication_origin_session_reset();
155155
ERROR: no replication origin is configured
156156
-- and magically the replayed xact will be filtered!
157-
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'only-local', '1', 'include-sequences', '0');
157+
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'only-local', '1');
158158
data
159159
------
160160
(0 rows)
161161

162162
--but new original changes still show up
163163
INSERT INTO origin_tbl(data) VALUES ('will be replicated');
164-
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'only-local', '1', 'include-sequences', '0');
164+
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'only-local', '1');
165165
data
166166
--------------------------------------------------------------------------------
167167
BEGIN
@@ -227,7 +227,7 @@ SELECT local_id, external_id,
227227
1 | regress_test_decoding: regression_slot_no_lsn | f | t
228228
(1 row)
229229

230-
SELECT data FROM pg_logical_slot_get_changes('regression_slot_no_lsn', NULL, NULL, 'skip-empty-xacts', '1', 'include-xids', '0', 'include-sequences', '0');
230+
SELECT data FROM pg_logical_slot_get_changes('regression_slot_no_lsn', NULL, NULL, 'skip-empty-xacts', '1', 'include-xids', '0');
231231
data
232232
-------------------------------------------------------------------------------------
233233
BEGIN

contrib/test_decoding/expected/rewrite.out

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ SELECT 'init' FROM pg_create_logical_replication_slot('regression_slot', 'test_d
6464

6565
CREATE TABLE replication_example(id SERIAL PRIMARY KEY, somedata int, text varchar(120));
6666
INSERT INTO replication_example(somedata) VALUES (1);
67-
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'include-sequences', '0');
67+
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
6868
data
6969
----------------------------------------------------------------------------------------------------------
7070
BEGIN
@@ -115,7 +115,7 @@ INSERT INTO replication_example(somedata, testcolumn1, testcolumn3) VALUES (7, 5
115115
COMMIT;
116116
-- make old files go away
117117
CHECKPOINT;
118-
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'include-sequences', '0');
118+
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
119119
data
120120
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
121121
BEGIN
@@ -141,7 +141,7 @@ VACUUM FULL pg_proc; VACUUM FULL pg_description; VACUUM FULL pg_shdescription; V
141141
INSERT INTO replication_example(somedata, testcolumn1, testcolumn3) VALUES (8, 6, 1);
142142
VACUUM FULL pg_proc; VACUUM FULL pg_description; VACUUM FULL pg_shdescription; VACUUM FULL iamalargetable;
143143
INSERT INTO replication_example(somedata, testcolumn1, testcolumn3) VALUES (9, 7, 1);
144-
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'include-sequences', '0');
144+
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
145145
data
146146
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
147147
BEGIN

0 commit comments

Comments
 (0)