Java Code Examples for org.apache.flink.table.types.logical.VarCharType#getLength()
The following examples show how to use
org.apache.flink.table.types.logical.VarCharType#getLength() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: HiveTypeUtil.java From flink with Apache License 2.0 | 6 votes |
@Override public TypeInfo visit(VarCharType varCharType) { // Flink's StringType is defined as VARCHAR(Integer.MAX_VALUE) // We don't have more information in LogicalTypeRoot to distinguish StringType and a VARCHAR(Integer.MAX_VALUE) instance // Thus always treat VARCHAR(Integer.MAX_VALUE) as StringType if (varCharType.getLength() == Integer.MAX_VALUE) { return TypeInfoFactory.stringTypeInfo; } if (varCharType.getLength() > HiveVarchar.MAX_VARCHAR_LENGTH) { throw new CatalogException( String.format("HiveCatalog doesn't support varchar type with length of '%d'. " + "The maximum length is %d", varCharType.getLength(), HiveVarchar.MAX_VARCHAR_LENGTH)); } return TypeInfoFactory.getVarcharTypeInfo(varCharType.getLength()); }
Example 2
Source File: HiveTypeUtil.java From flink with Apache License 2.0 | 6 votes |
@Override public TypeInfo visit(VarCharType varCharType) { // Flink's StringType is defined as VARCHAR(Integer.MAX_VALUE) // We don't have more information in LogicalTypeRoot to distinguish StringType and a VARCHAR(Integer.MAX_VALUE) instance // Thus always treat VARCHAR(Integer.MAX_VALUE) as StringType if (varCharType.getLength() == Integer.MAX_VALUE) { return TypeInfoFactory.stringTypeInfo; } // Flink and Hive have different length limit for VARCHAR. Promote it to STRING if it exceeds the limits of // Hive and we're told not to check precision. This can be useful when calling Hive UDF to process data. if (varCharType.getLength() > HiveVarchar.MAX_VARCHAR_LENGTH || varCharType.getLength() < 1) { if (checkPrecision) { throw new CatalogException( String.format("HiveCatalog doesn't support varchar type with length of '%d'. " + "The supported length is [%d, %d]", varCharType.getLength(), 1, HiveVarchar.MAX_VARCHAR_LENGTH)); } else { return TypeInfoFactory.stringTypeInfo; } } return TypeInfoFactory.getVarcharTypeInfo(varCharType.getLength()); }
Example 3
Source File: LogicalTypeCasts.java From flink with Apache License 2.0 | 5 votes |
@Override public Boolean visit(VarCharType targetType) { if (sourceType.isNullable() && !targetType.isNullable()) { return false; } // CHAR and VARCHAR are very compatible within bounds if ((hasRoot(sourceType, LogicalTypeRoot.CHAR) || hasRoot(sourceType, LogicalTypeRoot.VARCHAR)) && getLength(sourceType) <= targetType.getLength()) { return true; } return defaultMethod(targetType); }
Example 4
Source File: LogicalTypeChecks.java From flink with Apache License 2.0 | 4 votes |
@Override public Integer visit(VarCharType varCharType) { return varCharType.getLength(); }
Example 5
Source File: LogicalTypeChecks.java From flink with Apache License 2.0 | 4 votes |
@Override public Integer visit(VarCharType varCharType) { return varCharType.getLength(); }