Less dependencies [#CLICKHOUSE-2]

This commit is contained in:
Alexey Milovidov 2017-01-14 11:09:04 +03:00
parent c03b477d5e
commit bbcf726a55
3 changed files with 5 additions and 5 deletions

View File

@ -93,7 +93,7 @@ public:
static ExpressionAction copyColumn(const std::string & from_name, const std::string & to_name);
static ExpressionAction project(const NamesWithAliases & projected_columns_);
static ExpressionAction project(const Names & projected_columns_);
static ExpressionAction arrayJoin(const NameSet & array_joined_columns, bool array_join_is_left);
static ExpressionAction arrayJoin(const NameSet & array_joined_columns, bool array_join_is_left, const Context & context);
static ExpressionAction ordinaryJoin(std::shared_ptr<const Join> join_, const NamesAndTypesList & columns_added_by_join_);
/// Какие столбцы нужны, чтобы выполнить это действие.

View File

@ -115,7 +115,7 @@ ExpressionAction ExpressionAction::project(const Names & projected_columns_)
return a;
}
ExpressionAction ExpressionAction::arrayJoin(const NameSet & array_joined_columns, bool array_join_is_left)
ExpressionAction ExpressionAction::arrayJoin(const NameSet & array_joined_columns, bool array_join_is_left, const Context & context)
{
if (array_joined_columns.empty())
throw Exception("No arrays to join", ErrorCodes::LOGICAL_ERROR);
@ -125,7 +125,7 @@ ExpressionAction ExpressionAction::arrayJoin(const NameSet & array_joined_column
a.array_join_is_left = array_join_is_left;
if (array_join_is_left)
a.function = FunctionFactory::instance().get("emptyArrayToSingle");
a.function = FunctionFactory::instance().get("emptyArrayToSingle", context);
return a;
}

View File

@ -1795,7 +1795,7 @@ void ExpressionAnalyzer::getActionsImpl(ASTPtr ast, bool no_subqueries, bool onl
actions_stack.addAction(ExpressionAction::copyColumn(arg->getColumnName(), result_name));
NameSet joined_columns;
joined_columns.insert(result_name);
actions_stack.addAction(ExpressionAction::arrayJoin(joined_columns, false));
actions_stack.addAction(ExpressionAction::arrayJoin(joined_columns, false, context));
}
return;
@ -2137,7 +2137,7 @@ void ExpressionAnalyzer::addMultipleArrayJoinAction(ExpressionActionsPtr & actio
result_columns.insert(result_source.first);
}
actions->add(ExpressionAction::arrayJoin(result_columns, select_query->array_join_is_left()));
actions->add(ExpressionAction::arrayJoin(result_columns, select_query->array_join_is_left(), context));
}
bool ExpressionAnalyzer::appendArrayJoin(ExpressionActionsChain & chain, bool only_types)