diff options
-rw-r--r-- | src/backend/utils/cache/typcache.c | 2 | ||||
-rw-r--r-- | src/backend/utils/time/snapmgr.c | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/src/backend/utils/cache/typcache.c b/src/backend/utils/cache/typcache.c index 72798ef9eff..e6f66df9a13 100644 --- a/src/backend/utils/cache/typcache.c +++ b/src/backend/utils/cache/typcache.c @@ -1089,7 +1089,7 @@ load_enum_cache_data(TypeCacheEntry *tcache) enum_rel = heap_open(EnumRelationId, AccessShareLock); enum_scan = systable_beginscan(enum_rel, EnumTypIdLabelIndexId, - true, GetTransactionSnapshot(), + true, GetLatestSnapshot(), 1, &skey); while (HeapTupleIsValid(enum_tuple = systable_getnext(enum_scan))) diff --git a/src/backend/utils/time/snapmgr.c b/src/backend/utils/time/snapmgr.c index 7187ca7c98d..4652915c4e3 100644 --- a/src/backend/utils/time/snapmgr.c +++ b/src/backend/utils/time/snapmgr.c @@ -196,9 +196,9 @@ GetTransactionSnapshot(void) Snapshot GetLatestSnapshot(void) { - /* Should not be first call in transaction */ + /* If first call in transaction, go ahead and set the xact snapshot */ if (!FirstSnapshotSet) - elog(ERROR, "no snapshot has been set"); + return GetTransactionSnapshot(); SecondarySnapshot = GetSnapshotData(&SecondarySnapshotData); |