/** * @param call RelOptRuleCall * @return true if the rule was invoked with a left project child */ protected boolean hasLeftChild(RelOptRuleCall call) { return call.rel(1) instanceof ProjectRelBase; }
/** * @param call RelOptRuleCall * * @return true if the rule was invoked with a left project child */ protected boolean hasLeftChild(RelOptRuleCall call) { return (call.rel(1) instanceof ProjectRel); }
public void onMatch(RelOptRuleCall call) { call.transformTo(call.rel(0).getInput(0)); } }
@Override public void onMatch(RelOptRuleCall call) { SortRel sort = call.rel(0); if (sort.fetch != null && RexLiteral.intValue(sort.fetch) == 0) { call.transformTo(empty(sort)); } } };
@Override public void onMatch(RelOptRuleCall call) { JoinRelBase join = call.rel(0); if (join.getJoinType().generatesNullsOnLeft()) { // "select * from emp right join dept" is not necessarily empty if // emp is empty return; } call.transformTo(empty(join)); } };
@Override public void onMatch(RelOptRuleCall call) { JoinRelBase join = call.rel(0); if (join.getJoinType().generatesNullsOnRight()) { // "select * from emp left join dept" is not necessarily empty if // dept is empty return; } call.transformTo(empty(join)); } };
public void onMatch(RelOptRuleCall call) { FilterRel filter = call.rel(0); call.transformTo( new EmptyRel( filter.getCluster(), filter.getRowType())); } };
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 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 void onMatch(RelOptRuleCall call) { final TableAccessRel oldRel = call.rel(0); RelNode newRel = oldRel.getTable().toRel( RelOptUtil.getContext(oldRel.getCluster())); call.transformTo(newRel); } }
@Override public void onMatch( RelOptRuleCall call ) { final ValuesRel values = call.rel( 1 ); RelTraitSet newTraits = values.getTraitSet().plus( Cascading.CONVENTION ); call.transformTo( new CascadingValuesRel( values.getCluster(), newTraits, values.getRowType(), values.getTuples() ) ); } }
public void onMatch(RelOptRuleCall call) { final ProjectRel project = call.rel(0); RelNode childRel = project.getChild(); call.transformTo( new PhysLeafRel( childRel.getCluster(), "b")); } }
public void onMatch(RelOptRuleCall call) { NoneLeafRel leafRel = call.rel(0); call.transformTo( new PhysLeafRel( leafRel.getCluster(), leafRel.getLabel())); } }
public void onMatch(RelOptRuleCall call) { NoneLeafRel leafRel = call.rel(0); call.transformTo( new PhysLeafRel( leafRel.getCluster(), leafRel.getLabel())); } }
public void onMatch(RelOptRuleCall call) { NoneLeafRel leafRel = call.rel(0); call.transformTo( new PhysLeafRel( leafRel.getCluster(), leafRel.getLabel())); } }