@@ -256,100 +256,6 @@ void PlanGenerator::Visit(const PhysicalHashJoin *op) {
256
256
output_plan_ = move (join_plan);
257
257
}
258
258
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
-
353
259
void PlanGenerator::Visit (const PhysicalInsert *op) {
354
260
unique_ptr<planner::AbstractPlan> insert_plan (new planner::InsertPlan (
355
261
storage::StorageManager::GetInstance ()->GetTableWithOid (
0 commit comments