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 b16ed6a2089..afbe121f7af 100644 --- a/src/backend/utils/cache/typcache.c +++ b/src/backend/utils/cache/typcache.c @@ -1021,7 +1021,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 ef66466baf1..5917b014fdc 100644 --- a/src/backend/utils/time/snapmgr.c +++ b/src/backend/utils/time/snapmgr.c @@ -167,9 +167,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); |