Fix incorrect assignment of InvalidXLogRecPtr to a non-LSN variable.
authorFujii Masao <fujii@postgresql.org>
Wed, 12 Nov 2025 23:44:33 +0000 (08:44 +0900)
committerFujii Masao <fujii@postgresql.org>
Wed, 12 Nov 2025 23:44:33 +0000 (08:44 +0900)
commit705601c5aeab56aef62dd69ac2b7acf662f08e9c
tree099c1c45d79d17214d4d72cb5bf0f58f0fb15442
parent180e7abe68040375b77450d389dafbb0f11186e7
Fix incorrect assignment of InvalidXLogRecPtr to a non-LSN variable.

pg_logical_slot_get_changes_guts() previously assigned InvalidXLogRecPtr to
the local variable upto_nchanges, which is of type int32, not XLogRecPtr.
While this caused no functional issue since InvalidXLogRecPtr is defined as 0,
it was semantically incorrect.

This commit fixes the issue by updating pg_logical_slot_get_changes_guts()
to set upto_nchanges to 0 instead of InvalidXLogRecPtr.

No backpatch is needed, as the previous behavior was harmless.

Author: Fujii Masao <masao.fujii@gmail.com>
Reviewed-by: Steven Niu <niushiji@gmail.com>
Reviewed-by: Xuneng Zhou <xunengzhou@gmail.com>
Discussion: https://postgr.es/m/CAHGQGwHKHuR5NGnGxU3+ebz7cbC1ZAR=AgG4Bueq==Lj6iX8Sw@mail.gmail.com
src/backend/replication/logical/logicalfuncs.c