public class EnumerableWindow extends Window implements EnumerableRel
Window in
enumerable calling convention.| Modifier and Type | Class and Description |
|---|---|
private static class |
EnumerableWindow.WindowRelInputGetter
Implementation of
RexToLixTranslator.InputGetter
suitable for generating implementations of windowed aggregate
functions. |
Window.Group, Window.RexWinAggCallEnumerableRel.Prefer, EnumerableRel.ResultRelNode.Contextdigest, id, rowType, traitSetFILTER_FACTORY, PROJECT_FACTORY| Constructor and Description |
|---|
EnumerableWindow(RelOptCluster cluster,
RelTraitSet traits,
RelNode child,
List<RexLiteral> constants,
RelDataType rowType,
List<Window.Group> groups)
Creates an EnumerableWindowRel.
|
| Modifier and Type | Method and Description |
|---|---|
RelOptCost |
computeSelfCost(RelOptPlanner planner,
RelMetadataQuery mq)
Returns the cost of this plan (not including children).
|
RelNode |
copy(RelTraitSet traitSet,
List<RelNode> inputs)
Creates a copy of this relational expression, perhaps changing traits and
inputs.
|
private void |
declareAndResetState(JavaTypeFactory typeFactory,
BlockBuilder builder,
EnumerableRel.Result result,
int windowIdx,
List<AggImpState> aggs,
PhysType outputPhysType,
List<Expression> outputRow) |
private com.google.common.base.Function<BlockBuilder,WinAggFrameResultContext> |
getBlockBuilderWinAggFrameResultContextFunction(JavaTypeFactory typeFactory,
EnumerableRel.Result result,
List<Expression> translatedConstants,
Expression comparator_,
Expression rows_,
ParameterExpression i_,
Expression startX,
Expression endX,
Expression minX,
Expression maxX,
Expression hasRows,
Expression frameRowCount,
Expression partitionRowCount,
DeclarationStatement jDecl,
PhysType inputPhysType) |
private Pair<Expression,Expression> |
getPartitionIterator(BlockBuilder builder,
Expression source_,
PhysType inputPhysType,
Window.Group group,
Expression comparator_) |
private Pair<Expression,Expression> |
getRowCollationKey(BlockBuilder builder,
PhysType inputPhysType,
Window.Group group,
int windowIdx) |
EnumerableRel.Result |
implement(EnumerableRelImplementor implementor,
EnumerableRel.Prefer pref)
Creates a plan for this expression according to a calling convention.
|
private void |
implementAdd(List<AggImpState> aggs,
BlockBuilder builder7,
com.google.common.base.Function<BlockBuilder,WinAggFrameResultContext> frame,
com.google.common.base.Function<AggImpState,List<RexNode>> rexArguments,
DeclarationStatement jDecl) |
private boolean |
implementResult(List<AggImpState> aggs,
BlockBuilder builder,
com.google.common.base.Function<BlockBuilder,WinAggFrameResultContext> frame,
com.google.common.base.Function<AggImpState,List<RexNode>> rexArguments,
boolean cachedBlock) |
private void |
sampleOfTheGeneratedWindowedAggregate() |
private Expression |
translateBound(RexToLixTranslator translator,
ParameterExpression i_,
Expression row_,
Expression min_,
Expression max_,
Expression rows_,
Window.Group group,
boolean lower,
PhysType physType,
Expression rowComparator,
Expression keySelector,
Expression keyComparator) |
explainTerms, getCollation, getConstants, getProjectOrdinals, isValidchildrenAccept, deriveRowType, estimateRowCount, getInput, getInputs, replaceInputaccept, accept, collectVariablesSet, collectVariablesUsed, computeDigest, computeSelfCost, explain, getChildExps, getCluster, getCollationList, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getQuery, getRelTypeName, getRows, getRowType, getTable, getTraitSet, getVariablesSet, getVariablesStopped, isDistinct, isKey, isValid, metadata, onRegister, recomputeDigest, register, sole, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitaccept, accept, childrenAccept, collectVariablesSet, collectVariablesUsed, computeSelfCost, estimateRowCount, explain, getChildExps, getCollationList, getConvention, getCorrelVariable, getExpectedInputRowType, getInput, getInputs, getQuery, getRelTypeName, getRows, getRowType, getTable, getVariablesSet, getVariablesStopped, isDistinct, isKey, isValid, isValid, metadata, onRegister, recomputeDigest, register, replaceInputgetCluster, getDescription, getDigest, getId, getTraitSetEnumerableWindow(RelOptCluster cluster, RelTraitSet traits, RelNode child, List<RexLiteral> constants, RelDataType rowType, List<Window.Group> groups)
public RelNode copy(RelTraitSet traitSet, List<RelNode> inputs)
RelNodeSub-classes with other important attributes are encouraged to create variants of this method with more parameters.
copy in interface RelNodecopy in class AbstractRelNodetraitSet - Trait setinputs - Inputspublic RelOptCost computeSelfCost(RelOptPlanner planner, RelMetadataQuery mq)
RelNodeNOTE jvs 29-Mar-2006: Don't call this method directly. Instead, use
RelMetadataQuery.getNonCumulativeCost(org.apache.calcite.rel.RelNode), which gives plugins a
chance to override the rel's default ideas about cost.
computeSelfCost in interface RelNodecomputeSelfCost in class Windowplanner - Planner for cost calculationmq - Metadata queryprivate void sampleOfTheGeneratedWindowedAggregate()
public EnumerableRel.Result implement(EnumerableRelImplementor implementor, EnumerableRel.Prefer pref)
EnumerableRelimplement in interface EnumerableRelimplementor - Implementorpref - Preferred representation for rows in result expressionprivate com.google.common.base.Function<BlockBuilder,WinAggFrameResultContext> getBlockBuilderWinAggFrameResultContextFunction(JavaTypeFactory typeFactory, EnumerableRel.Result result, List<Expression> translatedConstants, Expression comparator_, Expression rows_, ParameterExpression i_, Expression startX, Expression endX, Expression minX, Expression maxX, Expression hasRows, Expression frameRowCount, Expression partitionRowCount, DeclarationStatement jDecl, PhysType inputPhysType)
private Pair<Expression,Expression> getPartitionIterator(BlockBuilder builder, Expression source_, PhysType inputPhysType, Window.Group group, Expression comparator_)
private Pair<Expression,Expression> getRowCollationKey(BlockBuilder builder, PhysType inputPhysType, Window.Group group, int windowIdx)
private void declareAndResetState(JavaTypeFactory typeFactory, BlockBuilder builder, EnumerableRel.Result result, int windowIdx, List<AggImpState> aggs, PhysType outputPhysType, List<Expression> outputRow)
private void implementAdd(List<AggImpState> aggs, BlockBuilder builder7, com.google.common.base.Function<BlockBuilder,WinAggFrameResultContext> frame, com.google.common.base.Function<AggImpState,List<RexNode>> rexArguments, DeclarationStatement jDecl)
private boolean implementResult(List<AggImpState> aggs, BlockBuilder builder, com.google.common.base.Function<BlockBuilder,WinAggFrameResultContext> frame, com.google.common.base.Function<AggImpState,List<RexNode>> rexArguments, boolean cachedBlock)
private Expression translateBound(RexToLixTranslator translator, ParameterExpression i_, Expression row_, Expression min_, Expression max_, Expression rows_, Window.Group group, boolean lower, PhysType physType, Expression rowComparator, Expression keySelector, Expression keyComparator)
Copyright © 2012–2018 The Apache Software Foundation. All rights reserved.