in tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/BasicPhysicalExecutorVisitor.java [25:87]
public RESULT visit(PhysicalExec exec, Stack<PhysicalExec> stack, CONTEXT context)
throws PhysicalPlanningException {
// Please keep all physical executors except for abstract class.
// They should be ordered in an lexicography order of their names for easy code maintenance.
if (exec instanceof BNLJoinExec) {
return visitBNLJoin(context, (BNLJoinExec) exec, stack);
} else if (exec instanceof BSTIndexScanExec) {
return visitBSTIndexScan(context, (BSTIndexScanExec) exec, stack);
} else if (exec instanceof EvalExprExec) {
return visitEvalExpr(context, (EvalExprExec) exec, stack);
} else if (exec instanceof ExternalSortExec) {
return visitExternalSort(context, (ExternalSortExec) exec, stack);
} else if (exec instanceof HashAggregateExec) {
return visitHashAggregate(context, (HashAggregateExec) exec, stack);
} else if (exec instanceof HashBasedColPartitionStoreExec) {
return visitHashBasedColPartitionStore(context, (HashBasedColPartitionStoreExec) exec, stack);
} else if (exec instanceof HashFullOuterJoinExec) {
return visitHashFullOuterJoin(context, (HashFullOuterJoinExec) exec, stack);
} else if (exec instanceof HashJoinExec) {
return visitHashJoin(context, (HashJoinExec) exec, stack);
} else if (exec instanceof HashLeftAntiJoinExec) {
return visitHashLeftAntiJoin(context, (HashLeftAntiJoinExec) exec, stack);
} else if (exec instanceof HashLeftOuterJoinExec) {
return visitHashLeftOuterJoin(context, (HashLeftOuterJoinExec) exec, stack);
} else if (exec instanceof HashLeftSemiJoinExec) {
return visitLeftHashSemiJoin(context, (HashLeftSemiJoinExec) exec, stack);
} else if (exec instanceof HashShuffleFileWriteExec) {
return visitHashShuffleFileWrite(context, (HashShuffleFileWriteExec) exec, stack);
} else if (exec instanceof HavingExec) {
return visitHaving(context, (HavingExec) exec, stack);
} else if (exec instanceof LimitExec) {
return visitLimit(context, (LimitExec) exec, stack);
} else if (exec instanceof MemSortExec) {
return visitMemSort(context, (MemSortExec) exec, stack);
} else if (exec instanceof MergeFullOuterJoinExec) {
return visitMergeFullOuterJoin(context, (MergeFullOuterJoinExec) exec, stack);
} else if (exec instanceof MergeJoinExec) {
return visitMergeJoin(context, (MergeJoinExec) exec, stack);
} else if (exec instanceof NLJoinExec) {
return visitNLJoin(context, (NLJoinExec) exec, stack);
} else if (exec instanceof NLLeftOuterJoinExec) {
return visitNLLeftOuterJoin(context, (NLLeftOuterJoinExec) exec, stack);
} else if (exec instanceof ProjectionExec) {
return visitProjection(context, (ProjectionExec) exec, stack);
} else if (exec instanceof RangeShuffleFileWriteExec) {
return visitRangeShuffleFileWrite(context, (RangeShuffleFileWriteExec) exec, stack);
} else if (exec instanceof RightOuterMergeJoinExec) {
return visitRightOuterMergeJoin(context, (RightOuterMergeJoinExec) exec, stack);
} else if (exec instanceof SelectionExec) {
return visitSelection(context, (SelectionExec) exec, stack);
} else if (exec instanceof SeqScanExec) {
return visitSeqScan(context, (SeqScanExec) exec, stack);
} else if (exec instanceof SortAggregateExec) {
return visitSortAggregate(context, (SortAggregateExec) exec, stack);
} else if (exec instanceof SortBasedColPartitionStoreExec) {
return visitSortBasedColPartitionStore(context, (SortBasedColPartitionStoreExec) exec, stack);
} else if (exec instanceof StoreTableExec) {
return visitStoreTable(context, (StoreTableExec) exec, stack);
}
throw new PhysicalPlanningException("Unsupported Type: " + exec.getClass().getSimpleName());
}