test_class.declarator: sources = {
        "A",
        "Column_Name",
        "COLUMN_NAME",
        "컬럼"
    }
test_class.original_string: String [] sources = {
        "A",
        "Column_Name",
        "COLUMN_NAME",
        "컬럼"
    };
test_class.type: String []
test_class.var_name: sources
test_class.declarator: normalized = {
        "a",
        "column_name",
        "column_name",
        "컬럼"
    }
test_class.original_string: String [] normalized = {
        "a",
        "column_name",
        "column_name",
        "컬럼"
    };
test_class.type: String []
test_class.var_name: normalized
test_class.file: tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestCatalogUtil.java
test_class.identifier: TestCatalogUtil
test_case.body: @Test
    public final void testIsCompatibleType() {
      assertFalse(CatalogUtil.isCompatibleType(Type.INT4, Type.INT8));
      assertTrue(CatalogUtil.isCompatibleType(Type.INT8, Type.INT4));
      assertFalse(CatalogUtil.isCompatibleType(Type.FLOAT4, Type.FLOAT8));
      assertTrue(CatalogUtil.isCompatibleType(Type.FLOAT8, Type.FLOAT4));
  
      assertFalse(CatalogUtil.isCompatibleType(Type.FLOAT8, Type.INT4));
  
      assertFalse(CatalogUtil.isCompatibleType(Type.FLOAT8_ARRAY, Type.TEXT_ARRAY));
      assertFalse(CatalogUtil.isCompatibleType(Type.TEXT_ARRAY, Type.FLOAT8_ARRAY));
    }
test_case.class_method_signature: TestCatalogUtil.testIsCompatibleType()
test_case.full_signature: @Test public final void testIsCompatibleType()
test_case.identifier: testIsCompatibleType
test_case.invocations: assertFalse isCompatibleType assertTrue isCompatibleType assertFalse isCompatibleType assertTrue isCompatibleType assertFalse isCompatibleType assertFalse isCompatibleType assertFalse isCompatibleType
test_case.modifiers: @Test public final
test_case.parameters: ()
test_case.return: void
test_case.signature: void testIsCompatibleType()
focal_class.declarator: RESERVED_KEYWORDS_SET = new HashSet<String>()
focal_class.modifier: public static final
focal_class.original_string: public static final Set<String> RESERVED_KEYWORDS_SET = new HashSet<String>();
focal_class.type: Set<String>
focal_class.var_name: RESERVED_KEYWORDS_SET
focal_class.declarator: RESERVED_KEYWORDS = {
        "AS", "ALL", "AND", "ANY", "ASYMMETRIC", "ASC",
        "BOTH",
        "CASE", "CAST", "CREATE", "CROSS",
        "DESC", "DISTINCT",
        "END", "ELSE", "EXCEPT",
        "FALSE", "FULL", "FROM",
        "GROUP",
        "HAVING",
        "ILIKE", "IN", "INNER", "INTERSECT", "INTO", "IS",
        "JOIN",
        "LEADING", "LEFT", "LIKE", "LIMIT",
        "NATURAL", "NOT", "NULL",
        "ON", "OUTER", "OR", "ORDER",
        "RIGHT",
        "SELECT", "SOME", "SYMMETRIC",
        "TABLE", "THEN", "TRAILING", "TRUE",
        "UNION", "UNIQUE", "USING",
        "WHEN", "WHERE", "WITH"
    }
focal_class.modifier: static final
focal_class.original_string: static final String [] RESERVED_KEYWORDS = {
        "AS", "ALL", "AND", "ANY", "ASYMMETRIC", "ASC",
        "BOTH",
        "CASE", "CAST", "CREATE", "CROSS",
        "DESC", "DISTINCT",
        "END", "ELSE", "EXCEPT",
        "FALSE", "FULL", "FROM",
        "GROUP",
        "HAVING",
        "ILIKE", "IN", "INNER", "INTERSECT", "INTO", "IS",
        "JOIN",
        "LEADING", "LEFT", "LIKE", "LIMIT",
        "NATURAL", "NOT", "NULL",
        "ON", "OUTER", "OR", "ORDER",
        "RIGHT",
        "SELECT", "SOME", "SYMMETRIC",
        "TABLE", "THEN", "TRAILING", "TRUE",
        "UNION", "UNIQUE", "USING",
        "WHEN", "WHERE", "WITH"
    };
