Class TypeCoercionTest

    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private org.apache.calcite.rel.type.RelDataType arrayType​(org.apache.calcite.rel.type.RelDataType type)  
      private void checkCommonType​(org.apache.calcite.rel.type.RelDataType type1, org.apache.calcite.rel.type.RelDataType type2, org.apache.calcite.rel.type.RelDataType expected, boolean isSymmetric)
      Decision method for finding a common type.
      private void checkShouldCast​(org.apache.calcite.rel.type.RelDataType checked, java.util.List<org.apache.calcite.rel.type.RelDataType> types)  
      private void checkWiderType​(org.apache.calcite.rel.type.RelDataType type1, org.apache.calcite.rel.type.RelDataType type2, org.apache.calcite.rel.type.RelDataType expected, boolean stringPromotion, boolean isSymmetric)
      Decision method for finding a wider type.
      private static com.google.common.collect.ImmutableList<org.apache.calcite.rel.type.RelDataType> combine​(java.util.List<org.apache.calcite.rel.type.RelDataType> list0, java.util.List<org.apache.calcite.rel.type.RelDataType> list1)  
      private static com.google.common.collect.ImmutableList<org.apache.calcite.rel.type.RelDataType> combine​(java.util.List<org.apache.calcite.rel.type.RelDataType> list0, java.util.List<org.apache.calcite.rel.type.RelDataType> list1, java.util.List<org.apache.calcite.rel.type.RelDataType> list2)  
      private static boolean contains​(java.util.List<org.apache.calcite.rel.type.RelDataType> types, org.apache.calcite.rel.type.RelDataType type)  
      private org.apache.calcite.rel.type.RelDataType decimalType​(int precision, int scale)  
      private boolean equals​(java.lang.Object o1, java.lang.Object o2)  
      (package private) SqlTestFactory.MockCatalogReaderFactory getCatalogReaderFactory()  
      SqlTester getTester()
      Returns a tester.
      private void initializeCategoryTypes()  
      private void initializeSingleTypes()  
      private org.apache.calcite.rel.type.RelDataType mapType​(org.apache.calcite.rel.type.RelDataType keyType, org.apache.calcite.rel.type.RelDataType valType)  
      private org.apache.calcite.rel.type.RelDataType recordType​(java.lang.String name, org.apache.calcite.rel.type.RelDataType type)  
      private org.apache.calcite.rel.type.RelDataType recordType​(java.util.List<? extends java.util.Map.Entry<java.lang.String,​org.apache.calcite.rel.type.RelDataType>> pairs)  
      private void shouldCast​(org.apache.calcite.rel.type.RelDataType from, org.apache.calcite.sql.type.SqlTypeFamily family, org.apache.calcite.rel.type.RelDataType expected)
      Decision method for AbstractTypeCoercion.implicitCast(org.apache.calcite.rel.type.RelDataType, org.apache.calcite.sql.type.SqlTypeFamily).
      private void shouldNotCast​(org.apache.calcite.rel.type.RelDataType from, org.apache.calcite.sql.type.SqlTypeFamily family)  
      void testArithmeticExpressionsWithStrings()
      Test arithmetic expressions with string type arguments.
      void testBinaryComparisonCoercion()
      Test cases for binary comparison expressions.
      void testBuiltinFunctionCoercion()
      Test case for AbstractTypeCoercion.implicitCast(org.apache.calcite.rel.type.RelDataType, org.apache.calcite.sql.type.SqlTypeFamily).
      void testCaseWhen()
      Test case for case when expression and COALESCE operator.
      void testGetTightestCommonType()
      Test case for TypeCoercion.getTightestCommonType(org.apache.calcite.rel.type.RelDataType, org.apache.calcite.rel.type.RelDataType).
      void testImplicitCasts()
      Test case for AbstractTypeCoercion.implicitCast(org.apache.calcite.rel.type.RelDataType, org.apache.calcite.sql.type.SqlTypeFamily)
      void testSetOperations()
      Test set operations: UNION, INTERSECT, EXCEPT type coercion.
      void testWiderTypeFor()
      Test case for TypeCoercion.getWiderTypeForTwo(org.apache.calcite.rel.type.RelDataType, org.apache.calcite.rel.type.RelDataType, boolean) and TypeCoercion.getWiderTypeFor(java.util.List<org.apache.calcite.rel.type.RelDataType>, boolean)
      private java.lang.String toStringNullable​(java.lang.Object o1)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • typeCoercion

        private org.apache.calcite.sql.validate.implicit.TypeCoercion typeCoercion
      • dataTypeFactory

        private org.apache.calcite.rel.type.RelDataTypeFactory dataTypeFactory
      • numericTypes

        private com.google.common.collect.ImmutableList<org.apache.calcite.rel.type.RelDataType> numericTypes
      • atomicTypes

        private com.google.common.collect.ImmutableList<org.apache.calcite.rel.type.RelDataType> atomicTypes
      • allTypes

        private com.google.common.collect.ImmutableList<org.apache.calcite.rel.type.RelDataType> allTypes
      • charTypes

        private com.google.common.collect.ImmutableList<org.apache.calcite.rel.type.RelDataType> charTypes
      • binaryTypes

        private com.google.common.collect.ImmutableList<org.apache.calcite.rel.type.RelDataType> binaryTypes
      • booleanTypes

        private com.google.common.collect.ImmutableList<org.apache.calcite.rel.type.RelDataType> booleanTypes
      • nullType

        private org.apache.calcite.rel.type.RelDataType nullType
      • booleanType

        private org.apache.calcite.rel.type.RelDataType booleanType
      • tinyintType

        private org.apache.calcite.rel.type.RelDataType tinyintType
      • smallintType

        private org.apache.calcite.rel.type.RelDataType smallintType
      • intType

        private org.apache.calcite.rel.type.RelDataType intType
      • bigintType

        private org.apache.calcite.rel.type.RelDataType bigintType
      • floatType

        private org.apache.calcite.rel.type.RelDataType floatType
      • doubleType

        private org.apache.calcite.rel.type.RelDataType doubleType
      • decimalType

        private org.apache.calcite.rel.type.RelDataType decimalType
      • dateType

        private org.apache.calcite.rel.type.RelDataType dateType
      • timeType

        private org.apache.calcite.rel.type.RelDataType timeType
      • timestampType

        private org.apache.calcite.rel.type.RelDataType timestampType
      • binaryType

        private org.apache.calcite.rel.type.RelDataType binaryType
      • varbinaryType

        private org.apache.calcite.rel.type.RelDataType varbinaryType
      • charType

        private org.apache.calcite.rel.type.RelDataType charType
      • varcharType

        private org.apache.calcite.rel.type.RelDataType varcharType
      • varchar20Type

        private org.apache.calcite.rel.type.RelDataType varchar20Type
    • Constructor Detail

      • TypeCoercionTest

        public TypeCoercionTest()
    • Method Detail

      • initializeSingleTypes

        private void initializeSingleTypes()
      • initializeCategoryTypes

        private void initializeCategoryTypes()
      • arrayType

        private org.apache.calcite.rel.type.RelDataType arrayType​(org.apache.calcite.rel.type.RelDataType type)
      • mapType

        private org.apache.calcite.rel.type.RelDataType mapType​(org.apache.calcite.rel.type.RelDataType keyType,
                                                                org.apache.calcite.rel.type.RelDataType valType)
      • recordType

        private org.apache.calcite.rel.type.RelDataType recordType​(java.lang.String name,
                                                                   org.apache.calcite.rel.type.RelDataType type)
      • recordType

        private org.apache.calcite.rel.type.RelDataType recordType​(java.util.List<? extends java.util.Map.Entry<java.lang.String,​org.apache.calcite.rel.type.RelDataType>> pairs)
      • decimalType

        private org.apache.calcite.rel.type.RelDataType decimalType​(int precision,
                                                                    int scale)
      • shouldCast

        private void shouldCast​(org.apache.calcite.rel.type.RelDataType from,
                                org.apache.calcite.sql.type.SqlTypeFamily family,
                                org.apache.calcite.rel.type.RelDataType expected)
        Decision method for AbstractTypeCoercion.implicitCast(org.apache.calcite.rel.type.RelDataType, org.apache.calcite.sql.type.SqlTypeFamily).
      • shouldNotCast

        private void shouldNotCast​(org.apache.calcite.rel.type.RelDataType from,
                                   org.apache.calcite.sql.type.SqlTypeFamily family)
      • checkShouldCast

        private void checkShouldCast​(org.apache.calcite.rel.type.RelDataType checked,
                                     java.util.List<org.apache.calcite.rel.type.RelDataType> types)
      • contains

        private static boolean contains​(java.util.List<org.apache.calcite.rel.type.RelDataType> types,
                                        org.apache.calcite.rel.type.RelDataType type)
      • equals

        private boolean equals​(java.lang.Object o1,
                               java.lang.Object o2)
      • toStringNullable

        private java.lang.String toStringNullable​(java.lang.Object o1)
      • checkCommonType

        private void checkCommonType​(org.apache.calcite.rel.type.RelDataType type1,
                                     org.apache.calcite.rel.type.RelDataType type2,
                                     org.apache.calcite.rel.type.RelDataType expected,
                                     boolean isSymmetric)
        Decision method for finding a common type.
      • checkWiderType

        private void checkWiderType​(org.apache.calcite.rel.type.RelDataType type1,
                                    org.apache.calcite.rel.type.RelDataType type2,
                                    org.apache.calcite.rel.type.RelDataType expected,
                                    boolean stringPromotion,
                                    boolean isSymmetric)
        Decision method for finding a wider type.
      • combine

        private static com.google.common.collect.ImmutableList<org.apache.calcite.rel.type.RelDataType> combine​(java.util.List<org.apache.calcite.rel.type.RelDataType> list0,
                                                                                                                java.util.List<org.apache.calcite.rel.type.RelDataType> list1)
      • combine

        private static com.google.common.collect.ImmutableList<org.apache.calcite.rel.type.RelDataType> combine​(java.util.List<org.apache.calcite.rel.type.RelDataType> list0,
                                                                                                                java.util.List<org.apache.calcite.rel.type.RelDataType> list1,
                                                                                                                java.util.List<org.apache.calcite.rel.type.RelDataType> list2)
      • testGetTightestCommonType

        public void testGetTightestCommonType()
        Test case for TypeCoercion.getTightestCommonType(org.apache.calcite.rel.type.RelDataType, org.apache.calcite.rel.type.RelDataType).
      • testWiderTypeFor

        public void testWiderTypeFor()
        Test case for TypeCoercion.getWiderTypeForTwo(org.apache.calcite.rel.type.RelDataType, org.apache.calcite.rel.type.RelDataType, boolean) and TypeCoercion.getWiderTypeFor(java.util.List<org.apache.calcite.rel.type.RelDataType>, boolean)
      • testSetOperations

        public void testSetOperations()
        Test set operations: UNION, INTERSECT, EXCEPT type coercion.
      • testArithmeticExpressionsWithStrings

        public void testArithmeticExpressionsWithStrings()
        Test arithmetic expressions with string type arguments.
      • testBinaryComparisonCoercion

        public void testBinaryComparisonCoercion()
        Test cases for binary comparison expressions.
      • testCaseWhen

        public void testCaseWhen()
        Test case for case when expression and COALESCE operator.
      • testImplicitCasts

        public void testImplicitCasts()
        Test case for AbstractTypeCoercion.implicitCast(org.apache.calcite.rel.type.RelDataType, org.apache.calcite.sql.type.SqlTypeFamily)
      • testBuiltinFunctionCoercion

        public void testBuiltinFunctionCoercion()
        Test case for AbstractTypeCoercion.implicitCast(org.apache.calcite.rel.type.RelDataType, org.apache.calcite.sql.type.SqlTypeFamily).