in flink-cdc-common/src/main/java/org/apache/flink/cdc/common/types/utils/DataTypeUtils.java [43:84]
public static Class<?> toInternalConversionClass(DataType type) {
// ordered by type root definition
switch (type.getTypeRoot()) {
case CHAR:
case VARCHAR:
return StringData.class;
case BOOLEAN:
return Boolean.class;
case BINARY:
case VARBINARY:
return byte[].class;
case DECIMAL:
return DecimalData.class;
case TINYINT:
return Byte.class;
case SMALLINT:
return Short.class;
case INTEGER:
case DATE:
case TIME_WITHOUT_TIME_ZONE:
return Integer.class;
case BIGINT:
return Long.class;
case FLOAT:
return Float.class;
case DOUBLE:
return Double.class;
case TIMESTAMP_WITHOUT_TIME_ZONE:
case TIMESTAMP_WITH_LOCAL_TIME_ZONE:
return TimestampData.class;
case TIMESTAMP_WITH_TIME_ZONE:
return ZonedTimestampData.class;
case ARRAY:
return ArrayData.class;
case MAP:
return MapData.class;
case ROW:
return RecordData.class;
default:
throw new IllegalArgumentException("Illegal type: " + type);
}
}