@@ -256,100 +256,6 @@ void PlanGenerator::Visit(const PhysicalHashJoin *op) {
256256 output_plan_ = move (join_plan);
257257}
258258
259- void PlanGenerator::Visit (const PhysicalInnerNLJoin *op) {
260- std::unique_ptr<const planner::ProjectInfo> proj_info;
261- std::shared_ptr<const catalog::Schema> proj_schema;
262- GenerateProjectionForJoin (proj_info, proj_schema);
263-
264- auto join_predicate =
265- expression::ExpressionUtil::JoinAnnotatedExprs (op->join_predicates );
266- expression::ExpressionUtil::EvaluateExpression (children_expr_map_,
267- join_predicate.get ());
268- expression::ExpressionUtil::ConvertToTvExpr (join_predicate.get (),
269- children_expr_map_);
270-
271- vector<oid_t > left_keys;
272- vector<oid_t > right_keys;
273- for (auto &expr : op->left_keys ) {
274- PELOTON_ASSERT (children_expr_map_[0 ].find (expr.get ()) !=
275- children_expr_map_[0 ].end ());
276- left_keys.push_back (children_expr_map_[0 ][expr.get ()]);
277- }
278- for (auto &expr : op->right_keys ) {
279- PELOTON_ASSERT (children_expr_map_[1 ].find (expr.get ()) !=
280- children_expr_map_[1 ].end ());
281- right_keys.emplace_back (children_expr_map_[1 ][expr.get ()]);
282- }
283-
284- auto join_plan =
285- unique_ptr<planner::AbstractPlan>(new planner::NestedLoopJoinPlan (
286- JoinType::INNER, move (join_predicate), move (proj_info), proj_schema,
287- left_keys, right_keys));
288-
289- join_plan->AddChild (move (children_plans_[0 ]));
290- join_plan->AddChild (move (children_plans_[1 ]));
291- output_plan_ = move (join_plan);
292- }
293-
294- void PlanGenerator::Visit (const PhysicalLeftNLJoin *) {}
295-
296- void PlanGenerator::Visit (const PhysicalRightNLJoin *) {}
297-
298- void PlanGenerator::Visit (const PhysicalOuterNLJoin *) {}
299-
300- void PlanGenerator::Visit (const PhysicalInnerHashJoin *op) {
301- std::unique_ptr<const planner::ProjectInfo> proj_info;
302- std::shared_ptr<const catalog::Schema> proj_schema;
303- GenerateProjectionForJoin (proj_info, proj_schema);
304-
305- auto join_predicate =
306- expression::ExpressionUtil::JoinAnnotatedExprs (op->join_predicates );
307- expression::ExpressionUtil::EvaluateExpression (children_expr_map_,
308- join_predicate.get ());
309- expression::ExpressionUtil::ConvertToTvExpr (join_predicate.get (),
310- children_expr_map_);
311-
312- vector<unique_ptr<const expression::AbstractExpression>> left_keys;
313- vector<unique_ptr<const expression::AbstractExpression>> right_keys;
314- vector<ExprMap> l_child_map{move (children_expr_map_[0 ])};
315- vector<ExprMap> r_child_map{move (children_expr_map_[1 ])};
316- for (auto &expr : op->left_keys ) {
317- auto left_key = expr->Copy ();
318- expression::ExpressionUtil::EvaluateExpression (l_child_map, left_key);
319- left_keys.emplace_back (left_key);
320- }
321- for (auto &expr : op->right_keys ) {
322- auto right_key = expr->Copy ();
323- expression::ExpressionUtil::EvaluateExpression (r_child_map, right_key);
324- right_keys.emplace_back (right_key);
325- }
326- // Evaluate Expr for hash plan
327- vector<unique_ptr<const expression::AbstractExpression>> hash_keys;
328- for (auto &expr : op->right_keys ) {
329- auto hash_key = expr->Copy ();
330- expression::ExpressionUtil::EvaluateExpression (r_child_map, hash_key);
331- hash_keys.emplace_back (hash_key);
332- }
333-
334- unique_ptr<planner::HashPlan> hash_plan (new planner::HashPlan (hash_keys));
335- hash_plan->AddChild (move (children_plans_[1 ]));
336-
337- auto join_plan = unique_ptr<planner::AbstractPlan>(new planner::HashJoinPlan (
338- JoinType::INNER, move (join_predicate), move (proj_info), proj_schema,
339- left_keys, right_keys, settings::SettingsManager::GetBool (
340- settings::SettingId::hash_join_bloom_filter)));
341-
342- join_plan->AddChild (move (children_plans_[0 ]));
343- join_plan->AddChild (move (hash_plan));
344- output_plan_ = move (join_plan);
345- }
346-
347- void PlanGenerator::Visit (const PhysicalLeftHashJoin *) {}
348-
349- void PlanGenerator::Visit (const PhysicalRightHashJoin *) {}
350-
351- void PlanGenerator::Visit (const PhysicalOuterHashJoin *) {}
352-
353259void PlanGenerator::Visit (const PhysicalInsert *op) {
354260 unique_ptr<planner::AbstractPlan> insert_plan (new planner::InsertPlan (
355261 storage::StorageManager::GetInstance ()->GetTableWithOid (
0 commit comments