See: Description
| Interface | Description |
|---|---|
| RexAction |
A
RexAction is called when a RexPattern finds a match. |
| RexPattern |
A
RexPattern represents an expression with holes in it. |
| RexSqlConvertlet | |
| RexSqlConvertletTable |
Collection of
RexSqlConvertlets. |
| RexToSqlNodeConverter | |
| RexVisitor<R> |
Visitor pattern for traversing a tree of
RexNode objects. |
| Class | Description |
|---|---|
| RexBuilder |
Factory for row expressions.
|
| RexCall |
An expression formed by a call to an operator with zero or more expressions
as operands.
|
| RexCallBinding |
RexCallBinding implements SqlOperatorBinding by
referring to an underlying collection of RexNode operands. |
| RexChecker |
Visitor which checks the validity of a
RexNode expression. |
| RexCorrelVariable |
Reference to the current row of a correlating relational expression.
|
| RexDynamicParam |
Dynamic parameter reference in a row-expression.
|
| RexExecutable |
Result of compiling code generated from a
RexNode expression. |
| RexExecutorImpl |
Evaluates a
RexNode expression. |
| RexFieldAccess |
Access to a field of a row-expression.
|
| RexFieldCollation |
Expression combined with sort flags (DESCENDING, NULLS LAST).
|
| RexInputRef |
Variable which references a field of an input relational expression.
|
| RexLiteral |
Constant value in a row-expression.
|
| RexLocalRef |
Local variable.
|
| RexMultisetUtil |
Utility class for various methods related to multisets.
|
| RexNode |
Row expression.
|
| RexOver |
Call to an aggregate function over a window.
|
| RexPermutationShuttle |
Visitor which replaces
RexLocalRef objects after the expressions in a
RexProgram have been reordered. |
| RexPermuteInputsShuttle |
Shuttle which applies a permutation to its input fields.
|
| RexProgram |
A collection of expressions which read inputs, compute output expressions,
and optionally use a condition to filter rows.
|
| RexProgramBuilder |
Workspace for constructing a
RexProgram. |
| RexRangeRef |
Reference to a range of columns.
|
| RexShuttle |
Passes over a row-expression, calling a handler method for each node,
appropriate to the type of the node.
|
| RexSlot |
Abstract base class for
RexInputRef and RexLocalRef. |
| RexSlot.SelfPopulatingList |
Thread-safe list that populates itself if you make a reference beyond
the end of the list.
|
| RexSqlReflectiveConvertletTable |
Implementation of
RexSqlConvertletTable. |
| RexSqlStandardConvertletTable |
Standard implementation of
RexSqlConvertletTable. |
| RexToSqlNodeConverterImpl |
Standard implementation of
RexToSqlNodeConverter. |
| RexTransformer |
Takes a tree of
RexNode objects and transforms it into another in one
sense equivalent tree. |
| RexUtil |
Utility methods concerning row-expressions.
|
| RexUtil.FieldAccessFinder |
Visitor which builds a bitmap of the inputs used by an expression.
|
| RexVariable |
A row-expression which references a field.
|
| RexVisitorImpl<R> |
Default implementation of
RexVisitor, which visits each node but does
nothing while it's there. |
| RexWindow |
Specification of the window of rows over which a
RexOver windowed
aggregate is evaluated. |
| RexWindowBound |
Abstracts "XX PRECEDING/FOLLOWING" and "CURRENT ROW" bounds for windowed
aggregates.
|
A SqlToRelConverter converts a SQL
parse tree consisting of SqlNode objects into
a relational expression (RelNode). Several
kinds of nodes in this tree have row expressions
(RexNode).
After the relational expression has been optimized, a
JavaRelImplementor converts it
into to a plan. If the plan is a Java parse tree, row-expressions are
translated into equivalent Java expressions.
Every row-expression has a type. (Compare with
SqlNode, which is created before validation,
and therefore types may not be available.)
Every node in the parse tree is a RexNode.
Sub-types are:
RexLiteral represents a boolean,
numeric, string, or date constant, or the value NULL.
RexVariable represents a leaf of the
tree. It has sub-types:
RexCorrelVariable is a
correlating variable for nested-loop joins
RexInputRef refers to a field
of an input relational expression
RexCall is a call to an
operator or function. By means of special operators, we can
use this construct to represent virtually every non-leaf node
in the tree.
RexRangeRef refers to a
collection of contiguous fields from an input relational
expression. It usually exists only during translation.
Expressions are generally
created using a RexBuilder factory.
org.apache.calcite.sql SQL object modelorg.apache.calcite.plan Core classes, including
RelDataType and
RelDataTypeFactory.Copyright © 2012–2015 The Apache Software Foundation. All rights reserved.