postgresql/contrib/test_decoding/expected
Amit Kapila d65485b02b Fix xmin advancement during fast_forward decoding.
During logical decoding, we advance catalog_xmin of logical too early in
fast_forward mode, resulting in required catalog data being removed by
vacuum. This mode is normally used to advance the slot without processing
the changes, but we still can't let the slot's xmin to advance to an
incorrect value.

Commit f49a80c481 fixed a similar issue where the logical slot's
catalog_xmin was getting advanced prematurely during non-fast-forward
mode. During xl_running_xacts processing, instead of directly advancing
the slot's xmin to the oldest running xid in the record, it allowed the
xmin to be held back for snapshots that can be used for
not-yet-replayed transactions, as those might consider older txns as
running too. However, it missed the fact that the same problem can happen
during fast_forward mode decoding, as we won't build a base snapshot in
that mode, and the future call to get_changes from the same slot can miss
seeing the required catalog changes leading to incorrect reslts.

This commit allows building the base snapshot even in fast_forward mode to
prevent the early advancement of xmin.

Reported-by: Amit Kapila <amit.kapila16@gmail.com>
Author: Zhijie Hou <houzj.fnst@fujitsu.com>
Reviewed-by: Masahiko Sawada <sawada.mshk@gmail.com>
Reviewed-by: shveta malik <shveta.malik@gmail.com>
Reviewed-by: Amit Kapila <amit.kapila16@gmail.com>
Backpatch-through: 13
Discussion: https://postgr.es/m/CAA4eK1LqWncUOqKijiafe+Ypt1gQAQRjctKLMY953J79xDBgAg@mail.gmail.com
Discussion: https://postgr.es/m/OS0PR01MB57163087F86621D44D9A72BF94BB2@OS0PR01MB5716.jpnprd01.prod.outlook.com
2025-04-28 11:55:00 +05:30
..
binary.out Message style improvements 2015-10-28 20:38:36 -04:00
catalog_change_snapshot.out Fix assertion failures while processing NEW_CID record in logical decoding. 2022-10-20 09:25:13 +05:30
concurrent_ddl_dml.out Improve display of query results in isolation tests. 2021-06-23 11:12:31 -04:00
ddl.out Introduce xid8-based functions to replace txid_XXX. 2020-04-07 12:04:32 +12:00
decoding_in_xact.out Introduce xid8-based functions to replace txid_XXX. 2020-04-07 12:04:32 +12:00
decoding_into_rel.out Fix crash when logical decoding is invoked from a PL function. 2017-10-06 19:18:58 -04:00
delayed_startup.out Improve display of query results in isolation tests. 2021-06-23 11:12:31 -04:00
invalidation_distribution.out Fix typo in test file name added in commit 4909b38af0. 2025-04-25 11:45:40 +05:30
messages.out Add required database and origin filtering for logical messages. 2016-04-13 17:38:54 -07:00
mxact.out Improve display of query results in isolation tests. 2021-06-23 11:12:31 -04:00
oldest_xmin.out Fix xmin advancement during fast_forward decoding. 2025-04-28 11:55:00 +05:30
ondisk_startup.out Improve display of query results in isolation tests. 2021-06-23 11:12:31 -04:00
permissions.out Replace AclObjectKind with ObjectType 2018-01-19 14:01:15 -05:00
prepared.out Add skip-empty-xacts option to test_decoding for use in the regression tests. 2014-09-01 15:59:44 +02:00
replorigin.out Remove assertion for replication origins in PREPARE TRANSACTION 2021-12-14 10:58:29 +09:00
rewrite.out Fix regression tests to use only global names beginning with "regress_". 2019-06-29 11:09:03 -04:00
skip_snapshot_restore.out Fix possibility of logical decoding partial transaction changes. 2024-07-11 22:48:10 +09:00
slot.out Check slot->restart_lsn validity in a few more places 2020-04-28 20:39:04 -04:00
snapshot_transfer.out Improve display of query results in isolation tests. 2021-06-23 11:12:31 -04:00
spill.out Make contrib/test_decoding regression tests safe for CZ locale. 2016-11-21 20:39:28 -05:00
subxact_without_top.out Improve display of query results in isolation tests. 2021-06-23 11:12:31 -04:00
time.out logical decoding: fix decoding of a commit's commit time. 2016-03-02 23:42:21 -08:00
toast.out WAL log unchanged toasted replica identity key attributes. 2022-02-14 08:24:44 +05:30
truncate.out Force synchronous commit to be enabled for all test_decoding tests. 2018-10-10 13:53:02 -07:00
xact.out Don't propagate a null subtransaction snapshot up to parent transaction. 2016-08-07 13:15:55 -04:00