mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-25 03:00:49 +00:00
Update InterpreterSelectQuery.
This commit is contained in:
parent
1af0792f67
commit
23afd74e1c
@ -117,11 +117,14 @@ ExpressionAnalyzer::ExpressionAnalyzer(
|
||||
const TreeRewriterResultPtr & syntax_analyzer_result_,
|
||||
const Context & context_,
|
||||
size_t subquery_depth_,
|
||||
bool do_global)
|
||||
bool do_global,
|
||||
SubqueriesForSets subqueries_for_sets_)
|
||||
: query(query_), context(context_), settings(context.getSettings())
|
||||
, subquery_depth(subquery_depth_)
|
||||
, syntax(syntax_analyzer_result_)
|
||||
{
|
||||
subqueries_for_sets = std::move(subqueries_for_sets_);
|
||||
|
||||
/// external_tables, subqueries_for_sets for global subqueries.
|
||||
/// Replaces global subqueries with the generated names of temporary tables that will be sent to remote servers.
|
||||
initGlobalSubqueriesAndExternalTables(do_global);
|
||||
|
@ -93,7 +93,7 @@ public:
|
||||
const ASTPtr & query_,
|
||||
const TreeRewriterResultPtr & syntax_analyzer_result_,
|
||||
const Context & context_)
|
||||
: ExpressionAnalyzer(query_, syntax_analyzer_result_, context_, 0, false)
|
||||
: ExpressionAnalyzer(query_, syntax_analyzer_result_, context_, 0, false, {})
|
||||
{}
|
||||
|
||||
void appendExpression(ExpressionActionsChain & chain, const ASTPtr & expr, bool only_types);
|
||||
@ -124,7 +124,8 @@ protected:
|
||||
const TreeRewriterResultPtr & syntax_analyzer_result_,
|
||||
const Context & context_,
|
||||
size_t subquery_depth_,
|
||||
bool do_global_);
|
||||
bool do_global_,
|
||||
SubqueriesForSets subqueries_for_sets_);
|
||||
|
||||
ASTPtr query;
|
||||
const Context & context;
|
||||
@ -244,8 +245,9 @@ public:
|
||||
const StorageMetadataPtr & metadata_snapshot_,
|
||||
const NameSet & required_result_columns_ = {},
|
||||
bool do_global_ = false,
|
||||
const SelectQueryOptions & options_ = {})
|
||||
: ExpressionAnalyzer(query_, syntax_analyzer_result_, context_, options_.subquery_depth, do_global_)
|
||||
const SelectQueryOptions & options_ = {},
|
||||
SubqueriesForSets subqueries_for_sets_ = {})
|
||||
: ExpressionAnalyzer(query_, syntax_analyzer_result_, context_, options_.subquery_depth, do_global_, std::move(subqueries_for_sets_))
|
||||
, metadata_snapshot(metadata_snapshot_)
|
||||
, required_result_columns(required_result_columns_)
|
||||
, query_options(options_)
|
||||
|
@ -346,9 +346,7 @@ InterpreterSelectQuery::InterpreterSelectQuery(
|
||||
query_analyzer = std::make_unique<SelectQueryExpressionAnalyzer>(
|
||||
query_ptr, syntax_analyzer_result, *context, metadata_snapshot,
|
||||
NameSet(required_result_column_names.begin(), required_result_column_names.end()),
|
||||
!options.only_analyze, options);
|
||||
|
||||
query_analyzer->getSubqueriesForSets() = std::move(subquery_for_sets);
|
||||
!options.only_analyze, options, std::move(subquery_for_sets));
|
||||
|
||||
if (!options.only_analyze)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user