diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/commands/portalcmds.c | 6 | ||||
-rw-r--r-- | src/backend/tcop/pquery.c | 9 |
2 files changed, 10 insertions, 5 deletions
diff --git a/src/backend/commands/portalcmds.c b/src/backend/commands/portalcmds.c index 9c4d02627a1..5c3f42cb716 100644 --- a/src/backend/commands/portalcmds.c +++ b/src/backend/commands/portalcmds.c @@ -274,7 +274,8 @@ PortalCleanup(Portal portal) saveResourceOwner = CurrentResourceOwner; PG_TRY(); { - CurrentResourceOwner = portal->resowner; + if (portal->resowner) + CurrentResourceOwner = portal->resowner; ExecutorFinish(queryDesc); ExecutorEnd(queryDesc); FreeQueryDesc(queryDesc); @@ -349,7 +350,8 @@ PersistHoldablePortal(Portal portal) PG_TRY(); { ActivePortal = portal; - CurrentResourceOwner = portal->resowner; + if (portal->resowner) + CurrentResourceOwner = portal->resowner; PortalContext = PortalGetHeapMemory(portal); MemoryContextSwitchTo(PortalContext); diff --git a/src/backend/tcop/pquery.c b/src/backend/tcop/pquery.c index f8989f7a9e9..f400e935d13 100644 --- a/src/backend/tcop/pquery.c +++ b/src/backend/tcop/pquery.c @@ -478,7 +478,8 @@ PortalStart(Portal portal, ParamListInfo params, PG_TRY(); { ActivePortal = portal; - CurrentResourceOwner = portal->resowner; + if (portal->resowner) + CurrentResourceOwner = portal->resowner; PortalContext = PortalGetHeapMemory(portal); oldContext = MemoryContextSwitchTo(PortalGetHeapMemory(portal)); @@ -762,7 +763,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); @@ -1411,7 +1413,8 @@ PortalRunFetch(Portal portal, PG_TRY(); { ActivePortal = portal; - CurrentResourceOwner = portal->resowner; + if (portal->resowner) + CurrentResourceOwner = portal->resowner; PortalContext = PortalGetHeapMemory(portal); oldContext = MemoryContextSwitchTo(PortalContext); |