in flink-connector-jdbc-trino/src/main/java/org/apache/flink/connector/jdbc/trino/database/dialect/TrinoDialectConverter.java [44:62]
public JdbcDeserializationConverter createInternalConverter(LogicalType type) {
switch (type.getTypeRoot()) {
case BIGINT:
return val -> val instanceof Number ? ((Number) val).longValue() : val;
case DECIMAL:
final int precision = ((DecimalType) type).getPrecision();
final int scale = ((DecimalType) type).getScale();
return val ->
val instanceof Number
? DecimalData.fromBigDecimal(
BigDecimal.valueOf(((Number) val).doubleValue()),
precision,
scale)
: val;
default:
return super.createInternalConverter(type);
}
}