postgresql/contrib/test_decoding/expected
Masahiko Sawada 072ee847ad Skip logical decoding of already-aborted transactions.
Previously, transaction aborts were detected concurrently only during
system catalog scans while replaying a transaction in streaming mode.

This commit adds an additional CLOG lookup to check the transaction
status, allowing the logical decoding to skip changes also when it
doesn't touch system catalogs, if the transaction is already
aborted. This optimization enhances logical decoding performance,
especially for large transactions that have already been rolled back,
as it avoids unnecessary disk or network I/O.

To avoid potential slowdowns caused by frequent CLOG lookups for small
transactions (most of which commit), the CLOG lookup is performed only
for large transactions before eviction. The performance benchmark
results showed there is not noticeable performance regression due to
CLOG lookups.

Reviewed-by: Amit Kapila, Peter Smith, Vignesh C, Ajin Cherian
Reviewed-by: Dilip Kumar, Andres Freund
Discussion: https://postgr.es/m/CAD21AoDht9Pz_DFv_R2LqBTBbO4eGrpa9Vojmt5z5sEx3XwD7A@mail.gmail.com
2025-02-12 16:31:34 -08:00
..
binary.out
catalog_change_snapshot.out
concurrent_ddl_dml.out
concurrent_stream.out
ddl.out Add pg_constraint rows for not-null constraints 2024-11-08 13:28:48 +01:00
decoding_in_xact.out Make RelationFlushRelation() work without ResourceOwner during abort 2024-06-06 18:56:28 +03:00
decoding_into_rel.out
delayed_startup.out
messages.out
mxact.out
oldest_xmin.out
ondisk_startup.out
permissions.out
prepared.out
replorigin.out
rewrite.out
skip_snapshot_restore.out Fix possibility of logical decoding partial transaction changes. 2024-07-11 22:48:23 +09:00
slot.out Revise GUC names quoting in messages again 2024-05-17 11:44:26 +02:00
slot_creation_error.out
snapshot_transfer.out
spill.out
stats.out Skip logical decoding of already-aborted transactions. 2025-02-12 16:31:34 -08:00
stream.out Skip logical decoding of already-aborted transactions. 2025-02-12 16:31:34 -08:00
subxact_without_top.out
time.out
toast.out
truncate.out
twophase.out Stabilize the test added by commit 022564f60c. 2024-10-08 12:25:52 +05:30
twophase_snapshot.out
twophase_stream.out
xact.out