pgsql: Add an init callback for the logical decoding control data. - Mailing list pgsql-committers

From Masahiko Sawada
Subject pgsql: Add an init callback for the logical decoding control data.
Date
Msg-id E1xEW5A-00000000iTe-10ac@gemulon.postgresql.org
Whole thread
List pgsql-committers
Add an init callback for the logical decoding control data.

LogicalDecodingCtl had no init callback so there is no guarantee that
its fields are initialized. Its startup function
StartupLogicalDecodingStatus() also returns without touching the
fields when wal_level is 'minimal'.

Initialize them in an init callback explicitly. This is not a bug fix
but we just shouldn't be depending on the allocator by accident.

Backpatch to v19, where logicalctl.c was introduced, since a
subsequent bug fix for slot synchronization adds a new field to
LogicalDecodingCtlData and relies on this callback to initialize it.

Reviewed-by: shveta malik <shveta.malik@gmail.com>
Reviewed-by: Nisha Moond <nisha.moond412@gmail.com>
Discussion: https://postgr.es/m/CAM527d_eV_BAYFiQnfZLSPfHoihye=nOi-OnAM_57pdH+F+gfA@mail.gmail.com
Backpatch-through: 19

Branch
------
REL_19_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/5412127cbf1b71ced51ea511248403e35e8f7a8b

Modified Files
--------------
src/backend/replication/logical/logicalctl.c | 10 ++++++++++
1 file changed, 10 insertions(+)


pgsql-committers by date:

Previous
From: Masahiko Sawada
Date:
Subject: pgsql: Add an init callback for the logical decoding control data.
Next
From: Masahiko Sawada
Date:
Subject: pgsql: Fix slotsync when logical decoding is disabled and re-enabled.