diff options
Diffstat (limited to 'src/backend/tcop/pquery.c')
-rw-r--r-- | src/backend/tcop/pquery.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/backend/tcop/pquery.c b/src/backend/tcop/pquery.c index 0e2494fa8a5..e8f557c1a1e 100644 --- a/src/backend/tcop/pquery.c +++ b/src/backend/tcop/pquery.c @@ -478,7 +478,8 @@ PortalStart(Portal portal, ParamListInfo params, Snapshot snapshot) PG_TRY(); { ActivePortal = portal; - CurrentResourceOwner = portal->resowner; + if (portal->resowner) + CurrentResourceOwner = portal->resowner; PortalContext = PortalGetHeapMemory(portal); oldContext = MemoryContextSwitchTo(PortalGetHeapMemory(portal)); @@ -761,7 +762,8 @@ PortalRun(Portal portal, long count, bool isTopLevel, PG_TRY(); { ActivePortal = portal; - CurrentResourceOwner = portal->resowner; + if (portal->resowner) + CurrentResourceOwner = portal->resowner; PortalContext = PortalGetHeapMemory(portal); MemoryContextSwitchTo(PortalContext); @@ -1410,7 +1412,8 @@ PortalRunFetch(Portal portal, PG_TRY(); { ActivePortal = portal; - CurrentResourceOwner = portal->resowner; + if (portal->resowner) + CurrentResourceOwner = portal->resowner; PortalContext = PortalGetHeapMemory(portal); oldContext = MemoryContextSwitchTo(PortalContext); |