Class LogicalSnapshot

  • All Implemented Interfaces:
    Cloneable, org.apache.calcite.plan.RelOptNode, org.apache.calcite.rel.hint.Hintable, org.apache.calcite.rel.RelNode

    public class LogicalSnapshot
    extends org.apache.calcite.rel.core.Snapshot
    Sub-class of Snapshot not targeted at any particular engine or calling convention. The class was copied over because of * CALCITE-4554. *

    Line 114 ~ 124: Calcite only supports timestamp type as period type, but Flink supports both Timestamp and TimestampLtz. Should be removed once calcite support TimestampLtz as period type.

    • Nested Class Summary

      • Nested classes/interfaces inherited from interface org.apache.calcite.rel.RelNode

        org.apache.calcite.rel.RelNode.Context
    • Field Summary

      • Fields inherited from class org.apache.calcite.rel.core.Snapshot

        hints
      • Fields inherited from class org.apache.calcite.rel.SingleRel

        input
      • Fields inherited from class org.apache.calcite.rel.AbstractRelNode

        digest, id, rowType, traitSet
    • Constructor Summary

      Constructors 
      Constructor Description
      LogicalSnapshot​(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traitSet, List<org.apache.calcite.rel.hint.RelHint> hints, org.apache.calcite.rel.RelNode input, org.apache.calcite.rex.RexNode period)
      Creates a LogicalSnapshot.
      LogicalSnapshot​(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traitSet, org.apache.calcite.rel.RelNode input, org.apache.calcite.rex.RexNode period)
      Creates a LogicalSnapshot.
      LogicalSnapshot​(org.apache.calcite.rel.RelInput input)
      Creates a LogicalSnapshot by parsing serialized output.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.apache.calcite.rel.core.Snapshot copy​(org.apache.calcite.plan.RelTraitSet traitSet, org.apache.calcite.rel.RelNode input, org.apache.calcite.rex.RexNode period)  
      static LogicalSnapshot create​(org.apache.calcite.rel.RelNode input, org.apache.calcite.rex.RexNode period)
      Creates a LogicalSnapshot.
      boolean isValid​(org.apache.calcite.util.Litmus litmus, org.apache.calcite.rel.RelNode.Context context)  
      org.apache.calcite.rel.RelNode withHints​(List<org.apache.calcite.rel.hint.RelHint> hintList)  
      • Methods inherited from class org.apache.calcite.rel.core.Snapshot

        accept, copy, explainTerms, getHints, getPeriod
      • Methods inherited from class org.apache.calcite.rel.SingleRel

        childrenAccept, deriveRowType, estimateRowCount, getInput, getInputs, replaceInput
      • Methods inherited from class org.apache.calcite.rel.AbstractRelNode

        accept, collectVariablesSet, collectVariablesUsed, computeSelfCost, deepEquals, deepHashCode, equals, explain, getCluster, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getRelDigest, getRelTypeName, getRowType, getTable, getTraitSet, getVariablesSet, hashCode, isEnforcer, metadata, onRegister, recomputeDigest, register, sole, toString
      • Methods inherited from interface org.apache.calcite.rel.hint.Hintable

        attachHints
      • Methods inherited from interface org.apache.calcite.rel.RelNode

        explain, fieldIsNullable
    • Constructor Detail

      • LogicalSnapshot

        public LogicalSnapshot​(org.apache.calcite.rel.RelInput input)
        Creates a LogicalSnapshot by parsing serialized output.
      • LogicalSnapshot

        public LogicalSnapshot​(org.apache.calcite.plan.RelOptCluster cluster,
                               org.apache.calcite.plan.RelTraitSet traitSet,
                               List<org.apache.calcite.rel.hint.RelHint> hints,
                               org.apache.calcite.rel.RelNode input,
                               org.apache.calcite.rex.RexNode period)
        Creates a LogicalSnapshot.

        Use create(org.apache.calcite.rel.RelNode, org.apache.calcite.rex.RexNode) unless you know what you're doing.

        Parameters:
        cluster - Cluster that this relational expression belongs to
        traitSet - The traits of this relational expression
        hints - Hints for this node
        input - Input relational expression
        period - Timestamp expression which as the table was at the given time in the past
      • LogicalSnapshot

        public LogicalSnapshot​(org.apache.calcite.plan.RelOptCluster cluster,
                               org.apache.calcite.plan.RelTraitSet traitSet,
                               org.apache.calcite.rel.RelNode input,
                               org.apache.calcite.rex.RexNode period)
        Creates a LogicalSnapshot.

        Use create(org.apache.calcite.rel.RelNode, org.apache.calcite.rex.RexNode) unless you know what you're doing.

        Parameters:
        cluster - Cluster that this relational expression belongs to
        traitSet - The traits of this relational expression
        input - Input relational expression
        period - Timestamp expression which as the table was at the given time in the past
    • Method Detail

      • copy

        public org.apache.calcite.rel.core.Snapshot copy​(org.apache.calcite.plan.RelTraitSet traitSet,
                                                         org.apache.calcite.rel.RelNode input,
                                                         org.apache.calcite.rex.RexNode period)
        Specified by:
        copy in class org.apache.calcite.rel.core.Snapshot
      • create

        public static LogicalSnapshot create​(org.apache.calcite.rel.RelNode input,
                                             org.apache.calcite.rex.RexNode period)
        Creates a LogicalSnapshot.
      • isValid

        public boolean isValid​(org.apache.calcite.util.Litmus litmus,
                               org.apache.calcite.rel.RelNode.Context context)
        Specified by:
        isValid in interface org.apache.calcite.rel.RelNode
        Overrides:
        isValid in class org.apache.calcite.rel.core.Snapshot
      • withHints

        public org.apache.calcite.rel.RelNode withHints​(List<org.apache.calcite.rel.hint.RelHint> hintList)