@Override public void preOrder(EvalNodeVisitor visitor) { for (EvalNode eval : argEvals) { eval.postOrder(visitor); } visitor.visit(this); }
@Override public void postOrder(EvalNodeVisitor visitor) { child.postOrder(visitor); visitor.visit(this); }
@Override public void postOrder(EvalNodeVisitor visitor) { child.postOrder(visitor); visitor.visit(this); }
@Override public void preOrder(EvalNodeVisitor visitor) { for (EvalNode eval : argEvals) { eval.postOrder(visitor); } visitor.visit(this); }
@Override public void postOrder(EvalNodeVisitor visitor) { for (EvalNode eval : argEvals) { eval.postOrder(visitor); } visitor.visit(this); } }
public static Set<WindowFunctionEval> findWindowFunction(EvalNode expr) { AllWindowFunctionFinder finder = new AllWindowFunctionFinder(); expr.postOrder(finder); return finder.getWindowFunctionSet(); }
/** * It finds unique columns from a EvalNode. */ public static LinkedHashSet<Column> findUniqueColumns(EvalNode node) { UniqueColumnFinder finder = new UniqueColumnFinder(); node.postOrder(finder); return finder.getColumnRefs(); }
/** * Return the counter to count the number of expression types individually. * * @param expr * @return */ public static Map<EvalType, Integer> getExprCounters(EvalNode expr) { VariableCounter counter = new VariableCounter(); expr.postOrder(counter); return counter.getCounter(); }
public static Set<WindowFunctionEval> findWindowFunction(EvalNode expr) { AllWindowFunctionFinder finder = new AllWindowFunctionFinder(); expr.postOrder(finder); return finder.getWindowFunctionSet(); }
@Override public void postOrder(EvalNodeVisitor visitor) { for (IfThenEval when : whens) { when.postOrder(visitor); } if (elseResult != null) { // without else clause elseResult.postOrder(visitor); } visitor.visit(this); }
public static List<Column> findAllColumnRefs(EvalNode node) { AllColumnRefFinder finder = new AllColumnRefFinder(); node.postOrder(finder); return finder.getColumnRefs(); }
public static Set<AggregationFunctionCallEval> findDistinctAggFunction(EvalNode expr) { AllAggFunctionFinder finder = new AllAggFunctionFinder(); expr.postOrder(finder); return finder.getAggregationFunction(); }
public static List<Column> findAllColumnRefs(EvalNode node) { AllColumnRefFinder finder = new AllColumnRefFinder(); node.postOrder(finder); return finder.getColumnRefs(); }
public static Set<AggregationFunctionCallEval> findDistinctAggFunction(EvalNode expr) { AllAggFunctionFinder finder = new AllAggFunctionFinder(); expr.postOrder(finder); return finder.getAggregationFunction(); }
@Override public void postOrder(EvalNodeVisitor visitor) { for (IfThenEval when : whens) { when.postOrder(visitor); } if (elseResult != null) { // without else clause elseResult.postOrder(visitor); } visitor.visit(this); }