Class 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

      All Methods Instance Methods Concrete Methods 
      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 comparer()  
      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)  
      Class 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 generateAccessor​(List<Integer> fields)  
      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 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 getFormat()  
      Type getJavaFieldType​(int field)  
      Type getJavaRowType()  
      org.apache.calcite.rel.type.RelDataType getRowType()  
      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)  
    • Constructor Detail

      • KuduPhysType

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

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