Don't allow GetTransactionSnapshot() in logical decoding
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Mon, 23 Dec 2024 10:42:55 +0000 (12:42 +0200)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Mon, 23 Dec 2024 10:42:55 +0000 (12:42 +0200)
commit1585ff7387dbcc5657522b2ed87ffd58fd555ee9
tree4be2198a35715c6fccce4fa222607a3741837e20
parent952365cded635e54c4177399c0280cb7a5e34c11
Don't allow GetTransactionSnapshot() in logical decoding

A historic snapshot should only be used for catalog access, not
general queries. We never call GetTransactionSnapshot() during logical
decoding, which is good because it wouldn't be very sensible, so the
code to deal with that was unreachable and untested. Turn it into an
error, to avoid doing that in the future either.

Discussion: https://www.postgresql.org/message-id/a868fe78-ddb4-4b0a-9b96-873d91d93cfd@iki.fi
src/backend/utils/time/snapmgr.c