Assert in init_toast_snapshot() that some snapshot registered or active.
Commit <FIXME> fixed the bug that RemoveTempRelationsCallback() did not
push/register a snapshot. That only went unnoticed because often a valid
catalog snapshot exists and is returned by GetOldestSnapshot(). But due to
invalidation processing that is not reliable.
Thus assert in init_toast_snapshot() that there is a registered or active
snapshot, using the new HaveRegisteredOrActiveSnapshot().
Author: Andres Freund
Discussion: https://postgr.es/m/20220219180002.6tubjq7iw7m52bgd@alap3.anarazel.de
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/2776922201f751e3202a713b61d97fe4e44a8440
Modified Files
--------------
src/backend/access/common/toast_internals.c | 9 +++++++++
src/backend/utils/time/snapmgr.c | 26 ++++++++++++++++++++++++++
src/include/utils/snapmgr.h | 1 +
3 files changed, 36 insertions(+)