in seatunnel-connectors-v2/connector-tdengine/src/main/java/org/apache/seatunnel/connectors/seatunnel/tdengine/typemapper/TDengineTypeMapper.java [85:154]
public static SeaTunnelDataType<?> mapping(String tdengineType) {
switch (tdengineType) {
case TDENGINE_BOOL:
case TDENGINE_BIT:
return BasicType.BOOLEAN_TYPE;
case TDENGINE_TINYINT:
case TDENGINE_TINYINT_UNSIGNED:
case TDENGINE_SMALLINT:
case TDENGINE_SMALLINT_UNSIGNED:
case TDENGINE_MEDIUMINT:
case TDENGINE_MEDIUMINT_UNSIGNED:
case TDENGINE_INT:
case TDENGINE_INTEGER:
case TDENGINE_YEAR:
return BasicType.INT_TYPE;
case TDENGINE_INT_UNSIGNED:
case TDENGINE_INTEGER_UNSIGNED:
case TDENGINE_BIGINT:
return BasicType.LONG_TYPE;
case TDENGINE_BIGINT_UNSIGNED:
return new DecimalType(20, 0);
case TDENGINE_DECIMAL:
log.warn("{} will probably cause value overflow.", TDENGINE_DECIMAL);
return new DecimalType(38, 18);
case TDENGINE_DECIMAL_UNSIGNED:
return new DecimalType(38, 18);
case TDENGINE_FLOAT:
return BasicType.FLOAT_TYPE;
case TDENGINE_FLOAT_UNSIGNED:
log.warn("{} will probably cause value overflow.", TDENGINE_FLOAT_UNSIGNED);
return BasicType.FLOAT_TYPE;
case TDENGINE_DOUBLE:
return BasicType.DOUBLE_TYPE;
case TDENGINE_DOUBLE_UNSIGNED:
log.warn("{} will probably cause value overflow.", TDENGINE_DOUBLE_UNSIGNED);
return BasicType.DOUBLE_TYPE;
case TDENGINE_CHAR:
case TDENGINE_NCHAR:
case TDENGINE_TINYTEXT:
case TDENGINE_MEDIUMTEXT:
case TDENGINE_TEXT:
case TDENGINE_VARCHAR:
case TDENGINE_JSON:
case TDENGINE_LONGTEXT:
return BasicType.STRING_TYPE;
case TDENGINE_DATE:
return LocalTimeType.LOCAL_DATE_TYPE;
case TDENGINE_TIME:
return LocalTimeType.LOCAL_TIME_TYPE;
case TDENGINE_DATETIME:
case TDENGINE_TIMESTAMP:
return LocalTimeType.LOCAL_DATE_TIME_TYPE;
case TDENGINE_TINYBLOB:
case TDENGINE_MEDIUMBLOB:
case TDENGINE_BLOB:
case TDENGINE_LONGBLOB:
case TDENGINE_VARBINARY:
case TDENGINE_BINARY:
return PrimitiveByteArrayType.INSTANCE;
// Doesn't support yet
case TDENGINE_GEOMETRY:
case TDENGINE_UNKNOWN:
default:
throw new TDengineConnectorException(
CommonErrorCodeDeprecated.UNSUPPORTED_DATA_TYPE,
String.format("Doesn't support TDENGINE type '%s' yet.", tdengineType));
}
}