diff options
Diffstat (limited to 'src/backend/commands/createas.c')
-rw-r--r-- | src/backend/commands/createas.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/backend/commands/createas.c b/src/backend/commands/createas.c index cc02cf824ed..3a5676fb39e 100644 --- a/src/backend/commands/createas.c +++ b/src/backend/commands/createas.c @@ -10,7 +10,7 @@ * * Formerly, CTAS was implemented as a variant of SELECT, which led * to assorted legacy behaviors that we still try to preserve, notably that - * we must return a tuples-processed count in the completionTag. (We no + * we must return a tuples-processed count in the QueryCompletion. (We no * longer do that for CTAS ... WITH NO DATA, however.) * * Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group @@ -225,7 +225,7 @@ create_ctas_nodata(List *tlist, IntoClause *into) ObjectAddress ExecCreateTableAs(ParseState *pstate, CreateTableAsStmt *stmt, ParamListInfo params, QueryEnvironment *queryEnv, - char *completionTag) + QueryCompletion *qc) { Query *query = castNode(Query, stmt->query); IntoClause *into = stmt->into; @@ -270,7 +270,7 @@ ExecCreateTableAs(ParseState *pstate, CreateTableAsStmt *stmt, ExecuteStmt *estmt = castNode(ExecuteStmt, query->utilityStmt); Assert(!is_matview); /* excluded by syntax */ - ExecuteQuery(pstate, estmt, into, params, dest, completionTag); + ExecuteQuery(pstate, estmt, into, params, dest, qc); /* get object address that intorel_startup saved for us */ address = ((DR_intorel *) dest)->reladdr; @@ -352,11 +352,9 @@ ExecCreateTableAs(ParseState *pstate, CreateTableAsStmt *stmt, /* run the plan to completion */ ExecutorRun(queryDesc, ForwardScanDirection, 0L, true); - /* save the rowcount if we're given a completionTag to fill */ - if (completionTag) - snprintf(completionTag, COMPLETION_TAG_BUFSIZE, - "SELECT " UINT64_FORMAT, - queryDesc->estate->es_processed); + /* save the rowcount if we're given a qc to fill */ + if (qc) + SetQueryCompletion(qc, CMDTAG_SELECT, queryDesc->estate->es_processed); /* get object address that intorel_startup saved for us */ address = ((DR_intorel *) dest)->reladdr; |