From fda6bde428d645b9a1d68c9e510508ac532ec641 Mon Sep 17 00:00:00 2001 From: hchen9 Date: Mon, 28 Sep 2020 17:05:22 -0700 Subject: [PATCH] improve change --- src/Interpreters/InterpreterSelectQuery.cpp | 2 ++ src/Interpreters/TreeRewriter.cpp | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Interpreters/InterpreterSelectQuery.cpp b/src/Interpreters/InterpreterSelectQuery.cpp index 887f4795bcb..8c0643f78d7 100644 --- a/src/Interpreters/InterpreterSelectQuery.cpp +++ b/src/Interpreters/InterpreterSelectQuery.cpp @@ -1112,12 +1112,14 @@ void InterpreterSelectQuery::executeFetchColumns( /// Optimization for trivial query like SELECT count() FROM table. bool optimize_trivial_count = syntax_analyzer_result->optimize_trivial_count + && settings.select_sequential_consistency && storage && !filter_info && processing_stage == QueryProcessingStage::FetchColumns && query_analyzer->hasAggregation() && (query_analyzer->aggregates().size() == 1) && typeid_cast(query_analyzer->aggregates()[0].function.get()); + if (optimize_trivial_count) { diff --git a/src/Interpreters/TreeRewriter.cpp b/src/Interpreters/TreeRewriter.cpp index b119788b083..0b2f8ac3eb7 100644 --- a/src/Interpreters/TreeRewriter.cpp +++ b/src/Interpreters/TreeRewriter.cpp @@ -619,7 +619,7 @@ TreeRewriterResultPtr TreeRewriter::analyzeSelect( result.ast_join = select_query->join(); if (result.optimize_trivial_count) - result.optimize_trivial_count = settings.optimize_trivial_count_query && settings.select_sequential_consistency && + result.optimize_trivial_count = settings.optimize_trivial_count_query && !select_query->where() && !select_query->prewhere() && !select_query->groupBy() && !select_query->having() && !select_query->sampleSize() && !select_query->sampleOffset() && !select_query->final() && (tables_with_columns.size() < 2 || isLeft(result.analyzed_join->kind()));