本文整理了Java中org.apache.calcite.rel.RelNode.accept
方法的一些代码示例,展示了RelNode.accept
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RelNode.accept
方法的具体详情如下:
包路径:org.apache.calcite.rel.RelNode
类名称:RelNode
方法名:accept
[英]Accepts a visit from a shuttle.
[中]接受穿梭机的访问。
代码示例来源:origin: apache/hive
public boolean traverse(RelNode root) {
root.accept(this);
return mightRequireValueGen;
}
}
代码示例来源:origin: apache/hive
public void validate(RelNode relNode) {
try {
relNode.accept(this);
} catch (Util.FoundOne e) {
// Can ignore - the check failed.
}
}
代码示例来源:origin: apache/hive
@Override public Void visitSubQuery(RexSubQuery subQuery) {
subQuery.rel.accept(CorelMapBuilder.this);
return super.visitSubQuery(subQuery);
}
};
代码示例来源:origin: apache/hive
/** Creates a CorelMap by iterating over a {@link RelNode} tree. */
CorelMap build(RelNode rel) {
stripHep(rel).accept(this);
return new CorelMap(mapRefRelToCorRef, mapCorToCorRel,
mapFieldAccessToCorVar);
}
代码示例来源:origin: apache/drill
@Override public Void visitSubQuery(RexSubQuery subQuery) {
subQuery.rel.accept(CorelMapBuilder.this);
return super.visitSubQuery(subQuery);
}
};
代码示例来源:origin: apache/drill
/** Creates a CorelMap by iterating over a {@link RelNode} tree. */
CorelMap build(RelNode rel) {
stripHep(rel).accept(this);
return new CorelMap(mapRefRelToCorRef, mapCorToCorRel,
mapFieldAccessToCorVar);
}
代码示例来源:origin: apache/drill
@Override
public RelNode visit(RelNode other) {
if (other instanceof RelSubset) {
return ((RelSubset) other).getBest().accept(this);
} else {
return super.visit(other);
}
}
代码示例来源:origin: apache/hive
/**
* Visits a particular child of a parent.
*/
protected RelNode visitChild(RelNode parent, int i, RelNode child) {
Stacks.push(stack, parent);
try {
RelNode child2 = child.accept(this);
if (child2 != child) {
final List<RelNode> newInputs =
new ArrayList<RelNode>(parent.getInputs());
newInputs.set(i, child2);
return parent.copy(parent.getTraitSet(), newInputs);
}
return parent;
} finally {
Stacks.pop(stack, parent);
}
}
代码示例来源:origin: apache/drill
/**
* Visits a particular child of a parent.
*/
protected RelNode visitChild(RelNode parent, int i, RelNode child) {
Stacks.push(stack, parent);
try {
RelNode child2 = child.accept(this);
if (child2 != child) {
final List<RelNode> newInputs =
new ArrayList<RelNode>(parent.getInputs());
newInputs.set(i, child2);
return parent.copy(parent.getTraitSet(), newInputs);
}
return parent;
} finally {
Stacks.pop(stack, parent);
}
}
代码示例来源:origin: apache/hive
rel.accept(
new CorrelationReferenceFinder() {
protected RexNode handle(RexFieldAccess fieldAccess) {
代码示例来源:origin: apache/drill
public JdbcPrel(RelOptCluster cluster, RelTraitSet traitSet, JdbcIntermediatePrel prel) {
super(cluster, traitSet);
final RelNode input = prel.getInput();
rows = input.estimateRowCount(cluster.getMetadataQuery());
convention = (DrillJdbcConvention) input.getTraitSet().getTrait(ConventionTraitDef.INSTANCE);
// generate sql for tree.
final SqlDialect dialect = convention.getPlugin().getDialect();
final JdbcImplementor jdbcImplementor = new JdbcImplementor(
dialect,
(JavaTypeFactory) getCluster().getTypeFactory());
final JdbcImplementor.Result result =
jdbcImplementor.visitChild(0, input.accept(new SubsetRemover()));
sql = result.asStatement().toSqlString(dialect).getSql();
rowType = input.getRowType();
}
代码示例来源:origin: dremio/dremio-oss
@Override
public RelNode apply(RelNode input) {
return input.accept(CopyWithCluster.this);
}
};
代码示例来源:origin: dremio/dremio-oss
private RelNode convertRelSubsets(RelNode root) {
return root.accept(new RoutingShuttle() {
@Override
public RelNode visit(RelNode other) {
if (other instanceof RelSubset) {
return visit(((RelSubset) other).getBest());
}
return super.visit(other);
}
});
}
代码示例来源:origin: dremio/dremio-oss
@Override
protected RelNode visitChild(RelNode parent, int i, RelNode child) {
RelNode newParent = parent.accept(flattener);
return super.visitChild(newParent, i, newParent.getInput(i));
}
}
代码示例来源:origin: dremio/dremio-oss
@Override
public RelNode visit(RelNode other) {
if ((other instanceof ContainerRel)) {
((ContainerRel) other).getSubTree().accept(this);
}
return super.visit(other);
}
}
代码示例来源:origin: dremio/dremio-oss
private final com.dremio.exec.planner.sql.handlers.RelTransformer getPostStripNormalizer(MaterializationDescriptor descriptor) {
// for incremental update, we need to rewrite the queryRel so that it propagates the UPDATE_COLUMN and
// adds it as a grouping key in aggregates
if (!descriptor.getIncrementalUpdateSettings().isIncremental()) {
return com.dremio.exec.planner.sql.handlers.RelTransformer.NO_OP_TRANSFORMER;
}
final RelShuttle shuttle = Optional.ofNullable(descriptor.getIncrementalUpdateSettings().getUpdateField())
.map(IncrementalUpdateUtils.SubstitutionShuttle::new)
.orElse(IncrementalUpdateUtils.FILE_BASED_SUBSTITUTION_SHUTTLE);
return (rel) -> rel.accept(shuttle);
}
代码示例来源:origin: Qihoo360/Quicksql
@Override public RelNode visit(RelNode other) {
other.collectVariablesUsed(vuv.variables);
other.accept(vuv);
RelNode result = super.visit(other);
// Important! Remove stopped variables AFTER we visit
// children. (which what super.visit() does)
vuv.variables.removeAll(other.getVariablesSet());
return result;
}
}
代码示例来源:origin: dremio/dremio-oss
@Override
public RelNode copyWith(CopyWithCluster copier) {
final RelNode copiedSubTree = getSubTree().accept(copier);
return new JdbcRel(
copier.getCluster(),
getTraitSet(),
copiedSubTree
);
}
}
代码示例来源:origin: dremio/dremio-oss
@Override
public RelNode visit(LogicalProject project) {
final RelNode input = project.getInput().accept(this);
return new LogicalProject(
cluster,
copyOf(project.getTraitSet()),
input,
Lists.transform(project.getProjects(), COPY_REX_NODE),
copyOf(project.getRowType())
);
}
代码示例来源:origin: Qihoo360/Quicksql
@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);
}
}
内容来源于网络,如有侵权,请联系作者删除!