Package org.apache.calcite.interpreter
Provides an implementation of relational expressions using an interpreter.
The implementation is not efficient compared to generated code, but preparation time is less, and so the total prepare + execute time is competitive for queries over small data sets.
-
Interface Summary Interface Description AggregateNode.Accumulator Defines function implementation for things likecount()
andsum()
.AggregateNode.AccumulatorFactory Creates anAggregateNode.Accumulator
.BindableRel Relational expression that can implement itself in Bindable convention.Compiler Context while converting a tree ofRelNode
to a program that can be run by anInterpreter
.InterpretableRel Relational expression that can implement itself using an interpreter.Interpreter.ScalarCompiler Converts a list of expressions to a scalar that can compute their values.Node Relational expression that can be executed using an interpreter.Scalar Compiled scalar expression.Sink Sink to which to send rows.Source Source of rows. -
Class Summary Class Description AbstractSingleNode<T extends SingleRel> An interpreter that takes expects one incoming source relational expression.AggregateNode Interpreter node that implements anAggregate
.AggregateNode.AccumulatorList A list of accumulators used during grouping.AggregateNode.CountAccumulator Accumulator for calls to the COUNT function.AggregateNode.DoubleSum Implementation ofSUM
over DOUBLE values as a user-defined aggregate.AggregateNode.FilterAccumulator Accumulator that applies a filter to another accumulator.AggregateNode.IntSum Implementation ofSUM
over INTEGER values as a user-defined aggregate.AggregateNode.LongSum Implementation ofSUM
over BIGINT values as a user-defined aggregate.AggregateNode.MaxDouble Implementation ofMAX
function to calculate the minimum ofdouble
andreal
values as a user-defined aggregate.AggregateNode.MaxFloat Implementation ofMAX
function to calculate the minimum offloat
values as a user-defined aggregate.AggregateNode.MaxInt Implementation ofMAX
function to calculate the minimum ofinteger
values as a user-defined aggregate.AggregateNode.MaxLong Implementation ofMAX
function to calculate the minimum oflong
values as a user-defined aggregate.AggregateNode.MinDouble Implementation ofMIN
function to calculate the minimum ofdouble
andreal
values as a user-defined aggregate.AggregateNode.MinFloat Implementation ofMIN
function to calculate the minimum offloat
values as a user-defined aggregate.AggregateNode.MinInt Implementation ofMIN
function to calculate the minimum ofinteger
values as a user-defined aggregate.AggregateNode.MinLong Implementation ofMIN
function to calculate the minimum oflong
values as a user-defined aggregate.AggregateNode.NumericComparison<T> Common implementation of comparison aggregate methods over numeric values as a user-defined aggregate.AggregateNode.ScalarAccumulator Accumulator powered byScalar
code fragments.AggregateNode.ScalarAccumulatorDef Accumulator powered byScalar
code fragments.AggregateNode.UdaAccumulator Accumulator based upon a user-defined aggregate.AggregateNode.UdaAccumulatorFactory Accumulator factory based on a user-defined aggregate function.Bindables Utilities pertaining toBindableRel
andBindableConvention
.Bindables.BindableAggregate Implementation ofAggregate
in bindable calling convention.Bindables.BindableAggregateRule Rule that converts anAggregate
to bindable convention.Bindables.BindableFilter Implementation ofFilter
in bindable convention.Bindables.BindableFilterRule Rule that converts aFilter
to bindable convention.Bindables.BindableJoin Implementation ofJoin
in bindable calling convention.Bindables.BindableJoinRule Rule to convert aLogicalJoin
to aBindables.BindableJoin
.Bindables.BindableProject Implementation ofProject
in bindable calling convention.Bindables.BindableProjectRule Rule to convert aLogicalProject
to aBindables.BindableProject
.Bindables.BindableSort Implementation ofSort
bindable calling convention.Bindables.BindableSortRule Rule to convert anSort
to aBindables.BindableSort
.Bindables.BindableTableScan Scan of a table that implementsScannableTable
and therefore can be converted into anEnumerable
.Bindables.BindableTableScanRule Rule that converts aTableScan
to bindable convention.Bindables.BindableUnion Implementation ofUnion
in bindable calling convention.Bindables.BindableUnionRule Rule to convert anLogicalUnion
to aBindables.BindableUnion
.Bindables.BindableValues Implementation ofValues
in bindable calling convention.Bindables.BindableValuesRule Rule that converts aValues
to bindable convention.Bindables.BindableWindow Implementation ofWindow
in bindable convention.Bindables.BindableWindowRule Rule to convert aLogicalWindow
to aBindables.BindableWindow
.Context Context for executing a scalar expression in an interpreter.FilterNode Interpreter node that implements aFilter
.InterpretableConverter Relational expression that converts any relational expression input toInterpretableConvention
, by wrapping it in an interpreter.InterpretableRel.InterpreterImplementor Interpreter Interpreter.Interpreter.CompilerImpl Interpreter.DuplicatingSink Implementation ofSink
using aArrayDeque
.Interpreter.Edge Edge between aRelNode
and one of its inputs.Interpreter.EnumeratorSource ASource
that is just backed by anEnumerator
.Interpreter.ListSink Implementation ofSink
using aArrayDeque
.Interpreter.ListSource Implementation ofSource
using aArrayDeque
.Interpreter.NodeInfo Information about a node registered in the data flow graph.Interpreters Utilities relating toInterpreter
andInterpretableConvention
.JaninoRexCompiler JoinNode Interpreter node that implements aJoin
.Nodes Helper methods forNode
and implementations for core relational expressions.Nodes.CoreCompiler Extension toInterpreter.CompilerImpl
that knows how to handle the core logicalRelNode
s.NoneToBindableConverterRule Rule to convert a relational expression fromConvention.NONE
toBindableConvention
.ProjectNode Interpreter node that implements aProject
.Row Row.Row.RowBuilder Utility class to build row objects.SortNode Interpreter node that implements aSort
.TableScanNode Interpreter node that implements aTableScan
.UnionNode Interpreter node that implements aUnion
.ValuesNode Interpreter node that implements aValues
.WindowNode Interpreter node that implements aWindow
. -
Enum Summary Enum Description BindableConvention Calling convention that returns results as anEnumerable
of object arrays.InterpretableConvention Calling convention that returns results as anEnumerable
of object arrays.