diff options
Diffstat (limited to 'src/backend/commands')
-rw-r--r-- | src/backend/commands/portalcmds.c | 9 | ||||
-rw-r--r-- | src/backend/commands/prepare.c | 10 |
2 files changed, 12 insertions, 7 deletions
diff --git a/src/backend/commands/portalcmds.c b/src/backend/commands/portalcmds.c index 8246b25774e..b2dab9d98de 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.44 2005/11/03 17:11:35 alvherre Exp $ + * $PostgreSQL: pgsql/src/backend/commands/portalcmds.c,v 1.45 2006/01/18 06:49:26 neilc Exp $ * *------------------------------------------------------------------------- */ @@ -28,6 +28,7 @@ #include "optimizer/planner.h" #include "rewrite/rewriteHandler.h" #include "tcop/pquery.h" +#include "tcop/tcopprot.h" #include "utils/memutils.h" @@ -105,8 +106,12 @@ PerformCursorOpen(DeclareCursorStmt *stmt, ParamListInfo params) query = copyObject(query); plan = copyObject(plan); + /* + * XXX: debug_query_string is wrong here: the user might have + * submitted more than one semicolon delimited queries. + */ PortalDefineQuery(portal, - NULL, /* unfortunately don't have sourceText */ + pstrdup(debug_query_string), "SELECT", /* cursor's query is always a SELECT */ list_make1(query), list_make1(plan), diff --git a/src/backend/commands/prepare.c b/src/backend/commands/prepare.c index f523984e5a8..f0afdbba367 100644 --- a/src/backend/commands/prepare.c +++ b/src/backend/commands/prepare.c @@ -10,7 +10,7 @@ * Copyright (c) 2002-2005, PostgreSQL Global Development Group * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/commands/prepare.c,v 1.46 2006/01/16 18:15:30 neilc Exp $ + * $PostgreSQL: pgsql/src/backend/commands/prepare.c,v 1.47 2006/01/18 06:49:26 neilc Exp $ * *------------------------------------------------------------------------- */ @@ -162,11 +162,11 @@ ExecuteQuery(ExecuteStmt *stmt, ParamListInfo params, paramLI = EvaluateParams(estate, stmt->params, entry->argtype_list); } - /* - * Create a new portal to run the query in - */ + /* Create a new portal to run the query in */ portal = CreateNewPortal(); - + /* Don't display the portal in pg_cursors, it is for internal use only */ + portal->visible = false; + /* * For CREATE TABLE / AS EXECUTE, make a copy of the stored query so that * we can modify its destination (yech, but this has always been ugly). |