Avoid special XID snapshotConflictHorizon values.
authorPeter Geoghegan <pg@bowt.ie>
Mon, 2 Jan 2023 18:16:51 +0000 (10:16 -0800)
committerPeter Geoghegan <pg@bowt.ie>
Mon, 2 Jan 2023 18:16:51 +0000 (10:16 -0800)
commit6daeeb1f9196e5d59aa7d5c9ef7ed67b3f3ac4b5
tree43a3c49c362942b80b4e68f664b452514fe87a5f
parent1fd3dd2048991a164c287dc29fdb78b1f7e6e14e
Avoid special XID snapshotConflictHorizon values.

Don't allow VACUUM to WAL-log the value FrozenTransactionId as the
snapshotConflictHorizon of freezing or visibility map related WAL
records.

The only special XID value that's an allowable snapshotConflictHorizon
is InvalidTransactionId, which is interpreted as "record definitely
doesn't require a recovery conflict".

Author: Peter Geoghegan <pg@bowt.ie>
Discussion: https://postgr.es/m/CAH2-WznuNGSzF8v6OsgjaC5aYsb3cZ6HW6MLm30X0d65cmSH6A@mail.gmail.com
src/backend/access/heap/vacuumlazy.c
src/backend/storage/ipc/standby.c