From d1c040305536c55679706b476a33cba9d2cbf8d4 Mon Sep 17 00:00:00 2001 From: Sait Talha Nisanci Date: Sat, 21 Aug 2021 23:03:54 +0300 Subject: [PATCH] Disable Query Idenfifier calculation in tests When queryId is not 0 and verbose is true, the query identifier is emitted to the explain output. This is breaking Postgres outputs. We disable de query identifier calculation in the tests. Commit on PG that introduced the query identifier in the explain output: 4f0b0966c866ae9f0e15d7cc73ccf7ce4e1af84b --- src/backend/distributed/planner/multi_explain.c | 4 ++-- src/test/regress/bin/normalize.sed | 1 - src/test/regress/pg_regress_multi.pl | 6 ++++++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/backend/distributed/planner/multi_explain.c b/src/backend/distributed/planner/multi_explain.c index 0443523e0..a3bd6b0aa 100644 --- a/src/backend/distributed/planner/multi_explain.c +++ b/src/backend/distributed/planner/multi_explain.c @@ -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" @@ -1251,10 +1253,8 @@ CitusExplainOneQuery(Query *query, int cursorOptions, IntoClause *into, /* plan the query */ PlannedStmt *plan = pg_plan_query_compat(query, NULL, cursorOptions, params); - INSTR_TIME_SET_CURRENT(planduration); INSTR_TIME_SUBTRACT(planduration, planstart); - #if PG_VERSION_NUM >= PG_VERSION_13 /* calc differences of buffer counters. */ diff --git a/src/test/regress/bin/normalize.sed b/src/test/regress/bin/normalize.sed index d15107c5e..5ede38e35 100644 --- a/src/test/regress/bin/normalize.sed +++ b/src/test/regress/bin/normalize.sed @@ -235,7 +235,6 @@ s/ERROR: parallel workers for vacuum must be between/ERROR: parallel vacuum de s/ERROR: fake_fetch_row_version not implemented/ERROR: fake_tuple_update not implemented/g s/ERROR: COMMIT is not allowed in an SQL function/ERROR: COMMIT is not allowed in a SQL function/g s/ERROR: ROLLBACK is not allowed in an SQL function/ERROR: ROLLBACK is not allowed in a SQL function/g -/.*Query Identifier.*/d /.*Async-Capable.*/d /.*Async Capable.*/d /Parent Relationship/d diff --git a/src/test/regress/pg_regress_multi.pl b/src/test/regress/pg_regress_multi.pl index 09500007b..29195285f 100755 --- a/src/test/regress/pg_regress_multi.pl +++ b/src/test/regress/pg_regress_multi.pl @@ -438,6 +438,12 @@ push(@pgOptions, "wal_receiver_status_interval=1"); # src/backend/replication/logical/launcher.c. push(@pgOptions, "wal_retrieve_retry_interval=1000"); +# disable compute_query_id so that we don't get Query Identifiers +# in explain outputs +if ($majorversion >= "14") { + push(@pgOptions, "compute_query_id=off"); +} + # Citus options set for the tests push(@pgOptions, "citus.shard_count=4"); push(@pgOptions, "citus.max_adaptive_executor_pool_size=4");