diff options
Diffstat (limited to 'src/backend/commands/portalcmds.c')
-rw-r--r-- | src/backend/commands/portalcmds.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/backend/commands/portalcmds.c b/src/backend/commands/portalcmds.c index ed0b2afb377..7e5c805a1e3 100644 --- a/src/backend/commands/portalcmds.c +++ b/src/backend/commands/portalcmds.c @@ -39,14 +39,15 @@ * Execute SQL DECLARE CURSOR command. */ void -PerformCursorOpen(DeclareCursorStmt *cstmt, ParamListInfo params, - const char *queryString, bool isTopLevel) +PerformCursorOpen(ParseState *pstate, DeclareCursorStmt *cstmt, ParamListInfo params, + bool isTopLevel) { Query *query = castNode(Query, cstmt->query); List *rewritten; PlannedStmt *plan; Portal portal; MemoryContext oldContext; + char *queryString; /* * Disallow empty-string cursor name (conflicts with protocol-level @@ -92,7 +93,7 @@ PerformCursorOpen(DeclareCursorStmt *cstmt, ParamListInfo params, plan = pg_plan_query(query, cstmt->options, params); /* - * Create a portal and copy the plan and queryString into its memory. + * Create a portal and copy the plan and query string into its memory. */ portal = CreatePortal(cstmt->portalname, false, false); @@ -100,7 +101,7 @@ PerformCursorOpen(DeclareCursorStmt *cstmt, ParamListInfo params, plan = copyObject(plan); - queryString = pstrdup(queryString); + queryString = pstrdup(pstate->p_sourcetext); PortalDefineQuery(portal, NULL, |