Fix off-by-one error in txid_status().

Thomas Munro <tmunro@postgresql.org>

Commit: 26d4fda37ea10d146e9d35fca70f817a0bfe300c
Author: Thomas Munro <tmunro@postgresql.org>
Date: 2019-03-27T08:30:49Z
Releases: 11.3
Fix off-by-one error in txid_status().

The transaction ID returned by GetNextXidAndEpoch() is in the future,
so we can't attempt to access its status or we might try to read a
CLOG page that doesn't exist.  The > vs >= confusion probably stemmed
from the choice of a variable name containing the word "last" instead
of "next", so fix that too.

Back-patch to 10 where the function arrived.

Author: Thomas Munro
Discussion: https://postgr.es/m/CA%2BhUKG%2Buua_BV5cyfsioKVN2d61Lukg28ECsWTXKvh%3DBtN2DPA%40mail.gmail.com

Files

PathChange+/−
src/backend/utils/adt/txid.c modified +4 −4

Discussion