pgsql: Assert in init_toast_snapshot() that some snapshot registered or

Started by Andres Freundover 4 years ago1 messagescomitters
Jump to latest
#1Andres Freund
andres@anarazel.de

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: /messages/by-id/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(+)