RelNode changeTraitsUsingConverters( RelNode rel, RelTraitSet toTraits) { return changeTraitsUsingConverters(rel, toTraits, false); }
RelNode changeTraitsUsingConverters( RelNode rel, RelTraitSet toTraits) { return changeTraitsUsingConverters(rel, toTraits, false); }
void checkForSatisfiedConverters( RelSet set, RelNode rel) { int i = 0; while (i < set.abstractConverters.size()) { AbstractConverter converter = set.abstractConverters.get(i); RelNode converted = changeTraitsUsingConverters( rel, converter.getTraitSet()); if (converted == null) { i++; // couldn't convert this; move on to the next } else { if (!isRegistered(converted)) { registerImpl(converted, set); } set.abstractConverters.remove(converter); // success } } }
void checkForSatisfiedConverters( RelSet set, RelNode rel) { int i = 0; while (i < set.abstractConverters.size()) { AbstractConverter converter = set.abstractConverters.get(i); RelNode converted = changeTraitsUsingConverters( rel, converter.getTraitSet()); if (converted == null) { i++; // couldn't convert this; move on to the next } else { if (!isRegistered(converted)) { registerImpl(converted, set); } set.abstractConverters.remove(converter); // success } } }
public void onMatch(RelOptRuleCall call) { final VolcanoPlanner planner = (VolcanoPlanner) call.getPlanner(); AbstractConverter converter = call.rel(0); final RelNode child = converter.getChild(); RelNode converted = planner.changeTraitsUsingConverters( child, converter.traitSet); if (converted != null) { call.transformTo(converted); } } }
public void onMatch(RelOptRuleCall call) { final VolcanoPlanner planner = (VolcanoPlanner) call.getPlanner(); AbstractConverter converter = call.rel(0); final RelNode child = converter.getChild(); RelNode converted = planner.changeTraitsUsingConverters( child, converter.traitSet); if (converted != null) { call.transformTo(converted); } } }