@Override protected RelNode visitChild(RelNode parent, int i, RelNode input) { return super.visitChild(parent, i, stripHep(input)); }
@Override protected RelNode visitChild(RelNode parent, int i, RelNode input) { return super.visitChild(parent, i, stripHep(input)); }
@Override protected RelNode visitChild(RelNode parent, int i, RelNode input) { return super.visitChild(parent, i, stripHep(input)); }
@Override protected RelNode visitChild(RelNode parent, int i, RelNode input) { return super.visitChild(parent, i, stripHep(input)); }
@Override protected RelNode visitChild(RelNode parent, int i, RelNode child) { if(!predicate.test(parent)){ return child.accept(this); } return super.visitChild(parent, i, child); } }
public RelNode visit(LogicalAggregate aggregate) { return visitChild(aggregate, 0, aggregate.getInput()); }
public RelNode visit(LogicalAggregate aggregate) { return visitChild(aggregate, 0, aggregate.getInput()); }
public RelNode visit(LogicalFilter filter) { return visitChild(filter, 0, filter.getInput()); }
@Override protected RelNode visitChild(RelNode parent, int i, RelNode input) { return super.visitChild(parent, i, stripHep(input)); }
public RelNode visit(LogicalProject project) { return visitChild(project, 0, project.getInput()); }
public RelNode visit(LogicalProject project) { return visitChild(project, 0, project.getInput()); }
public RelNode visit(LogicalMatch match) { return visitChild(match, 0, match.getInput()); }
public RelNode visit(LogicalFilter filter) { return visitChild(filter, 0, filter.getInput()); }
public RelNode visit(LogicalMatch match) { return visitChild(match, 0, match.getInput()); }
protected RelNode visitChildren(RelNode rel) { for (Ord<RelNode> input : Ord.zip(rel.getInputs())) { rel = visitChild(rel, input.i, input.e); } return rel; }
protected RelNode visitChildren(RelNode rel) { for (Ord<RelNode> input : Ord.zip(rel.getInputs())) { rel = visitChild(rel, input.i, input.e); } return rel; }
@Override protected RelNode visitChild(RelNode parent, int i, RelNode child) { if (child instanceof HepRelVertex) { child = ((HepRelVertex) child).getCurrentRel(); } else if (child instanceof RelSubset) { RelSubset subset = (RelSubset) child; child = Util.first(subset.getBest(), subset.getOriginal()); } return super.visitChild(parent, i, child).accept(rexVisitor); } }
@Override protected RelNode visitChild(RelNode parent, int i, RelNode child) { if (child instanceof HepRelVertex) { child = ((HepRelVertex) child).getCurrentRel(); } else if (child instanceof RelSubset) { RelSubset subset = (RelSubset) child; child = Util.first(subset.getBest(), subset.getOriginal()); } return super.visitChild(parent, i, child).accept(rexVisitor); } }