in flink-cdc-connect/flink-cdc-source-connectors/flink-connector-db2-cdc/src/main/java/org/apache/flink/cdc/connectors/db2/source/utils/Db2TypeUtils.java [44:82]
private static DataType convertFromColumn(Column column) {
switch (column.jdbcType()) {
case Types.CHAR:
case Types.VARCHAR:
case Types.SQLXML:
case Types.CLOB:
return DataTypes.STRING();
case Types.BLOB:
case Types.BINARY:
case Types.VARBINARY:
return DataTypes.BYTES();
case Types.TINYINT:
case Types.SMALLINT:
return DataTypes.SMALLINT();
case Types.INTEGER:
return DataTypes.INT();
case Types.BIGINT:
return DataTypes.BIGINT();
case Types.FLOAT:
case Types.REAL:
return DataTypes.FLOAT();
case Types.DOUBLE:
return DataTypes.DOUBLE();
case Types.DECIMAL:
case Types.NUMERIC:
return DataTypes.DECIMAL(column.length(), column.scale().orElse(0));
case Types.DATE:
return DataTypes.DATE();
case Types.TIMESTAMP:
return column.length() >= 0
? DataTypes.TIMESTAMP(column.length())
: DataTypes.TIMESTAMP();
default:
throw new UnsupportedOperationException(
String.format(
"Don't support DB2 type '%s' yet, jdbcType:'%s'.",
column.typeName(), column.jdbcType()));
}
}