focal_class.type: String []
focal_class.var_name: RESERVED_KEYWORDS
focal_class.file: tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java
focal_class.identifier: CatalogUtil
focal_class.class_method_signature: CatalogUtil.normalizeIdentifier(String identifier)
focal_class.full_signature: public static String normalizeIdentifier(String identifier)
focal_class.identifier: normalizeIdentifier
focal_class.modifiers: public static
focal_class.parameters: (String identifier)
focal_class.return: String
focal_class.signature: String normalizeIdentifier(String identifier)
focal_class.class_method_signature: CatalogUtil.normalizeIdentifierPart(String part)
focal_class.full_signature: public static String normalizeIdentifierPart(String part)
focal_class.identifier: normalizeIdentifierPart
focal_class.modifiers: public static
focal_class.parameters: (String part)
focal_class.return: String
focal_class.signature: String normalizeIdentifierPart(String part)
focal_class.class_method_signature: CatalogUtil.denormalizeIdentifier(String identifier)
focal_class.full_signature: public static String denormalizeIdentifier(String identifier)
focal_class.identifier: denormalizeIdentifier
focal_class.modifiers: public static
focal_class.parameters: (String identifier)
focal_class.return: String
focal_class.signature: String denormalizeIdentifier(String identifier)
focal_class.class_method_signature: CatalogUtil.denormalizePart(String identifier)
focal_class.full_signature: public static String denormalizePart(String identifier)
focal_class.identifier: denormalizePart
focal_class.modifiers: public static
focal_class.parameters: (String identifier)
focal_class.return: String
focal_class.signature: String denormalizePart(String identifier)
focal_class.class_method_signature: CatalogUtil.isShouldBeQuoted(String columnName)
focal_class.full_signature: public static boolean isShouldBeQuoted(String columnName)
focal_class.identifier: isShouldBeQuoted
focal_class.modifiers: public static
focal_class.parameters: (String columnName)
focal_class.return: boolean
focal_class.signature: boolean isShouldBeQuoted(String columnName)
focal_class.class_method_signature: CatalogUtil.stripQuote(String str)
focal_class.full_signature: public static String stripQuote(String str)
focal_class.identifier: stripQuote
focal_class.modifiers: public static
focal_class.parameters: (String str)
focal_class.return: String
focal_class.signature: String stripQuote(String str)
focal_class.class_method_signature: CatalogUtil.isDelimited(String identifier)
focal_class.full_signature: public static boolean isDelimited(String identifier)
focal_class.identifier: isDelimited
focal_class.modifiers: public static
focal_class.parameters: (String identifier)
focal_class.return: boolean
focal_class.signature: boolean isDelimited(String identifier)
focal_class.class_method_signature: CatalogUtil.isFQColumnName(String tableName)
focal_class.full_signature: public static boolean isFQColumnName(String tableName)
focal_class.identifier: isFQColumnName
focal_class.modifiers: public static
focal_class.parameters: (String tableName)
focal_class.return: boolean
focal_class.signature: boolean isFQColumnName(String tableName)
focal_class.class_method_signature: CatalogUtil.isFQTableName(String tableName)
focal_class.full_signature: public static boolean isFQTableName(String tableName)
focal_class.identifier: isFQTableName
focal_class.modifiers: public static
focal_class.parameters: (String tableName)
focal_class.return: boolean
focal_class.signature: boolean isFQTableName(String tableName)
focal_class.class_method_signature: CatalogUtil.splitFQTableName(String qualifiedName)
focal_class.full_signature: public static String [] splitFQTableName(String qualifiedName)
focal_class.identifier: splitFQTableName
focal_class.modifiers: public static
focal_class.parameters: (String qualifiedName)
focal_class.return: String []
focal_class.signature: String [] splitFQTableName(String qualifiedName)
focal_class.class_method_signature: CatalogUtil.splitTableName(String tableName)
focal_class.full_signature: public static String [] splitTableName(String tableName)
focal_class.identifier: splitTableName
focal_class.modifiers: public static
focal_class.parameters: (String tableName)
focal_class.return: String []
focal_class.signature: String [] splitTableName(String tableName)
focal_class.class_method_signature: CatalogUtil.buildFQName(String... identifiers)
focal_class.full_signature: public static String buildFQName(String... identifiers)
focal_class.identifier: buildFQName
focal_class.modifiers: public static
focal_class.parameters: (String... identifiers)
focal_class.return: String
focal_class.signature: String buildFQName(String... identifiers)
focal_class.class_method_signature: CatalogUtil.extractQualifier(String name)
focal_class.full_signature: public static String extractQualifier(String name)
focal_class.identifier: extractQualifier
focal_class.modifiers: public static
focal_class.parameters: (String name)
focal_class.return: String
focal_class.signature: String extractQualifier(String name)
focal_class.class_method_signature: CatalogUtil.extractSimpleName(String name)
focal_class.full_signature: public static String extractSimpleName(String name)
focal_class.identifier: extractSimpleName
focal_class.modifiers: public static
focal_class.parameters: (String name)
focal_class.return: String
focal_class.signature: String extractSimpleName(String name)
focal_class.class_method_signature: CatalogUtil.getCanonicalTableName(String databaseName, String tableName)
focal_class.full_signature: public static String getCanonicalTableName(String databaseName, String tableName)
focal_class.identifier: getCanonicalTableName
focal_class.modifiers: public static
focal_class.parameters: (String databaseName, String tableName)
focal_class.return: String
focal_class.signature: String getCanonicalTableName(String databaseName, String tableName)
focal_class.class_method_signature: CatalogUtil.getCanonicalSignature(String functionName, Collection<DataType> paramTypes)
focal_class.full_signature: public static String getCanonicalSignature(String functionName, Collection<DataType> paramTypes)
focal_class.identifier: getCanonicalSignature
focal_class.modifiers: public static
focal_class.parameters: (String functionName, Collection<DataType> paramTypes)
focal_class.return: String
focal_class.signature: String getCanonicalSignature(String functionName, Collection<DataType> paramTypes)
focal_class.class_method_signature: CatalogUtil.getCanonicalSignature(String signature, DataType... paramTypes)
focal_class.full_signature: public static String getCanonicalSignature(String signature, DataType... paramTypes)
focal_class.identifier: getCanonicalSignature
focal_class.modifiers: public static
focal_class.parameters: (String signature, DataType... paramTypes)
focal_class.return: String
focal_class.signature: String getCanonicalSignature(String signature, DataType... paramTypes)
focal_class.class_method_signature: CatalogUtil.getStoreType(final String typeStr)
focal_class.full_signature: public static StoreType getStoreType(final String typeStr)
focal_class.identifier: getStoreType
focal_class.modifiers: public static
focal_class.parameters: (final String typeStr)
focal_class.return: StoreType
focal_class.signature: StoreType getStoreType(final String typeStr)
focal_class.class_method_signature: CatalogUtil.newTableMeta(StoreType type)
focal_class.full_signature: public static TableMeta newTableMeta(StoreType type)
focal_class.identifier: newTableMeta
focal_class.modifiers: public static
focal_class.parameters: (StoreType type)
focal_class.return: TableMeta
focal_class.signature: TableMeta newTableMeta(StoreType type)
focal_class.class_method_signature: CatalogUtil.newTableMeta(StoreType type, Options options)
focal_class.full_signature: public static TableMeta newTableMeta(StoreType type, Options options)
focal_class.identifier: newTableMeta
focal_class.modifiers: public static
focal_class.parameters: (StoreType type, Options options)
focal_class.return: TableMeta
focal_class.signature: TableMeta newTableMeta(StoreType type, Options options)
focal_class.class_method_signature: CatalogUtil.newTableDesc(String tableName, Schema schema, TableMeta meta, Path path)
focal_class.full_signature: public static TableDesc newTableDesc(String tableName, Schema schema, TableMeta meta, Path path)
focal_class.identifier: newTableDesc
focal_class.modifiers: public static
focal_class.parameters: (String tableName, Schema schema, TableMeta meta, Path path)
focal_class.return: TableDesc
focal_class.signature: TableDesc newTableDesc(String tableName, Schema schema, TableMeta meta, Path path)
focal_class.class_method_signature: CatalogUtil.newTableDesc(TableDescProto proto)
focal_class.full_signature: public static TableDesc newTableDesc(TableDescProto proto)
focal_class.identifier: newTableDesc
focal_class.modifiers: public static
focal_class.parameters: (TableDescProto proto)
focal_class.return: TableDesc
focal_class.signature: TableDesc newTableDesc(TableDescProto proto)
focal_class.class_method_signature: CatalogUtil.newPartitionMethodDesc(CatalogProtos.PartitionMethodProto proto)
focal_class.full_signature: public static PartitionMethodDesc newPartitionMethodDesc(CatalogProtos.PartitionMethodProto proto)
focal_class.identifier: newPartitionMethodDesc
focal_class.modifiers: public static
focal_class.parameters: (CatalogProtos.PartitionMethodProto proto)
focal_class.return: PartitionMethodDesc
focal_class.signature: PartitionMethodDesc newPartitionMethodDesc(CatalogProtos.PartitionMethodProto proto)
focal_class.class_method_signature: CatalogUtil.getQualfiedSchema(String tableName, SchemaProto schema)
focal_class.full_signature: public static SchemaProto getQualfiedSchema(String tableName, SchemaProto schema)
focal_class.identifier: getQualfiedSchema
focal_class.modifiers: public static
focal_class.parameters: (String tableName, SchemaProto schema)
focal_class.return: SchemaProto
focal_class.signature: SchemaProto getQualfiedSchema(String tableName, SchemaProto schema)
focal_class.class_method_signature: CatalogUtil.newDataType(Type type, String code)
focal_class.full_signature: public static DataType newDataType(Type type, String code)
focal_class.identifier: newDataType
focal_class.modifiers: public static
focal_class.parameters: (Type type, String code)
focal_class.return: DataType
focal_class.signature: DataType newDataType(Type type, String code)
focal_class.class_method_signature: CatalogUtil.newDataType(Type type, String code, int len)
focal_class.full_signature: public static DataType newDataType(Type type, String code, int len)
focal_class.identifier: newDataType
focal_class.modifiers: public static
focal_class.parameters: (Type type, String code, int len)
focal_class.return: DataType
focal_class.signature: DataType newDataType(Type type, String code, int len)
focal_class.class_method_signature: CatalogUtil.newSimpleDataType(Type type)
focal_class.full_signature: public static DataType newSimpleDataType(Type type)
focal_class.identifier: newSimpleDataType
focal_class.modifiers: public static
focal_class.parameters: (Type type)
focal_class.return: DataType
focal_class.signature: DataType newSimpleDataType(Type type)
focal_class.class_method_signature: CatalogUtil.newSimpleDataTypeArray(Type... types)
focal_class.full_signature: public static DataType [] newSimpleDataTypeArray(Type... types)
focal_class.identifier: newSimpleDataTypeArray
focal_class.modifiers: public static
focal_class.parameters: (Type... types)
focal_class.return: DataType []
focal_class.signature: DataType [] newSimpleDataTypeArray(Type... types)
focal_class.class_method_signature: CatalogUtil.newDataTypeWithLen(Type type, int length)
focal_class.full_signature: public static DataType newDataTypeWithLen(Type type, int length)
focal_class.identifier: newDataTypeWithLen
focal_class.modifiers: public static
focal_class.parameters: (Type type, int length)
focal_class.return: DataType
focal_class.signature: DataType newDataTypeWithLen(Type type, int length)
focal_class.class_method_signature: CatalogUtil.columnToDDLString(Column column)
focal_class.full_signature: public static String columnToDDLString(Column column)
focal_class.identifier: columnToDDLString
focal_class.modifiers: public static
focal_class.parameters: (Column column)
focal_class.return: String
focal_class.signature: String columnToDDLString(Column column)
focal_class.class_method_signature: CatalogUtil.isArrayType(TajoDataTypes.Type type)
focal_class.full_signature: public static boolean isArrayType(TajoDataTypes.Type type)
focal_class.identifier: isArrayType
focal_class.modifiers: public static
focal_class.parameters: (TajoDataTypes.Type type)
focal_class.return: boolean
focal_class.signature: boolean isArrayType(TajoDataTypes.Type type)
focal_class.class_method_signature: CatalogUtil.isMatchedFunction(List<DataType> definedTypes, List<DataType> givenTypes)
focal_class.full_signature: public static boolean isMatchedFunction(List<DataType> definedTypes, List<DataType> givenTypes)
focal_class.identifier: isMatchedFunction
focal_class.modifiers: public static
focal_class.parameters: (List<DataType> definedTypes, List<DataType> givenTypes)
focal_class.return: boolean
focal_class.signature: boolean isMatchedFunction(List<DataType> definedTypes, List<DataType> givenTypes)
focal_class.class_method_signature: CatalogUtil.checkIfMatchedNonVarLengthFunction(List<DataType> definedTypes, List<DataType> givenTypes,
                                                             int n, boolean lastArrayCompatible)
