@@ -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