Amit Kapila 6456c6e2c4 Add test to prevent premature removal of conflict-relevant data.
A test has been added to ensure that conflict-relevant data is not
prematurely removed when a concurrent prepared transaction is being
committed on the publisher.

This test introduces an injection point that simulates the presence of a
prepared transaction in the commit phase, validating that the system
correctly delays conflict slot advancement until the transaction is fully
committed.

Additionally, the test serves as a safeguard for developers, ensuring that
the acquisition of the commit timestamp does not occur before marking
DELAY_CHKPT_IN_COMMIT in RecordTransactionCommitPrepared.

Reported-by: Robert Haas <robertmhaas@gmail.com>
Author: Zhijie Hou <houzj.fnst@fujitsu.com>
Reviewed-by: shveta malik <shveta.malik@gmail.com>
Reviewed-by: Amit Kapila <amit.kapila16@gmail.com>
Discussion: https://postgr.es/m/OS9PR01MB16913F67856B0DA2A909788129400A@OS9PR01MB16913.jpnprd01.prod.outlook.com
2025-09-08 12:06:03 +00:00

52 lines
1.4 KiB
Meson

# Copyright (c) 2022-2025, PostgreSQL Global Development Group
tests += {
'name': 'subscription',
'sd': meson.current_source_dir(),
'bd': meson.current_build_dir(),
'tap': {
'env': {
'with_icu': icu.found() ? 'yes' : 'no',
'enable_injection_points': get_option('injection_points') ? 'yes' : 'no',
},
'tests': [
't/001_rep_changes.pl',
't/002_types.pl',
't/003_constraints.pl',
't/004_sync.pl',
't/005_encoding.pl',
't/006_rewrite.pl',
't/007_ddl.pl',
't/008_diff_schema.pl',
't/009_matviews.pl',
't/010_truncate.pl',
't/011_generated.pl',
't/012_collation.pl',
't/013_partition.pl',
't/014_binary.pl',
't/015_stream.pl',
't/016_stream_subxact.pl',
't/017_stream_ddl.pl',
't/018_stream_subxact_abort.pl',
't/019_stream_subxact_ddl_abort.pl',
't/020_messages.pl',
't/021_twophase.pl',
't/022_twophase_cascade.pl',
't/023_twophase_stream.pl',
't/024_add_drop_pub.pl',
't/025_rep_changes_for_schema.pl',
't/026_stats.pl',
't/027_nosuperuser.pl',
't/028_row_filter.pl',
't/029_on_error.pl',
't/030_origin.pl',
't/031_column_list.pl',
't/032_subscribe_use_index.pl',
't/033_run_as_table_owner.pl',
't/034_temporal.pl',
't/035_conflicts.pl',
't/100_bugs.pl',
],
},
}