MCPcopy Create free account
hub / github.com/ClickHouse/ClickHouse / typeChangingSides

Method typeChangingSides

src/Processors/QueryPlan/JoinStepLogical.cpp:202–218  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

200}
201
202std::unordered_set<JoinTableSide> JoinStepLogical::typeChangingSides() const
203{
204 std::unordered_set<JoinTableSide> result;
205 for (const auto * node_after_join : actions_after_join)
206 {
207 if (node_after_join->type == ActionsDAG::ActionType::INPUT ||
208 node_after_join->type == ActionsDAG::ActionType::COLUMN)
209 continue;
210 if (JoinActionRef(node_after_join, expression_actions).fromLeft())
211 result.insert(JoinTableSide::Left);
212 if (JoinActionRef(node_after_join, expression_actions).fromRight())
213 result.insert(JoinTableSide::Right);
214 if (result.size() == 2)
215 break;
216 }
217 return result;
218}
219
220JoinStepLogical::~JoinStepLogical() = default;
221

Callers 6

tryConvertJoinToInFunction · 0.80
tryPushDownOverJoinStepFunction · 0.80
addChildQueryGraphFunction · 0.80
buildQueryGraphFunction · 0.80

Calls 5

JoinActionRefClass · 0.85
fromLeftMethod · 0.80
fromRightMethod · 0.80
insertMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected