Fix publisher retain_dead_tuples check when also changing origin.

Amit Kapila <akapila@postgresql.org>

Commit: 75dcc63dac0ef183774ec22a6557174ee36db601
Author: Amit Kapila <akapila@postgresql.org>
Date: 2026-06-08T05:29:05Z
Fix publisher retain_dead_tuples check when also changing origin.

In AlterSubscription(), when the SET clause includes both
retain_dead_tuples and origin options, the origin branch was using
assignment (=) rather than bitwise-or assignment (|=) when setting
check_pub_rdt. This meant that if retain_dead_tuples had already set the
flag to true in the same command, the origin branch would silently
overwrite it. As a result, the publisher-side retain_dead_tuples check
could be incorrectly skipped.

Fix by changing the assignment to |= so that the flag accumulates across
both option branches within the same ALTER SUBSCRIPTION command.

Author: SATYANARAYANA NARLAPURAM <satyanarlapuram@gmail.com>
Reviewed-by: Zhijie Hou <houzj.fnst@fujitsu.com>
Reviewed-by: Amit Kapila <amit.kapila16@gmail.com>
Discussion: https://postgr.es/m/CAHg+QDfe7WPOhVGKzv83ZB+BmXM88r=KPQn1sa_ZXMMChcNo=A@mail.gmail.com

Files

PathChange+/−
src/backend/commands/subscriptioncmds.c modified +4 −2

Discussion