postgresql/contrib/test_decoding/sql
Andres Freund 61633f7904 Correct logical decoding restore behaviour for subtransactions.
Before initializing iteration over a subtransaction's changes, the last
few changes were not spilled to disk. That's correct if the transaction
didn't spill to disk, but otherwise... This bug can lead to missed or
misorderd subtransaction contents when they were spilled to disk.

Move spilling of the remaining in-memory changes to
ReorderBufferIterTXNInit(), where it can easily be applied to the top
transaction and, if present, subtransactions.

Since this code had too many bugs already, noticeably increase test
coverage.

Fixes: #14319
Reported-By: Huan Ruan
Discussion: <20160909012610.20024.58169@wrigleys.postgresql.org>
Backport: 9,4-, where logical decoding was added
2016-10-03 22:11:36 -07:00
..
binary.sql test_decoding: Protect against rare spurious test failures. 2015-09-22 15:39:46 +02:00
ddl.sql Fix core dump in ReorderBufferRestoreChange on alignment-picky platforms. 2016-04-14 19:42:21 -04:00
decoding_in_xact.sql Collection of typo fixes. 2015-05-20 16:56:22 +03:00
decoding_into_rel.sql Don't skip SQL backends in logical decoding for visibility computation. 2014-12-02 23:47:08 +01:00
messages.sql Add required database and origin filtering for logical messages. 2016-04-13 17:38:54 -07:00
permissions.sql Establish conventions about global object names used in regression tests. 2016-07-17 18:42:43 -04:00
prepared.sql Add skip-empty-xacts option to test_decoding for use in the regression tests. 2014-09-01 15:59:44 +02:00
replorigin.sql Add required database and origin filtering for logical messages. 2016-04-13 17:38:54 -07:00
rewrite.sql Add skip-empty-xacts option to test_decoding for use in the regression tests. 2014-09-01 15:59:44 +02:00
spill.sql Correct logical decoding restore behaviour for subtransactions. 2016-10-03 22:11:36 -07:00
time.sql logical decoding: fix decoding of a commit's commit time. 2016-03-02 23:42:21 -08:00
toast.sql logical decoding: Fix handling of large old tuples with replica identity full. 2016-03-05 18:02:20 -08:00
xact.sql Don't propagate a null subtransaction snapshot up to parent transaction. 2016-08-07 13:15:55 -04:00