Class KuduFilterRel

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

public class KuduFilterRel extends org.apache.calcite.rel.core.Filter 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 org.apache.kudu.Schema
     
     
    final boolean
     

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

    condition, hints

    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
    KuduFilterRel(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traitSet, org.apache.calcite.rel.RelNode child, org.apache.calcite.rex.RexNode condition, List<List<CalciteKuduPredicate>> predicates, org.apache.kudu.Schema kuduSchema, boolean useInMemoryFiltering)
     
  • 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)
     
    copy(org.apache.calcite.plan.RelTraitSet traitSet, org.apache.calcite.rel.RelNode input, org.apache.calcite.rex.RexNode condition)
     
    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.Filter

    accept, containsOver, copy, deepEquals0, deepHashCode0, estimateFilteredRows, estimateFilteredRows, estimateRowCount, getCondition, getHints, isValid

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

    childrenAccept, deriveRowType, 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, 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, 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

    • scanPredicates

      public final List<List<CalciteKuduPredicate>> scanPredicates
    • kuduSchema

      public final org.apache.kudu.Schema kuduSchema
    • useInMemoryFiltering

      public final boolean useInMemoryFiltering
  • Constructor Details

    • KuduFilterRel

      public KuduFilterRel(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traitSet, org.apache.calcite.rel.RelNode child, org.apache.calcite.rex.RexNode condition, List<List<CalciteKuduPredicate>> predicates, org.apache.kudu.Schema kuduSchema, boolean useInMemoryFiltering)
  • Method Details

    • 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.Filter
    • copy

      public KuduFilterRel copy(org.apache.calcite.plan.RelTraitSet traitSet, org.apache.calcite.rel.RelNode input, org.apache.calcite.rex.RexNode condition)
      Specified by:
      copy in class org.apache.calcite.rel.core.Filter
    • 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
    • explainTerms

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