diff options
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/utils/portal.h | 4 | ||||
-rw-r--r-- | src/include/utils/snapmgr.h | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/src/include/utils/portal.h b/src/include/utils/portal.h index 364fae4b651..3c30ccbc6f8 100644 --- a/src/include/utils/portal.h +++ b/src/include/utils/portal.h @@ -193,6 +193,8 @@ typedef struct PortalData TimestampTz creation_time; /* time at which this portal was defined */ bool visible; /* include this portal in pg_cursors? */ + /* Stuff added at the end to avoid ABI break in stable branches: */ + /* * Outermost ActiveSnapshot for execution of the portal's queries. For * all but a few utility commands, we require such a snapshot to exist. @@ -200,6 +202,7 @@ typedef struct PortalData * and helps to reduce thrashing of the process's exposed xmin. */ Snapshot portalSnapshot; /* active snapshot, or NULL if none */ + int createLevel; /* creating subxact's nesting level */ } PortalData; /* @@ -217,6 +220,7 @@ extern void AtCleanup_Portals(void); extern void PortalErrorCleanup(void); extern void AtSubCommit_Portals(SubTransactionId mySubid, SubTransactionId parentSubid, + int parentLevel, ResourceOwner parentXactOwner); extern void AtSubAbort_Portals(SubTransactionId mySubid, SubTransactionId parentSubid, diff --git a/src/include/utils/snapmgr.h b/src/include/utils/snapmgr.h index 62351a06bdf..adb47dcd22c 100644 --- a/src/include/utils/snapmgr.h +++ b/src/include/utils/snapmgr.h @@ -111,6 +111,7 @@ extern void InvalidateCatalogSnapshot(void); extern void InvalidateCatalogSnapshotConditionally(void); extern void PushActiveSnapshot(Snapshot snapshot); +extern void PushActiveSnapshotWithLevel(Snapshot snapshot, int snap_level); extern void PushCopiedSnapshot(Snapshot snapshot); extern void UpdateActiveSnapshotCommandId(void); extern void PopActiveSnapshot(void); |