diff options
author | Peter Eisentraut <peter@eisentraut.org> | 2020-01-04 11:56:58 +0100 |
---|---|---|
committer | Peter Eisentraut <peter@eisentraut.org> | 2020-01-04 13:12:41 +0100 |
commit | 3fd40b628c7db4c4bcf03b548f9a55f85e327e25 (patch) | |
tree | 5db105f66b7f6b3fd753e8d43abc0455d7e25dbe /src/backend/commands/portalcmds.c | |
parent | d2e5e20e57111cca9e14f6e5a99a186d4c66a5b7 (diff) | |
download | postgresql-3fd40b628c7db4c4bcf03b548f9a55f85e327e25.tar.gz postgresql-3fd40b628c7db4c4bcf03b548f9a55f85e327e25.zip |
Make better use of ParseState in ProcessUtility
Pass ParseState into the functions called from
standard_ProcessUtility() instead passing the query string and query
environment separately. No functionality change, but it makes the
notation consistent. We had already started moving things into
that direction piece by piece, and this completes it.
Reviewed-by: Pavel Stehule <pavel.stehule@gmail.com>
Discussion: https://www.postgresql.org/message-id/flat/6e7aa4a1-be6a-1a75-b1f9-83a678e5184a@2ndquadrant.com
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, |