public JdbcDeserializationConverter createInternalConverter()

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);
        }
    }