Class KuduPhysType

java.lang.Object
com.twilio.kudu.sql.KuduPhysType
All Implemented Interfaces:
org.apache.calcite.adapter.enumerable.PhysType

public final class KuduPhysType extends Object implements org.apache.calcite.adapter.enumerable.PhysType
A partially implemented implementation of PhysType. This class produces Expressions that take as input a RowResult and fetch various fields out of it. Primarily used to construct Function1 and Predicate1 that can be used filter and project the kudu rpc result.
  • Constructor Summary

    Constructors
    Constructor
    Description
    KuduPhysType(org.apache.kudu.Schema tableSchema, org.apache.calcite.rel.type.RelDataType logicalType, List<Integer> descendingSortedFieldIndices, List<Integer> kuduColumnProjections)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    List<org.apache.calcite.linq4j.tree.Expression>
    accessors(org.apache.calcite.linq4j.tree.Expression parameter, List<Integer> argList)
     
    org.apache.calcite.linq4j.tree.Expression
     
    org.apache.calcite.adapter.enumerable.PhysType
    component(int field)
     
    org.apache.calcite.linq4j.tree.Expression
    convertTo(org.apache.calcite.linq4j.tree.Expression expression, org.apache.calcite.adapter.enumerable.JavaRowFormat targetFormat)
     
    org.apache.calcite.linq4j.tree.Expression
    convertTo(org.apache.calcite.linq4j.tree.Expression expression, org.apache.calcite.adapter.enumerable.PhysType targetPhysType)
     
    org.apache.calcite.adapter.enumerable.PhysType
    field(int ordinal)
     
    fieldClass(int field)
     
    boolean
    fieldNullable(int index)
     
    org.apache.calcite.linq4j.tree.Expression
    fieldReference(org.apache.calcite.linq4j.tree.Expression expression, int ord)
     
    org.apache.calcite.linq4j.tree.Expression
    fieldReference(org.apache.calcite.linq4j.tree.Expression expression, int ord, Type storageType)
     
    org.apache.calcite.linq4j.tree.Expression
     
    org.apache.calcite.linq4j.tree.Expression
     
    org.apache.calcite.util.Pair<org.apache.calcite.linq4j.tree.Expression,org.apache.calcite.linq4j.tree.Expression>
    generateCollationKey(List<org.apache.calcite.rel.RelFieldCollation> collations)
     
    org.apache.calcite.linq4j.tree.Expression
    generateComparator(org.apache.calcite.rel.RelCollation collation)
     
    org.apache.calcite.linq4j.tree.Expression
    generateMergeJoinComparator(org.apache.calcite.rel.RelCollation relCollation)
     
    org.apache.calcite.linq4j.tree.Expression
    generateSelector(org.apache.calcite.linq4j.tree.ParameterExpression parameter, List<Integer> fields)
     
    org.apache.calcite.linq4j.tree.Expression
    generateSelector(org.apache.calcite.linq4j.tree.ParameterExpression parameter, List<Integer> fields, List<Integer> usedFields, org.apache.calcite.adapter.enumerable.JavaRowFormat targetFormat)
     
    org.apache.calcite.linq4j.tree.Expression
    generateSelector(org.apache.calcite.linq4j.tree.ParameterExpression parameter, List<Integer> fields, org.apache.calcite.adapter.enumerable.JavaRowFormat targetFormat)
     
    org.apache.calcite.adapter.enumerable.JavaRowFormat
     
    getJavaFieldType(int field)
     
     
    org.apache.calcite.rel.type.RelDataType
     
    org.apache.calcite.adapter.java.JavaTypeFactory
     
    org.apache.calcite.adapter.enumerable.PhysType
    makeNullable(boolean nullable)
     
    org.apache.calcite.adapter.enumerable.PhysType
    project(List<Integer> integers, boolean indicator, org.apache.calcite.adapter.enumerable.JavaRowFormat format)
     
    org.apache.calcite.adapter.enumerable.PhysType
    project(List<Integer> integers, org.apache.calcite.adapter.enumerable.JavaRowFormat format)
     
    org.apache.calcite.linq4j.tree.Expression
    record(List<org.apache.calcite.linq4j.tree.Expression> expressions)
     
    org.apache.calcite.util.Pair<Type,List<org.apache.calcite.linq4j.tree.Expression>>
    selector(org.apache.calcite.linq4j.tree.ParameterExpression parameter, List<Integer> fields, org.apache.calcite.adapter.enumerable.JavaRowFormat targetFormat)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • KuduPhysType

      public KuduPhysType(org.apache.kudu.Schema tableSchema, org.apache.calcite.rel.type.RelDataType logicalType, List<Integer> descendingSortedFieldIndices, List<Integer> kuduColumnProjections)
  • Method Details

    • getJavaRowType

      public Type getJavaRowType()
      Specified by:
      getJavaRowType in interface org.apache.calcite.adapter.enumerable.PhysType
    • getJavaFieldType

      public Type getJavaFieldType(int field)
      Specified by:
      getJavaFieldType in interface org.apache.calcite.adapter.enumerable.PhysType
    • getTypeFactory

      public org.apache.calcite.adapter.java.JavaTypeFactory getTypeFactory()
      Specified by:
      getTypeFactory in interface org.apache.calcite.adapter.enumerable.PhysType
    • field

      public org.apache.calcite.adapter.enumerable.PhysType field(int ordinal)
      Specified by:
      field in interface org.apache.calcite.adapter.enumerable.PhysType
    • component

      public org.apache.calcite.adapter.enumerable.PhysType component(int field)
      Specified by:
      component in interface org.apache.calcite.adapter.enumerable.PhysType
    • getRowType

      public org.apache.calcite.rel.type.RelDataType getRowType()
      Specified by:
      getRowType in interface org.apache.calcite.adapter.enumerable.PhysType
    • fieldClass

      public Class fieldClass(int field)
      Specified by:
      fieldClass in interface org.apache.calcite.adapter.enumerable.PhysType
    • fieldNullable

      public boolean fieldNullable(int index)
      Specified by:
      fieldNullable in interface org.apache.calcite.adapter.enumerable.PhysType
    • fieldReference

      public org.apache.calcite.linq4j.tree.Expression fieldReference(org.apache.calcite.linq4j.tree.Expression expression, int ord)
      Specified by:
      fieldReference in interface org.apache.calcite.adapter.enumerable.PhysType
    • fieldReference

      public org.apache.calcite.linq4j.tree.Expression fieldReference(org.apache.calcite.linq4j.tree.Expression expression, int ord, Type storageType)
      Specified by:
      fieldReference in interface org.apache.calcite.adapter.enumerable.PhysType
    • generateAccessor

      public org.apache.calcite.linq4j.tree.Expression generateAccessor(List<Integer> fields)
      Specified by:
      generateAccessor in interface org.apache.calcite.adapter.enumerable.PhysType
    • generateAccessorWithoutNulls

      public org.apache.calcite.linq4j.tree.Expression generateAccessorWithoutNulls(List<Integer> fields)
      Specified by:
      generateAccessorWithoutNulls in interface org.apache.calcite.adapter.enumerable.PhysType
    • generateSelector

      public org.apache.calcite.linq4j.tree.Expression generateSelector(org.apache.calcite.linq4j.tree.ParameterExpression parameter, List<Integer> fields)
      Specified by:
      generateSelector in interface org.apache.calcite.adapter.enumerable.PhysType
    • generateSelector

      public org.apache.calcite.linq4j.tree.Expression generateSelector(org.apache.calcite.linq4j.tree.ParameterExpression parameter, List<Integer> fields, org.apache.calcite.adapter.enumerable.JavaRowFormat targetFormat)
      Specified by:
      generateSelector in interface org.apache.calcite.adapter.enumerable.PhysType
    • generateSelector

      public org.apache.calcite.linq4j.tree.Expression generateSelector(org.apache.calcite.linq4j.tree.ParameterExpression parameter, List<Integer> fields, List<Integer> usedFields, org.apache.calcite.adapter.enumerable.JavaRowFormat targetFormat)
      Specified by:
      generateSelector in interface org.apache.calcite.adapter.enumerable.PhysType
    • selector

      public org.apache.calcite.util.Pair<Type,List<org.apache.calcite.linq4j.tree.Expression>> selector(org.apache.calcite.linq4j.tree.ParameterExpression parameter, List<Integer> fields, org.apache.calcite.adapter.enumerable.JavaRowFormat targetFormat)
      Specified by:
      selector in interface org.apache.calcite.adapter.enumerable.PhysType
    • project

      public org.apache.calcite.adapter.enumerable.PhysType project(List<Integer> integers, org.apache.calcite.adapter.enumerable.JavaRowFormat format)
      Specified by:
      project in interface org.apache.calcite.adapter.enumerable.PhysType
    • project

      public org.apache.calcite.adapter.enumerable.PhysType project(List<Integer> integers, boolean indicator, org.apache.calcite.adapter.enumerable.JavaRowFormat format)
      Specified by:
      project in interface org.apache.calcite.adapter.enumerable.PhysType
    • generateCollationKey

      public org.apache.calcite.util.Pair<org.apache.calcite.linq4j.tree.Expression,org.apache.calcite.linq4j.tree.Expression> generateCollationKey(List<org.apache.calcite.rel.RelFieldCollation> collations)
      Specified by:
      generateCollationKey in interface org.apache.calcite.adapter.enumerable.PhysType
    • generateComparator

      public org.apache.calcite.linq4j.tree.Expression generateComparator(org.apache.calcite.rel.RelCollation collation)
      Specified by:
      generateComparator in interface org.apache.calcite.adapter.enumerable.PhysType
    • generateMergeJoinComparator

      public org.apache.calcite.linq4j.tree.Expression generateMergeJoinComparator(org.apache.calcite.rel.RelCollation relCollation)
      Specified by:
      generateMergeJoinComparator in interface org.apache.calcite.adapter.enumerable.PhysType
    • comparer

      public org.apache.calcite.linq4j.tree.Expression comparer()
      Specified by:
      comparer in interface org.apache.calcite.adapter.enumerable.PhysType
    • record

      public org.apache.calcite.linq4j.tree.Expression record(List<org.apache.calcite.linq4j.tree.Expression> expressions)
      Specified by:
      record in interface org.apache.calcite.adapter.enumerable.PhysType
    • getFormat

      public org.apache.calcite.adapter.enumerable.JavaRowFormat getFormat()
      Specified by:
      getFormat in interface org.apache.calcite.adapter.enumerable.PhysType
    • accessors

      public List<org.apache.calcite.linq4j.tree.Expression> accessors(org.apache.calcite.linq4j.tree.Expression parameter, List<Integer> argList)
      Specified by:
      accessors in interface org.apache.calcite.adapter.enumerable.PhysType
    • makeNullable

      public org.apache.calcite.adapter.enumerable.PhysType makeNullable(boolean nullable)
      Specified by:
      makeNullable in interface org.apache.calcite.adapter.enumerable.PhysType
    • convertTo

      public org.apache.calcite.linq4j.tree.Expression convertTo(org.apache.calcite.linq4j.tree.Expression expression, org.apache.calcite.adapter.enumerable.PhysType targetPhysType)
      Specified by:
      convertTo in interface org.apache.calcite.adapter.enumerable.PhysType
    • convertTo

      public org.apache.calcite.linq4j.tree.Expression convertTo(org.apache.calcite.linq4j.tree.Expression expression, org.apache.calcite.adapter.enumerable.JavaRowFormat targetFormat)
      Specified by:
      convertTo in interface org.apache.calcite.adapter.enumerable.PhysType