Class RexImpTable
java.lang.Object
org.apache.calcite.adapter.enumerable.RexImpTable
Contains implementations of Rex operators as Java code.
Immutable.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classImplementor for theLAGwindowed aggregate function.static classImplementor for theLEADwindowed aggregate function.static enumStrategy what an operator should return if one of its arguments is null.static interfaceNull-safe implementor ofRexCalls.static classImplementor for user-defined aggregate functions. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final MemberExpressionstatic final MemberExpressionstatic final ConstantExpressionstatic final ConstantExpressionstatic final ConstantExpressionstatic final RexImpTableThe singleton instance.static final ConstantExpressionstatic final ConstantExpression -
Method Summary
Modifier and TypeMethodDescriptionstatic CallImplementorcreateImplementor(NotNullImplementor implementor, NullPolicy nullPolicy, boolean harmonize) @Nullable AggImplementorget(SqlAggFunction aggregation, boolean forWindowAggregate) get(SqlMatchFunction function) @Nullable RexImpTable.RexCallImplementorget(SqlOperator operator) get(SqlWindowTableFunction operator) static ExpressionmultiplyDivide(Expression e, BigDecimal multiplier, BigDecimal divider) Multiplies an expression by a constant and divides by another constant, optimizing appropriately.
-
Field Details
-
INSTANCE
The singleton instance. -
NULL_EXPR
-
FALSE_EXPR
-
TRUE_EXPR
-
COMMA_EXPR
-
COLON_EXPR
-
BOXED_FALSE_EXPR
-
BOXED_TRUE_EXPR
-
-
Method Details
-
createImplementor
public static CallImplementor createImplementor(NotNullImplementor implementor, NullPolicy nullPolicy, boolean harmonize) -
get
-
get
-
get
-
get
-
multiplyDivide
Multiplies an expression by a constant and divides by another constant, optimizing appropriately.For example,
multiplyDivide(e, 10, 1000)returnse / 100.
-