diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2004-03-21 22:29:11 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2004-03-21 22:29:11 +0000 |
commit | f938c2b91bebb7f436a3615cf86347d7261f71e8 (patch) | |
tree | 012d53c3414a88b0d35a4210becbcadf3b81a09c /src/backend/commands/portalcmds.c | |
parent | bee3b2a0a01eab4b9e8d795fd2e3b5515bf22df3 (diff) |
Revise syntax-error reporting behavior to give pleasant results for
errors in internally-generated queries, such as those submitted by
plpgsql functions. Per recent discussions with Fabien Coelho.
Diffstat (limited to 'src/backend/commands/portalcmds.c')
-rw-r--r-- | src/backend/commands/portalcmds.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/backend/commands/portalcmds.c b/src/backend/commands/portalcmds.c index 34748fa77e1..855c9391c18 100644 --- a/src/backend/commands/portalcmds.c +++ b/src/backend/commands/portalcmds.c @@ -14,7 +14,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/commands/portalcmds.c,v 1.25 2003/11/29 19:51:47 pgsql Exp $ + * $PostgreSQL: pgsql/src/backend/commands/portalcmds.c,v 1.26 2004/03/21 22:29:10 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -270,6 +270,7 @@ void PersistHoldablePortal(Portal portal) { QueryDesc *queryDesc = PortalGetQueryDesc(portal); + Portal saveActivePortal; MemoryContext savePortalContext; MemoryContext saveQueryContext; MemoryContext oldcxt; @@ -311,6 +312,8 @@ PersistHoldablePortal(Portal portal) /* * Set global portal context pointers. */ + saveActivePortal = ActivePortal; + ActivePortal = portal; savePortalContext = PortalContext; PortalContext = PortalGetHeapMemory(portal); saveQueryContext = QueryContext; @@ -342,6 +345,7 @@ PersistHoldablePortal(Portal portal) /* Mark portal not active */ portal->portalActive = false; + ActivePortal = saveActivePortal; PortalContext = savePortalContext; QueryContext = saveQueryContext; |