public RESULT visit()

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());
  }