mirror of https://github.com/citusdata/citus.git
Reset queryId to 0 for Explain queries
When queryId is not 0 and verbose is true, the query identifier is emitted to the explain output. This is breaking Postgres outputs. There might be a reason we process postgres tables for explain but ideally if the explain doesn't contain any citus table, we should just let Postgres handle it. Commit on PG that introduced the query identifier in the explain output: 4f0b0966c866ae9f0e15d7cc73ccf7ce4e1af84bpg14_support_3
parent
05425e152a
commit
a72c9d8efb
|
@ -11,6 +11,8 @@
|
|||
#include "libpq-fe.h"
|
||||
#include "miscadmin.h"
|
||||
|
||||
#include "distributed/pg_version_constants.h"
|
||||
|
||||
#include "access/htup_details.h"
|
||||
#include "access/xact.h"
|
||||
#include "catalog/namespace.h"
|
||||
|
@ -63,6 +65,9 @@
|
|||
#include "utils/json.h"
|
||||
#include "utils/lsyscache.h"
|
||||
#include "utils/snapmgr.h"
|
||||
#if PG_VERSION_NUM >= PG_VERSION_14
|
||||
#include "utils/queryjumble.h"
|
||||
#endif
|
||||
|
||||
|
||||
/* Config variables that enable printing distributed query plans */
|
||||
|
@ -1251,10 +1256,17 @@ CitusExplainOneQuery(Query *query, int cursorOptions, IntoClause *into,
|
|||
|
||||
/* plan the query */
|
||||
PlannedStmt *plan = pg_plan_query_compat(query, NULL, cursorOptions, params);
|
||||
|
||||
#if PG_VERSION_NUM >= PG_VERSION_14
|
||||
if (compute_query_id != COMPUTE_QUERY_ID_ON) {
|
||||
/*
|
||||
* We don't want to emit the query identifier in explain output.
|
||||
* By default queryId is already 0.
|
||||
*/
|
||||
plan->queryId = 0;
|
||||
}
|
||||
#endif
|
||||
INSTR_TIME_SET_CURRENT(planduration);
|
||||
INSTR_TIME_SUBTRACT(planduration, planstart);
|
||||
|
||||
#if PG_VERSION_NUM >= PG_VERSION_13
|
||||
|
||||
/* calc differences of buffer counters. */
|
||||
|
|
Loading…
Reference in New Issue