MCPcopy Create free account
hub / github.com/LadybugDB/ladybug / appendSemiMasker

Function appendSemiMasker

src/optimizer/acc_hash_join_optimizer.cpp:110–121  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

108}
109
110static std::shared_ptr<LogicalSemiMasker> appendSemiMasker(SemiMaskKeyType keyType,
111 SemiMaskTargetType targetType, std::shared_ptr<Expression> key,
112 std::vector<LogicalOperator*> candidates, std::shared_ptr<LogicalOperator> child) {
113 auto tableIDs = getTableIDs(candidates[0], targetType);
114 auto semiMasker =
115 std::make_shared<LogicalSemiMasker>(keyType, targetType, key, tableIDs, child);
116 for (auto candidate : candidates) {
117 semiMasker->addTarget(candidate);
118 }
119 semiMasker->computeFlatSchema();
120 return semiMasker;
121}
122
123void HashJoinSIPOptimizer::rewrite(const LogicalPlan* plan) {
124 visitOperator(plan->getLastOperator().get());

Callers 3

tryApplySemiMaskFunction · 0.85
visitIntersectMethod · 0.85

Calls 2

getTableIDsFunction · 0.85
computeFlatSchemaMethod · 0.45

Tested by

no test coverage detected