@ -3,10 +3,10 @@ SET synchronous_commit = on;
SELECT ' init ' FROM pg_create_logical_replication_slot ( ' regression_slot ' , ' test_decoding ' ) ;
SELECT ' init ' FROM pg_create_logical_replication_slot ( ' regression_slot ' , ' test_decoding ' ) ;
-- bug #13844, xids in non-decoded records need to be inspected
CREATE TABLE xact_test ( data text ) ;
CREATE TABLE xact_test ( data text ) ;
INSERT INTO xact_test VALUES ( ' before-test ' ) ;
INSERT INTO xact_test VALUES ( ' before-test ' ) ;
-- bug #13844, xids in non-decoded records need to be inspected
BEGIN ;
BEGIN ;
-- perform operation in xact that creates and logs xid, but isn't decoded
-- perform operation in xact that creates and logs xid, but isn't decoded
SELECT * FROM xact_test FOR UPDATE ;
SELECT * FROM xact_test FOR UPDATE ;
@ -17,6 +17,17 @@ COMMIT;
-- and now show those changes
-- and now show those changes
SELECT data FROM pg_logical_slot_get_changes ( ' regression_slot ' , NULL , NULL , ' include-xids ' , ' 0 ' , ' skip-empty-xacts ' , ' 1 ' ) ;
SELECT data FROM pg_logical_slot_get_changes ( ' regression_slot ' , NULL , NULL , ' include-xids ' , ' 0 ' , ' skip-empty-xacts ' , ' 1 ' ) ;
-- bug #14279, do not propagate null snapshot from subtransaction
BEGIN ;
-- first insert
INSERT INTO xact_test VALUES ( ' main-txn ' ) ;
SAVEPOINT foo ;
-- now perform operation in subxact that creates and logs xid, but isn't decoded
SELECT 1 FROM xact_test FOR UPDATE LIMIT 1 ;
COMMIT ;
-- and now show those changes
SELECT data FROM pg_logical_slot_get_changes ( ' regression_slot ' , NULL , NULL , ' include-xids ' , ' 0 ' , ' skip-empty-xacts ' , ' 1 ' ) ;
DROP TABLE xact_test ;
DROP TABLE xact_test ;
SELECT pg_drop_replication_slot ( ' regression_slot ' ) ;
SELECT pg_drop_replication_slot ( ' regression_slot ' ) ;