Disable analyzer for EXPLAIN SYNTAX queries

This commit is contained in:
Igor Nikonov 2024-03-21 15:27:39 +00:00
parent bbc8e173f8
commit f36e19917f
2 changed files with 13 additions and 9 deletions

View File

@ -219,6 +219,10 @@ InterpreterFactory::InterpreterPtr InterpreterFactory::get(ASTPtr & query, Conte
}
else if (query->as<ASTExplainQuery>())
{
const auto kind = query->as<ASTExplainQuery>()->getKind();
if (kind == ASTExplainQuery::ParsedAST || kind == ASTExplainQuery::AnalyzedSyntax)
context->setSetting("allow_experimental_analyzer", false);
interpreter_name = "InterpreterExplainQuery";
}
else if (query->as<ASTShowProcesslistQuery>())

View File

@ -3,29 +3,26 @@ DROP TABLE IF EXISTS numbers_1e6__fuzz_33;
CREATE TABLE numbers_1e6__fuzz_34
(
`n` LowCardinality(Nullable(UInt8))
n UInt64
)
ENGINE = MergeTree
ORDER BY n
SETTINGS allow_nullable_key = 1
AS SELECT *
FROM numbers(1000000)
SETTINGS allow_suspicious_low_cardinality_types = 1;
FROM numbers(10);
CREATE TABLE numbers_1e6__fuzz_33
(
`n` LowCardinality(Nullable(UInt8))
n UInt64
)
ENGINE = MergeTree
ORDER BY n
SETTINGS allow_nullable_key = 1
AS SELECT *
FROM numbers(1000000)
SETTINGS allow_suspicious_low_cardinality_types = 1;
FROM numbers(10);
SET allow_experimental_analyzer = 1;
SET allow_experimental_parallel_reading_from_replicas = 1, parallel_replicas_for_non_replicated_merge_tree = 1, cluster_for_parallel_replicas = 'test_cluster_one_shard_three_replicas_localhost', max_parallel_replicas = 3;
SET allow_experimental_parallel_reading_from_replicas = 1, parallel_replicas_for_non_replicated_merge_tree = 1, cluster_for_parallel_replicas = 'test_cluster_one_shard_three_replicas_localhost', max_parallel_replicas = 3, parallel_replicas_min_number_of_rows_per_replica=0;
EXPLAIN SYNTAX
WITH
cte1 AS
@ -41,3 +38,6 @@ WITH
)
SELECT count()
FROM cte2;
DROP TABLE numbers_1e6__fuzz_34;
DROP TABLE numbers_1e6__fuzz_33;