public abstract static class CalcRelSplitter.RelType extends Object
| Modifier and Type | Method and Description |
|---|---|
protected abstract boolean |
canImplement(RexCall call) |
protected abstract boolean |
canImplement(RexDynamicParam param) |
protected abstract boolean |
canImplement(RexFieldAccess field) |
protected abstract boolean |
canImplement(RexLiteral literal) |
boolean |
canImplement(RexNode expr,
boolean condition)
Returns whether this
RelType can implement a given
expression. |
boolean |
canImplement(RexProgram program)
Returns whether this tester's
RelType can implement a
given program. |
protected RelNode |
makeRel(RelOptCluster cluster,
RelTraitSet traitSet,
RelBuilder relBuilder,
RelNode input,
RexProgram program) |
protected boolean |
supportsCondition() |
String |
toString() |
private final String name
public RelType(String name)
protected abstract boolean canImplement(RexFieldAccess field)
protected abstract boolean canImplement(RexDynamicParam param)
protected abstract boolean canImplement(RexLiteral literal)
protected abstract boolean canImplement(RexCall call)
protected boolean supportsCondition()
protected RelNode makeRel(RelOptCluster cluster, RelTraitSet traitSet, RelBuilder relBuilder, RelNode input, RexProgram program)
public boolean canImplement(RexNode expr, boolean condition)
RelType can implement a given
expression.expr - Expressioncondition - Whether expression is a conditionRelType can implement a given
expression.public boolean canImplement(RexProgram program)
RelType can implement a
given program.program - ProgramRelType can implement a
given program.Copyright © 2012–2018 The Apache Software Foundation. All rights reserved.