java.lang.Object
org.apache.calcite.rel.AbstractRelNode
org.apache.calcite.rel.SingleRel
org.apache.druid.sql.calcite.rule.logical.Unnest
All Implemented Interfaces:
Cloneable, org.apache.calcite.plan.RelOptNode, org.apache.calcite.rel.RelNode
Direct Known Subclasses:
DruidUnnest, LogicalUnnest

public abstract class Unnest extends org.apache.calcite.rel.SingleRel
  • Nested Class Summary

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

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

    Fields
    Modifier and Type
    Field
    Description
    protected final org.apache.calcite.rex.RexNode
     
    protected final org.apache.calcite.rex.RexNode
     
    protected final org.apache.calcite.rel.type.RelDataTypeField
     

    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
    Modifier
    Constructor
    Description
    protected
    Unnest(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traits, org.apache.calcite.rel.RelNode input, org.apache.calcite.rex.RexNode unnestExpr, org.apache.calcite.rel.type.RelDataTypeField unnestFieldType, org.apache.calcite.rex.RexNode condition)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    final org.apache.calcite.rel.RelNode
    copy(org.apache.calcite.plan.RelTraitSet traitSet, List<org.apache.calcite.rel.RelNode> inputs)
     
    protected abstract org.apache.calcite.rel.RelNode
    copy(org.apache.calcite.plan.RelTraitSet traitSet, org.apache.calcite.rel.RelNode input)
     
    protected org.apache.calcite.rel.type.RelDataType
     
    org.apache.calcite.rel.RelWriter
    explainTerms(org.apache.calcite.rel.RelWriter pw)
     
    org.apache.calcite.rex.RexNode
     
    final org.apache.calcite.rex.RexNode
     

    Methods inherited from class org.apache.calcite.rel.SingleRel

    childrenAccept, estimateRowCount, getInput, getInputs, replaceInput

    Methods inherited from class org.apache.calcite.rel.AbstractRelNode

    accept, accept, collectVariablesSet, collectVariablesUsed, computeSelfCost, deepEquals, deepHashCode, equals, explain, getCluster, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getRelDigest, getRelTypeName, getRowType, getTable, getTraitSet, getVariablesSet, hashCode, isEnforcer, isValid, 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.RelNode

    explain, fieldIsNullable, stripped
  • Field Details

    • unnestExpr

      protected final org.apache.calcite.rex.RexNode unnestExpr
    • filter

      protected final org.apache.calcite.rex.RexNode filter
    • unnestFieldType

      protected final org.apache.calcite.rel.type.RelDataTypeField unnestFieldType
  • Constructor Details

    • Unnest

      protected Unnest(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traits, org.apache.calcite.rel.RelNode input, org.apache.calcite.rex.RexNode unnestExpr, org.apache.calcite.rel.type.RelDataTypeField unnestFieldType, org.apache.calcite.rex.RexNode condition)
  • Method Details

    • deriveRowType

      protected org.apache.calcite.rel.type.RelDataType deriveRowType()
      Overrides:
      deriveRowType in class org.apache.calcite.rel.SingleRel
    • getUnnestExpr

      public final org.apache.calcite.rex.RexNode getUnnestExpr()
    • getFilter

      public org.apache.calcite.rex.RexNode getFilter()
    • explainTerms

      public org.apache.calcite.rel.RelWriter explainTerms(org.apache.calcite.rel.RelWriter pw)
      Overrides:
      explainTerms in class org.apache.calcite.rel.SingleRel
    • copy

      public final org.apache.calcite.rel.RelNode copy(org.apache.calcite.plan.RelTraitSet traitSet, List<org.apache.calcite.rel.RelNode> inputs)
      Specified by:
      copy in interface org.apache.calcite.rel.RelNode
      Overrides:
      copy in class org.apache.calcite.rel.AbstractRelNode
    • copy

      protected abstract org.apache.calcite.rel.RelNode copy(org.apache.calcite.plan.RelTraitSet traitSet, org.apache.calcite.rel.RelNode input)