in flink-cdc-runtime/src/main/java/org/apache/flink/cdc/runtime/typeutils/DataTypeConverter.java [84:127]
public static Class<?> convertOriginalClass(DataType dataType) {
switch (dataType.getTypeRoot()) {
case BOOLEAN:
return Boolean.class;
case TINYINT:
return Byte.class;
case SMALLINT:
return Short.class;
case INTEGER:
return Integer.class;
case BIGINT:
return Long.class;
case DATE:
return Integer.class;
case TIME_WITHOUT_TIME_ZONE:
return Integer.class;
case TIMESTAMP_WITHOUT_TIME_ZONE:
return TimestampData.class;
case TIMESTAMP_WITH_TIME_ZONE:
return ZonedTimestampData.class;
case TIMESTAMP_WITH_LOCAL_TIME_ZONE:
return LocalZonedTimestampData.class;
case FLOAT:
return Float.class;
case DOUBLE:
return Double.class;
case CHAR:
case VARCHAR:
return String.class;
case BINARY:
case VARBINARY:
return byte[].class;
case DECIMAL:
return DecimalData.class;
case ROW:
return Object.class;
case ARRAY:
return ArrayData.class;
case MAP:
return MapData.class;
default:
throw new UnsupportedOperationException("Unsupported type: " + dataType);
}
}