focal_class.full_signature: public static boolean checkIfMatchedNonVarLengthFunction(List<DataType> definedTypes, List<DataType> givenTypes,
                                                             int n, boolean lastArrayCompatible)
focal_class.identifier: checkIfMatchedNonVarLengthFunction
focal_class.modifiers: public static
focal_class.parameters: (List<DataType> definedTypes, List<DataType> givenTypes,
                                                             int n, boolean lastArrayCompatible)
focal_class.return: boolean
focal_class.signature: boolean checkIfMatchedNonVarLengthFunction(List<DataType> definedTypes, List<DataType> givenTypes,
                                                             int n, boolean lastArrayCompatible)
focal_class.class_method_signature: CatalogUtil.checkIfCompatibleIncludingArray(Type defined, Type given)
focal_class.full_signature: public static boolean checkIfCompatibleIncludingArray(Type defined, Type given)
focal_class.identifier: checkIfCompatibleIncludingArray
focal_class.modifiers: public static
focal_class.parameters: (Type defined, Type given)
focal_class.return: boolean
focal_class.signature: boolean checkIfCompatibleIncludingArray(Type defined, Type given)
focal_class.class_method_signature: CatalogUtil.checkIfVariableLengthParamDefinition(List<DataType> definedTypes)
focal_class.full_signature: public static boolean checkIfVariableLengthParamDefinition(List<DataType> definedTypes)
focal_class.identifier: checkIfVariableLengthParamDefinition
focal_class.modifiers: public static
focal_class.parameters: (List<DataType> definedTypes)
focal_class.return: boolean
focal_class.signature: boolean checkIfVariableLengthParamDefinition(List<DataType> definedTypes)
focal_class.class_method_signature: CatalogUtil.getPrimitiveTypeOf(Type arrayType)
focal_class.full_signature: public static Type getPrimitiveTypeOf(Type arrayType)
focal_class.identifier: getPrimitiveTypeOf
focal_class.modifiers: public static
focal_class.parameters: (Type arrayType)
focal_class.return: Type
focal_class.signature: Type getPrimitiveTypeOf(Type arrayType)
focal_class.class_method_signature: CatalogUtil.isCompatibleType(final Type definedType, final Type givenType)
focal_class.full_signature: public static boolean isCompatibleType(final Type definedType, final Type givenType)
focal_class.identifier: isCompatibleType
focal_class.modifiers: public static
focal_class.parameters: (final Type definedType, final Type givenType)
focal_class.return: boolean
focal_class.signature: boolean isCompatibleType(final Type definedType, final Type givenType)
focal_class.class_method_signature: CatalogUtil.buildTableIdentifier(String databaseName, String tableName)
focal_class.full_signature: public static CatalogProtos.TableIdentifierProto buildTableIdentifier(String databaseName, String tableName)
focal_class.identifier: buildTableIdentifier
focal_class.modifiers: public static
focal_class.parameters: (String databaseName, String tableName)
focal_class.return: CatalogProtos.TableIdentifierProto
focal_class.signature: CatalogProtos.TableIdentifierProto buildTableIdentifier(String databaseName, String tableName)
focal_class.class_method_signature: CatalogUtil.closeQuietly(Connection conn)
focal_class.full_signature: public static void closeQuietly(Connection conn)
focal_class.identifier: closeQuietly
focal_class.modifiers: public static
focal_class.parameters: (Connection conn)
focal_class.return: void
focal_class.signature: void closeQuietly(Connection conn)
focal_class.class_method_signature: CatalogUtil.closeQuietly(Statement stmt)
focal_class.full_signature: public static void closeQuietly(Statement stmt)
focal_class.identifier: closeQuietly
focal_class.modifiers: public static
focal_class.parameters: (Statement stmt)
focal_class.return: void
focal_class.signature: void closeQuietly(Statement stmt)
focal_class.class_method_signature: CatalogUtil.closeQuietly(ResultSet res)
focal_class.full_signature: public static void closeQuietly(ResultSet res)
focal_class.identifier: closeQuietly
focal_class.modifiers: public static
focal_class.parameters: (ResultSet res)
focal_class.return: void
focal_class.signature: void closeQuietly(ResultSet res)
focal_class.class_method_signature: CatalogUtil.closeQuietly(Statement stmt, ResultSet res)
focal_class.full_signature: public static void closeQuietly(Statement stmt, ResultSet res)
focal_class.identifier: closeQuietly
focal_class.modifiers: public static
focal_class.parameters: (Statement stmt, ResultSet res)
focal_class.return: void
focal_class.signature: void closeQuietly(Statement stmt, ResultSet res)
focal_class.class_method_signature: CatalogUtil.renameColumn(String tableName, String oldColumName, String newColumName,
                                              AlterTableType alterTableType)
