HepRelVertex(RelNode rel) { super( rel.getCluster(), rel.getTraitSet()); currentRel = rel; }
protected RelTraitSet getDesiredRootTraitSet(RelNode rootRel) { // Make sure non-CallingConvention traits, if any, are preserved return rootRel.getTraitSet() .replace(resultConvention); }
HepRelVertex(RelNode rel) { super( rel.getCluster(), rel.getTraitSet()); currentRel = rel; }
public CascadingSortRel( RelOptCluster cluster, RelTraitSet traits, RelNode child, RelCollation collation, RexNode offset, RexNode fetch ) { super( cluster, traits, child, collation, offset, fetch ); assert child.getTraitSet().contains( Cascading.CONVENTION ); assert offset == null; assert fetch == null; }
public void registerClass(RelNode node) { final Class<? extends RelNode> clazz = node.getClass(); if (classes.add(clazz)) { onNewClass(node); } for (RelTrait trait : node.getTraitSet()) { if (traits.add(trait)) { trait.register(this); } } }
@Override public RelNode convert( RelNode rel ) { if( !rel.getTraitSet().contains( Cascading.CONVENTION ) ) return null; return new CascadingEnumerableRel( rel.getCluster(), rel.getTraitSet().replace( getOutConvention() ), rel ); } }
public static <T extends RelNode> T addTrait( T rel, RelTrait trait) { //noinspection unchecked return (T) rel.copy( rel.getTraitSet().replace(trait), (List) rel.getInputs()); }
public void rewriteGeneric(RelNode rel) { RelNode newRel = rel.copy(rel.getTraitSet(), rel.getInputs()); List<RelNode> oldInputs = rel.getInputs(); for (int i = 0; i < oldInputs.size(); ++i) { newRel.replaceInput( i, getNewForOldRel(oldInputs.get(i))); } setNewForOldRel(rel, newRel); }
public void rewriteGeneric(RelNode rel) { RelNode newRel = rel.copy(rel.getTraitSet(), rel.getInputs()); List<RelNode> oldInputs = rel.getInputs(); for (int i = 0; i < oldInputs.size(); ++i) { newRel.replaceInput( i, getNewForOldRel(oldInputs.get(i))); } setNewForOldRel(rel, newRel); }
public void onMatch(RelOptRuleCall call) { RelNode rel = call.rel(0); if (rel.getTraitSet().contains(inTrait)) { final RelNode converted = convert(rel); if (converted != null) { call.transformTo(converted); } } }
@Override public RelNode convert(RelNode rel) { RelTraitSet newTraitSet = rel.getTraitSet().replace(getOutConvention()); return new MongoToEnumerableConverter(rel.getCluster(), newTraitSet, rel); } }
public void onMatch(RelOptRuleCall call) { RelNode rel = call.rel(0); if (rel.getTraitSet().contains(inTrait)) { final RelNode converted = convert(rel); if (converted != null) { call.transformTo(converted); } } }
public RelNode convert(RelNode rel) { final FilterRel filter = (FilterRel) rel; return new JdbcFilterRel( rel.getCluster(), rel.getTraitSet().replace(getOutConvention()), convert( filter.getChild(), filter.getChild().getTraitSet().replace(getOutConvention())), filter.getCondition()); } }
private AltTraitConverter( RelOptCluster cluster, RelNode child, RelTrait toTrait) { super( cluster, toTrait.getTraitDef(), child.getTraitSet().replace(toTrait), child); this.toTrait = toTrait; }
private AltTraitConverter( RelOptCluster cluster, RelNode child, RelTrait toTrait) { super( cluster, toTrait.getTraitDef(), child.getTraitSet().replace(toTrait), child); this.toTrait = toTrait; }
public RelNode convert(RelNode rel) { final MinusRel minus = (MinusRel) rel; if (minus.all) { return null; // EXCEPT ALL not implemented } final RelTraitSet traitSet = rel.getTraitSet().replace(out); return new JdbcMinusRel(rel.getCluster(), traitSet, convertList(minus.getInputs(), out), minus.all); } }
public RelNode changeTraits(final RelNode rel, RelTraitSet toTraits) { assert !rel.getTraitSet().equals(toTraits) : "pre: !rel.getTraits().equals(toTraits)"; RelSubset rel2 = ensureRegistered(rel, null); if (rel2.getTraitSet().equals(toTraits)) { return rel2; } return rel2.set.getOrCreateSubset(rel.getCluster(), toTraits); }
public RelNode convert(RelNode rel) { final WindowRel winAgg = (WindowRel) rel; final RelTraitSet traitSet = winAgg.getTraitSet().replace(EnumerableConvention.INSTANCE); final RelNode child = winAgg.getChild(); final RelNode convertedChild = convert(child, child.getTraitSet().replace(EnumerableConvention.INSTANCE)); return new EnumerableWindowRel(rel.getCluster(), traitSet, convertedChild, winAgg.getConstants(), winAgg.getRowType(), winAgg.windows); } }
public RelNode convert(RelNode rel) { final CalcRel calc = (CalcRel) rel; // If there's a multiset, let FarragoMultisetSplitter work on it // first. if (RexMultisetUtil.containsMultiset(calc.getProgram())) { return null; } return new JdbcCalcRel(rel.getCluster(), rel.getTraitSet().replace(out), convert(calc.getChild(), calc.getTraitSet().replace(out)), calc.getProgram(), ProjectRelBase.Flags.BOXED); } }
public RelNode convert(RelNode rel) { final EnumerableProjectRel project = (EnumerableProjectRel) rel; return new JdbcProjectRel( rel.getCluster(), rel.getTraitSet().replace(getOutConvention()), convert(project.getChild(), project.getChild().getTraitSet().replace(getOutConvention())), project.getProjects(), project.getRowType(), ProjectRelBase.Flags.BOXED); } }