Class KuduSortRel

java.lang.Object
org.apache.calcite.rel.AbstractRelNode
org.apache.calcite.rel.SingleRel
org.apache.calcite.rel.core.Sort
com.twilio.kudu.sql.rel.KuduSortRel
All Implemented Interfaces:
KuduRelNode, Cloneable, org.apache.calcite.plan.RelOptNode, org.apache.calcite.rel.hint.Hintable, org.apache.calcite.rel.RelNode

public class KuduSortRel extends org.apache.calcite.rel.core.Sort implements KuduRelNode
  • Nested Class Summary

    Nested classes/interfaces inherited from interface com.twilio.kudu.sql.KuduRelNode

    KuduRelNode.Implementor

    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
    final boolean
     
    final boolean
     
    static final org.slf4j.Logger
     
    final List<Integer>
     

    Fields inherited from class org.apache.calcite.rel.core.Sort

    collation, fetch, hints, offset

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

    input

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

    digest, id, rowType, traitSet

    Fields inherited from interface com.twilio.kudu.sql.KuduRelNode

    CONVENTION
  • Constructor Summary

    Constructors
    Constructor
    Description
    KuduSortRel(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traitSet, org.apache.calcite.rel.RelNode child, org.apache.calcite.rel.RelCollation collation, org.apache.calcite.rex.RexNode offset, org.apache.calcite.rex.RexNode fetch, boolean groupBySorted, boolean groupByLimited, List<Integer> sortPkColumns)
     
    KuduSortRel(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traitSet, org.apache.calcite.rel.RelNode child, org.apache.calcite.rel.RelCollation collation, org.apache.calcite.rex.RexNode offset, org.apache.calcite.rex.RexNode fetch, List<Integer> sortPkColumns)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    org.apache.calcite.plan.RelOptCost
    computeSelfCost(org.apache.calcite.plan.RelOptPlanner planner, org.apache.calcite.rel.metadata.RelMetadataQuery mq)
     
    org.apache.calcite.rel.core.Sort
    copy(org.apache.calcite.plan.RelTraitSet traitSet, org.apache.calcite.rel.RelNode input, org.apache.calcite.rel.RelCollation newCollation, org.apache.calcite.rex.RexNode offset, org.apache.calcite.rex.RexNode fetch)
     
    org.apache.calcite.rel.RelWriter
    explainTerms(org.apache.calcite.rel.RelWriter pw)
     
    void
    Each KuduRelNode implementation will accept the KuduRelNode.Implementor and manipulate it.

    Methods inherited from class org.apache.calcite.rel.core.Sort

    accept, copy, copy, getCollation, getHints, getSortExps, isEnforcer

    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, deepEquals, deepHashCode, equals, explain, getCluster, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getRelDigest, getRelTypeName, getRowType, getTable, getTraitSet, getVariablesSet, hashCode, 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.hint.Hintable

    attachHints, withHints

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

    accept, accept, childrenAccept, collectVariablesSet, collectVariablesUsed, copy, deepEquals, deepHashCode, estimateRowCount, explain, explain, fieldIsNullable, getConvention, getCorrelVariable, getDigest, getExpectedInputRowType, getInput, getInputs, getRelDigest, getRelTypeName, getRowType, getTable, getVariablesSet, isEnforcer, isValid, metadata, onRegister, recomputeDigest, register, replaceInput, stripped

    Methods inherited from interface org.apache.calcite.plan.RelOptNode

    getCluster, getDescription, getId, getTraitSet
  • Field Details

    • LOGGER

      public static final org.slf4j.Logger LOGGER
    • groupBySorted

      public final boolean groupBySorted
    • groupByLimited

      public final boolean groupByLimited
    • sortPkColumns

      public final List<Integer> sortPkColumns
  • Constructor Details

    • KuduSortRel

      public KuduSortRel(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traitSet, org.apache.calcite.rel.RelNode child, org.apache.calcite.rel.RelCollation collation, org.apache.calcite.rex.RexNode offset, org.apache.calcite.rex.RexNode fetch, List<Integer> sortPkColumns)
    • KuduSortRel

      public KuduSortRel(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traitSet, org.apache.calcite.rel.RelNode child, org.apache.calcite.rel.RelCollation collation, org.apache.calcite.rex.RexNode offset, org.apache.calcite.rex.RexNode fetch, boolean groupBySorted, boolean groupByLimited, List<Integer> sortPkColumns)
  • Method Details

    • copy

      public org.apache.calcite.rel.core.Sort copy(org.apache.calcite.plan.RelTraitSet traitSet, org.apache.calcite.rel.RelNode input, org.apache.calcite.rel.RelCollation newCollation, org.apache.calcite.rex.RexNode offset, org.apache.calcite.rex.RexNode fetch)
      Specified by:
      copy in class org.apache.calcite.rel.core.Sort
    • explainTerms

      public org.apache.calcite.rel.RelWriter explainTerms(org.apache.calcite.rel.RelWriter pw)
      Overrides:
      explainTerms in class org.apache.calcite.rel.core.Sort
    • computeSelfCost

      public org.apache.calcite.plan.RelOptCost computeSelfCost(org.apache.calcite.plan.RelOptPlanner planner, org.apache.calcite.rel.metadata.RelMetadataQuery mq)
      Specified by:
      computeSelfCost in interface org.apache.calcite.rel.RelNode
      Overrides:
      computeSelfCost in class org.apache.calcite.rel.core.Sort
    • implement

      public void implement(KuduRelNode.Implementor implementor)
      Description copied from interface: KuduRelNode
      Each KuduRelNode implementation will accept the KuduRelNode.Implementor and manipulate it. The Implementor will then be used by the KuduToEnumerableConverter to create a Blocks that will be used to generate Byte code for the actual query.
      Specified by:
      implement in interface KuduRelNode
      Parameters:
      implementor - mutable implementator to store information on for the Kudu RPCs