MCPcopy Create free account
hub / github.com/ByConity/ByConity / appendArrayJoin

Method appendArrayJoin

src/Interpreters/ExpressionAnalyzer.cpp:1198–1220  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1196}
1197
1198ArrayJoinActionPtr
1199SelectQueryExpressionAnalyzer::appendArrayJoin(ExpressionActionsChain & chain, ActionsDAGPtr & before_array_join, bool only_types)
1200{
1201 const auto * select_query = getSelectQuery();
1202
1203 bool is_array_join_left;
1204 ASTPtr array_join_expression_list = select_query->arrayJoinExpressionList(is_array_join_left);
1205 if (!array_join_expression_list)
1206 return nullptr;
1207
1208 ExpressionActionsChain::Step & step = chain.lastStep(columns_after_bitmap_index);
1209
1210 getRootActions(array_join_expression_list, only_types, step.actions());
1211
1212 auto array_join = addMultipleArrayJoinAction(step.actions(), is_array_join_left);
1213 before_array_join = chain.getLastActions();
1214
1215 chain.steps.push_back(std::make_unique<ExpressionActionsChain::ArrayJoinStep>(array_join, step.getResultColumns()));
1216
1217 chain.addStep();
1218
1219 return array_join;
1220}
1221
1222bool SelectQueryExpressionAnalyzer::appendJoinLeftKeys(ExpressionActionsChain & chain, bool only_types)
1223{

Callers 1

Calls 6

getLastActionsMethod · 0.80
getSelectQueryFunction · 0.50
push_backMethod · 0.45
getResultColumnsMethod · 0.45
addStepMethod · 0.45

Tested by

no test coverage detected