aboutsummaryrefslogtreecommitdiff
path: root/src/backend/commands/portalcmds.c
diff options
context:
space:
mode:
authorPeter Eisentraut <peter@eisentraut.org>2020-01-04 11:56:58 +0100
committerPeter Eisentraut <peter@eisentraut.org>2020-01-04 13:12:41 +0100
commit3fd40b628c7db4c4bcf03b548f9a55f85e327e25 (patch)
tree5db105f66b7f6b3fd753e8d43abc0455d7e25dbe /src/backend/commands/portalcmds.c
parentd2e5e20e57111cca9e14f6e5a99a186d4c66a5b7 (diff)
downloadpostgresql-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.c9
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,