focal_class.full_signature: public static AlterTableDesc renameColumn(String tableName, String oldColumName, String newColumName,
                                              AlterTableType alterTableType)
focal_class.identifier: renameColumn
focal_class.modifiers: public static
focal_class.parameters: (String tableName, String oldColumName, String newColumName,
                                              AlterTableType alterTableType)
focal_class.return: AlterTableDesc
focal_class.signature: AlterTableDesc renameColumn(String tableName, String oldColumName, String newColumName,
                                              AlterTableType alterTableType)
focal_class.class_method_signature: CatalogUtil.renameTable(String tableName, String newTableName, AlterTableType alterTableType)
focal_class.full_signature: public static AlterTableDesc renameTable(String tableName, String newTableName, AlterTableType alterTableType)
focal_class.identifier: renameTable
focal_class.modifiers: public static
focal_class.parameters: (String tableName, String newTableName, AlterTableType alterTableType)
focal_class.return: AlterTableDesc
focal_class.signature: AlterTableDesc renameTable(String tableName, String newTableName, AlterTableType alterTableType)
focal_class.class_method_signature: CatalogUtil.addNewColumn(String tableName, Column column, AlterTableType alterTableType)
focal_class.full_signature: public static AlterTableDesc addNewColumn(String tableName, Column column, AlterTableType alterTableType)
focal_class.identifier: addNewColumn
focal_class.modifiers: public static
focal_class.parameters: (String tableName, Column column, AlterTableType alterTableType)
focal_class.return: AlterTableDesc
focal_class.signature: AlterTableDesc addNewColumn(String tableName, Column column, AlterTableType alterTableType)
focal_method.body: public static boolean isCompatibleType(final Type definedType, final Type givenType) {
      boolean flag = false;
      if (givenType == Type.NULL_TYPE) {
        flag = true;
      } else if (definedType == Type.ANY) {
        flag = true;
      } else if (givenType.getNumber() > definedType.getNumber()) {
        // NO POINT IN GOING FORWARD BECAUSE THE DATA TYPE CANNOT BE UPPER CASTED
        flag = false;
      } else {
        //argType.getNumber() < exitingType.getNumber()
        int exitingTypeNumber = definedType.getNumber();
        int argTypeNumber = givenType.getNumber();
  
        if (Type.INT1.getNumber() <= exitingTypeNumber && exitingTypeNumber <= Type.INT8.getNumber()) {
          // INT1 ==> INT2 ==> INT4 ==> INT8
          if (Type.INT1.getNumber() <= argTypeNumber && argTypeNumber <= exitingTypeNumber) {
            flag = true;
          }
        } else if (Type.UINT1.getNumber() <= exitingTypeNumber && exitingTypeNumber <= Type.UINT8.getNumber()) {
          // UINT1 ==> UINT2 ==> UINT4 ==> UINT8
          if (Type.UINT1.getNumber() <= argTypeNumber && argTypeNumber <= exitingTypeNumber) {
            flag = true;
          }
        } else if (Type.FLOAT4.getNumber() <= exitingTypeNumber && exitingTypeNumber <= Type.NUMERIC.getNumber()) {
          // FLOAT4 ==> FLOAT8 ==> NUMERIC ==> DECIMAL
          if (Type.FLOAT4.getNumber() <= argTypeNumber && argTypeNumber <= exitingTypeNumber) {
            flag = true;
          }
        } else if (Type.CHAR.getNumber() <= exitingTypeNumber && exitingTypeNumber <= Type.TEXT.getNumber()) {
          // CHAR ==> NCHAR ==> VARCHAR ==> NVARCHAR ==> TEXT
          if (Type.CHAR.getNumber() <= argTypeNumber && argTypeNumber <= exitingTypeNumber) {
            flag = true;
          }
        } else if (Type.BIT.getNumber() <= exitingTypeNumber && exitingTypeNumber <= Type.VARBINARY.getNumber()) {
          // BIT ==> VARBIT ==> BINARY ==> VARBINARY
          if (Type.BIT.getNumber() <= argTypeNumber && argTypeNumber <= exitingTypeNumber) {
            flag = true;
          }
        } else if (Type.INT1_ARRAY.getNumber() <= exitingTypeNumber
            && exitingTypeNumber <= Type.INT8_ARRAY.getNumber()) {
          // INT1_ARRAY ==> INT2_ARRAY ==> INT4_ARRAY ==> INT8_ARRAY
          if (Type.INT1_ARRAY.getNumber() <= argTypeNumber && argTypeNumber <= exitingTypeNumber) {
            flag = true;
          }
        } else if (Type.UINT1_ARRAY.getNumber() <= exitingTypeNumber
            && exitingTypeNumber <= Type.UINT8_ARRAY.getNumber()) {
          // UINT1_ARRAY ==> UINT2_ARRAY ==> UINT4_ARRAY ==> UINT8_ARRAY
          if (Type.UINT1_ARRAY.getNumber() <= argTypeNumber && argTypeNumber <= exitingTypeNumber) {
            flag = true;
          }
        } else if (Type.FLOAT4_ARRAY.getNumber() <= exitingTypeNumber
            && exitingTypeNumber <= Type.FLOAT8_ARRAY.getNumber()) {
          // FLOAT4_ARRAY ==> FLOAT8_ARRAY ==> NUMERIC_ARRAY ==> DECIMAL_ARRAY
          if (Type.FLOAT4_ARRAY.getNumber() <= argTypeNumber && argTypeNumber <= exitingTypeNumber) {
            flag = true;
          }
        } else if (Type.CHAR_ARRAY.getNumber() <= exitingTypeNumber
            && exitingTypeNumber <= Type.TEXT_ARRAY.getNumber()) {
          // CHAR_ARRAY ==> NCHAR_ARRAY ==> VARCHAR_ARRAY ==> NVARCHAR_ARRAY ==> TEXT_ARRAY
          if (Type.TEXT_ARRAY.getNumber() <= argTypeNumber && argTypeNumber <= exitingTypeNumber) {
            flag = true;
          }
        }
      }
      return flag;
    }
focal_method.class_method_signature: CatalogUtil.isCompatibleType(final Type definedType, final Type givenType)
focal_method.full_signature: public static boolean isCompatibleType(final Type definedType, final Type givenType)
focal_method.identifier: isCompatibleType
focal_method.invocations: getNumber getNumber getNumber getNumber getNumber getNumber getNumber getNumber getNumber getNumber getNumber getNumber getNumber getNumber getNumber getNumber getNumber getNumber getNumber getNumber getNumber getNumber getNumber getNumber getNumber getNumber getNumber getNumber getNumber getNumber getNumber
focal_method.modifiers: public static
focal_method.parameters: (final Type definedType, final Type givenType)
focal_method.return: boolean
focal_method.signature: boolean isCompatibleType(final Type definedType, final Type givenType)