Class RexImpTable
java.lang.Object
org.apache.calcite.adapter.enumerable.RexImpTable
Contains implementations of Rex operators as Java code.
Immutable.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Implementor for theLAG
windowed aggregate function.static class
Implementor for theLEAD
windowed aggregate function.static enum
Strategy what an operator should return if one of its arguments is null.static interface
Null-safe implementor ofRexCall
s.static class
Implementor for user-defined aggregate functions. -
Field Summary
Modifier and TypeFieldDescriptionstatic final MemberExpression
static final MemberExpression
static final ConstantExpression
static final ConstantExpression
static final ConstantExpression
static final RexImpTable
The singleton instance.static final ConstantExpression
static final ConstantExpression
-
Method Summary
Modifier and TypeMethodDescriptionstatic CallImplementor
createImplementor
(NotNullImplementor implementor, NullPolicy nullPolicy, boolean harmonize) @Nullable AggImplementor
get
(SqlAggFunction aggregation, boolean forWindowAggregate) get
(SqlMatchFunction function) @Nullable RexImpTable.RexCallImplementor
get
(SqlOperator operator) get
(SqlWindowTableFunction operator) static Expression
multiplyDivide
(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
.
-