Class LogicalSnapshot

java.lang.Object
org.apache.calcite.rel.AbstractRelNode
org.apache.calcite.rel.SingleRel
org.apache.calcite.rel.core.Snapshot
org.apache.calcite.rel.logical.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

    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)
     
    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 class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.apache.calcite.rel.hint.Hintable

    attachHints

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

    explain, fieldIsNullable
  • Constructor Details

    • 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 Details

    • 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)