From df4c3cbd8f4f619785c735669150e3a1df9cf7ca Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Wed, 9 Mar 2022 10:56:44 +0100 Subject: Add parse_analyze_withcb() This extracts code from pg_analyze_and_rewrite_withcb() into a separate function that mirrors the existing parse_analyze_fixedparams() and parse_analyze_varparams(). Reviewed-by: Nathan Bossart Discussion: https://www.postgresql.org/message-id/flat/c67ce276-52b4-0239-dc0e-39875bf81840@enterprisedb.com --- src/backend/tcop/postgres.c | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) (limited to 'src/backend/tcop/postgres.c') diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c index d7e39aed64b..ba2fcfeb4af 100644 --- a/src/backend/tcop/postgres.c +++ b/src/backend/tcop/postgres.c @@ -736,12 +736,8 @@ pg_analyze_and_rewrite_withcb(RawStmt *parsetree, void *parserSetupArg, QueryEnvironment *queryEnv) { - ParseState *pstate; Query *query; List *querytree_list; - JumbleState *jstate = NULL; - - Assert(query_string != NULL); /* required as of 8.4 */ TRACE_POSTGRESQL_QUERY_REWRITE_START(query_string); @@ -751,22 +747,8 @@ pg_analyze_and_rewrite_withcb(RawStmt *parsetree, if (log_parser_stats) ResetUsage(); - pstate = make_parsestate(NULL); - pstate->p_sourcetext = query_string; - pstate->p_queryEnv = queryEnv; - (*parserSetup) (pstate, parserSetupArg); - - query = transformTopLevelStmt(pstate, parsetree); - - if (IsQueryIdEnabled()) - jstate = JumbleQuery(query, query_string); - - if (post_parse_analyze_hook) - (*post_parse_analyze_hook) (pstate, query, jstate); - - free_parsestate(pstate); - - pgstat_report_query_id(query->queryId, false); + query = parse_analyze_withcb(parsetree, query_string, parserSetup, parserSetupArg, + queryEnv); if (log_parser_stats) ShowUsage("PARSE ANALYSIS STATISTICS"); -- cgit v1.2.3