Search in sources :

Example 1 with JSON

use of io.trino.spi.type.StandardTypes.JSON in project trino by trinodb.

the class PostgreSqlClient method toColumnMapping.

@Override
public Optional<ColumnMapping> toColumnMapping(ConnectorSession session, Connection connection, JdbcTypeHandle typeHandle) {
    String jdbcTypeName = typeHandle.getJdbcTypeName().orElseThrow(() -> new TrinoException(JDBC_ERROR, "Type name is missing: " + typeHandle));
    Optional<ColumnMapping> mapping = getForcedMappingToVarchar(typeHandle);
    if (mapping.isPresent()) {
        return mapping;
    }
    switch(jdbcTypeName) {
        case "money":
            return Optional.of(moneyColumnMapping());
        case "uuid":
            return Optional.of(uuidColumnMapping());
        case "jsonb":
        case "json":
            return Optional.of(jsonColumnMapping());
        case "timestamptz":
            // PostgreSQL's "timestamp with time zone" is reported as Types.TIMESTAMP rather than Types.TIMESTAMP_WITH_TIMEZONE
            int decimalDigits = typeHandle.getRequiredDecimalDigits();
            return Optional.of(timestampWithTimeZoneColumnMapping(decimalDigits));
        case "hstore":
            return Optional.of(hstoreColumnMapping(session));
    }
    switch(typeHandle.getJdbcType()) {
        case Types.BIT:
            return Optional.of(booleanColumnMapping());
        case Types.SMALLINT:
            return Optional.of(smallintColumnMapping());
        case Types.INTEGER:
            return Optional.of(integerColumnMapping());
        case Types.BIGINT:
            return Optional.of(bigintColumnMapping());
        case Types.REAL:
            return Optional.of(realColumnMapping());
        case Types.DOUBLE:
            return Optional.of(doubleColumnMapping());
        case Types.NUMERIC:
            {
                int columnSize = typeHandle.getRequiredColumnSize();
                int precision;
                int decimalDigits = typeHandle.getDecimalDigits().orElse(0);
                if (getDecimalRounding(session) == ALLOW_OVERFLOW) {
                    if (columnSize == PRECISION_OF_UNSPECIFIED_DECIMAL) {
                        // decimal type with unspecified scale - up to 131072 digits before the decimal point; up to 16383 digits after the decimal point)
                        return Optional.of(decimalColumnMapping(createDecimalType(Decimals.MAX_PRECISION, getDecimalDefaultScale(session)), getDecimalRoundingMode(session)));
                    }
                    precision = columnSize;
                    if (precision > Decimals.MAX_PRECISION) {
                        int scale = min(decimalDigits, getDecimalDefaultScale(session));
                        return Optional.of(decimalColumnMapping(createDecimalType(Decimals.MAX_PRECISION, scale), getDecimalRoundingMode(session)));
                    }
                }
                // Map decimal(p, -s) (negative scale) to decimal(p+s, 0).
                precision = columnSize + max(-decimalDigits, 0);
                if (columnSize == PRECISION_OF_UNSPECIFIED_DECIMAL || precision > Decimals.MAX_PRECISION) {
                    break;
                }
                return Optional.of(decimalColumnMapping(createDecimalType(precision, max(decimalDigits, 0)), UNNECESSARY));
            }
        case Types.CHAR:
            return Optional.of(charColumnMapping(typeHandle.getRequiredColumnSize()));
        case Types.VARCHAR:
            if (!jdbcTypeName.equals("varchar")) {
                // This can be e.g. an ENUM
                return Optional.of(typedVarcharColumnMapping(jdbcTypeName));
            }
            return Optional.of(varcharColumnMapping(typeHandle.getRequiredColumnSize()));
        case Types.BINARY:
            return Optional.of(varbinaryColumnMapping());
        case Types.DATE:
            return Optional.of(ColumnMapping.longMapping(DATE, (resultSet, index) -> LocalDate.parse(resultSet.getString(index), DATE_FORMATTER).toEpochDay(), dateWriteFunctionUsingLocalDate()));
        case Types.TIME:
            return Optional.of(timeColumnMapping(typeHandle.getRequiredDecimalDigits()));
        case Types.TIMESTAMP:
            TimestampType timestampType = createTimestampType(typeHandle.getRequiredDecimalDigits());
            return Optional.of(ColumnMapping.longMapping(timestampType, timestampReadFunction(timestampType), PostgreSqlClient::shortTimestampWriteFunction));
        case Types.ARRAY:
            Optional<ColumnMapping> columnMapping = arrayToTrinoType(session, connection, typeHandle);
            if (columnMapping.isPresent()) {
                return columnMapping;
            }
            break;
    }
    if (getUnsupportedTypeHandling(session) == CONVERT_TO_VARCHAR) {
        return mapToUnboundedVarchar(typeHandle);
    }
    return Optional.empty();
}
Also used : UNNECESSARY(java.math.RoundingMode.UNNECESSARY) AggregateFunction(io.trino.spi.connector.AggregateFunction) StandardColumnMappings.bigintWriteFunction(io.trino.plugin.jdbc.StandardColumnMappings.bigintWriteFunction) LongTimestampWithTimeZone(io.trino.spi.type.LongTimestampWithTimeZone) PredicatePushdownController(io.trino.plugin.jdbc.PredicatePushdownController) NOT_SUPPORTED(io.trino.spi.StandardErrorCode.NOT_SUPPORTED) TableNotFoundException(io.trino.spi.connector.TableNotFoundException) TimestampWithTimeZoneType(io.trino.spi.type.TimestampWithTimeZoneType) Map(java.util.Map) StandardColumnMappings.fromTrinoTimestamp(io.trino.plugin.jdbc.StandardColumnMappings.fromTrinoTimestamp) DecimalSessionSessionProperties.getDecimalDefaultScale(io.trino.plugin.jdbc.DecimalSessionSessionProperties.getDecimalDefaultScale) BooleanReadFunction(io.trino.plugin.jdbc.BooleanReadFunction) ImplementStddevSamp(io.trino.plugin.jdbc.aggregation.ImplementStddevSamp) Domain(io.trino.spi.predicate.Domain) PreparedStatement(java.sql.PreparedStatement) Collectors.joining(java.util.stream.Collectors.joining) Stream(java.util.stream.Stream) StandardColumnMappings.longDecimalWriteFunction(io.trino.plugin.jdbc.StandardColumnMappings.longDecimalWriteFunction) CONVERT_TO_VARCHAR(io.trino.plugin.jdbc.UnsupportedTypeHandling.CONVERT_TO_VARCHAR) JdbcConnectorExpressionRewriterBuilder(io.trino.plugin.jdbc.expression.JdbcConnectorExpressionRewriterBuilder) TypeSignature.mapType(io.trino.spi.type.TypeSignature.mapType) JdbcTableHandle(io.trino.plugin.jdbc.JdbcTableHandle) REAL(io.trino.spi.type.RealType.REAL) ImplementCountDistinct(io.trino.plugin.jdbc.aggregation.ImplementCountDistinct) JoinCondition(io.trino.spi.connector.JoinCondition) LocalDateTime(java.time.LocalDateTime) ConnectorTableMetadata(io.trino.spi.connector.ConnectorTableMetadata) ImplementCovarianceSamp(io.trino.plugin.jdbc.aggregation.ImplementCovarianceSamp) StandardColumnMappings.bigintColumnMapping(io.trino.plugin.jdbc.StandardColumnMappings.bigintColumnMapping) TimestampType(io.trino.spi.type.TimestampType) ImplementVariancePop(io.trino.plugin.jdbc.aggregation.ImplementVariancePop) OptionalLong(java.util.OptionalLong) VARCHAR(io.trino.spi.type.VarcharType.VARCHAR) UuidType.javaUuidToTrinoUuid(io.trino.spi.type.UuidType.javaUuidToTrinoUuid) StandardColumnMappings.decimalColumnMapping(io.trino.plugin.jdbc.StandardColumnMappings.decimalColumnMapping) UuidType.trinoUuidToJavaUuid(io.trino.spi.type.UuidType.trinoUuidToJavaUuid) Timestamps.round(io.trino.spi.type.Timestamps.round) ConnectorExpressionRewriter(io.trino.plugin.base.expression.ConnectorExpressionRewriter) Math.floorDiv(java.lang.Math.floorDiv) RewriteComparison(io.trino.plugin.jdbc.expression.RewriteComparison) QueryBuilder(io.trino.plugin.jdbc.QueryBuilder) MapType(io.trino.spi.type.MapType) StandardTypes(io.trino.spi.type.StandardTypes) IOException(java.io.IOException) ImplementAvgDecimal(io.trino.plugin.jdbc.aggregation.ImplementAvgDecimal) DOUBLE(io.trino.spi.type.DoubleType.DOUBLE) IdentifierMapping(io.trino.plugin.jdbc.mapping.IdentifierMapping) ConnectorExpression(io.trino.spi.expression.ConnectorExpression) BlockBuilder(io.trino.spi.block.BlockBuilder) StandardColumnMappings.varbinaryWriteFunction(io.trino.plugin.jdbc.StandardColumnMappings.varbinaryWriteFunction) VarcharType.createVarcharType(io.trino.spi.type.VarcharType.createVarcharType) WriteMapping(io.trino.plugin.jdbc.WriteMapping) ArrayMapping(io.trino.plugin.postgresql.PostgreSqlConfig.ArrayMapping) Connection(java.sql.Connection) BiFunction(java.util.function.BiFunction) Array(java.sql.Array) ObjectWriteFunction(io.trino.plugin.jdbc.ObjectWriteFunction) Preconditions.checkArgument(com.google.common.base.Preconditions.checkArgument) Block(io.trino.spi.block.Block) TimestampType.createTimestampType(io.trino.spi.type.TimestampType.createTimestampType) ColumnMapping(io.trino.plugin.jdbc.ColumnMapping) JdbcMetadataSessionProperties.getDomainCompactionThreshold(io.trino.plugin.jdbc.JdbcMetadataSessionProperties.getDomainCompactionThreshold) IGNORE(io.trino.plugin.jdbc.UnsupportedTypeHandling.IGNORE) INTEGER(io.trino.spi.type.IntegerType.INTEGER) ImplementStddevPop(io.trino.plugin.jdbc.aggregation.ImplementStddevPop) TypeSignature(io.trino.spi.type.TypeSignature) ImmutableSet(com.google.common.collect.ImmutableSet) DecimalSessionSessionProperties.getDecimalRounding(io.trino.plugin.jdbc.DecimalSessionSessionProperties.getDecimalRounding) Timestamp(java.sql.Timestamp) StandardColumnMappings.realColumnMapping(io.trino.plugin.jdbc.StandardColumnMappings.realColumnMapping) LongMath(com.google.common.math.LongMath) UUID(java.util.UUID) Math.min(java.lang.Math.min) Instant(java.time.Instant) JdbcTypeHandle(io.trino.plugin.jdbc.JdbcTypeHandle) BIGINT(io.trino.spi.type.BigintType.BIGINT) INVALID_FUNCTION_ARGUMENT(io.trino.spi.StandardErrorCode.INVALID_FUNCTION_ARGUMENT) LocalDate(java.time.LocalDate) StandardColumnMappings.varcharReadFunction(io.trino.plugin.jdbc.StandardColumnMappings.varcharReadFunction) DecimalType(io.trino.spi.type.DecimalType) StandardColumnMappings.varbinaryColumnMapping(io.trino.plugin.jdbc.StandardColumnMappings.varbinaryColumnMapping) TimeType(io.trino.spi.type.TimeType) Math.floorMod(java.lang.Math.floorMod) StandardColumnMappings.varcharWriteFunction(io.trino.plugin.jdbc.StandardColumnMappings.varcharWriteFunction) DoubleReadFunction(io.trino.plugin.jdbc.DoubleReadFunction) DISABLED(io.trino.plugin.postgresql.PostgreSqlConfig.ArrayMapping.DISABLED) ImplementCorr(io.trino.plugin.jdbc.aggregation.ImplementCorr) Inject(javax.inject.Inject) ImmutableList(com.google.common.collect.ImmutableList) MILLISECONDS_PER_SECOND(io.trino.spi.type.Timestamps.MILLISECONDS_PER_SECOND) JsonTypeUtil.jsonParse(io.trino.plugin.base.util.JsonTypeUtil.jsonParse) ImplementMinMax(io.trino.plugin.jdbc.aggregation.ImplementMinMax) ImplementRegrIntercept(io.trino.plugin.jdbc.aggregation.ImplementRegrIntercept) PICOSECONDS_PER_DAY(io.trino.spi.type.Timestamps.PICOSECONDS_PER_DAY) LongTimestamp(io.trino.spi.type.LongTimestamp) StandardColumnMappings.integerWriteFunction(io.trino.plugin.jdbc.StandardColumnMappings.integerWriteFunction) StandardColumnMappings.dateWriteFunctionUsingLocalDate(io.trino.plugin.jdbc.StandardColumnMappings.dateWriteFunctionUsingLocalDate) DISABLE_PUSHDOWN(io.trino.plugin.jdbc.PredicatePushdownController.DISABLE_PUSHDOWN) TimestampWithTimeZoneType.createTimestampWithTimeZoneType(io.trino.spi.type.TimestampWithTimeZoneType.createTimestampWithTimeZoneType) DateTimeFormatter(java.time.format.DateTimeFormatter) TypeManager(io.trino.spi.type.TypeManager) ImplementCount(io.trino.plugin.jdbc.aggregation.ImplementCount) CharType.createCharType(io.trino.spi.type.CharType.createCharType) StandardColumnMappings.booleanColumnMapping(io.trino.plugin.jdbc.StandardColumnMappings.booleanColumnMapping) ResultSet(java.sql.ResultSet) StandardColumnMappings.doubleWriteFunction(io.trino.plugin.jdbc.StandardColumnMappings.doubleWriteFunction) ImplementVarianceSamp(io.trino.plugin.jdbc.aggregation.ImplementVarianceSamp) Slices.utf8Slice(io.airlift.slice.Slices.utf8Slice) SMALLINT(io.trino.spi.type.SmallintType.SMALLINT) TypeHandlingJdbcSessionProperties.getUnsupportedTypeHandling(io.trino.plugin.jdbc.TypeHandlingJdbcSessionProperties.getUnsupportedTypeHandling) PICOSECONDS_PER_MICROSECOND(io.trino.spi.type.Timestamps.PICOSECONDS_PER_MICROSECOND) UTC_KEY(io.trino.spi.type.TimeZoneKey.UTC_KEY) ImplementAvgFloatingPoint(io.trino.plugin.jdbc.aggregation.ImplementAvgFloatingPoint) DateTimeEncoding.packDateTimeWithZone(io.trino.spi.type.DateTimeEncoding.packDateTimeWithZone) LongWriteFunction(io.trino.plugin.jdbc.LongWriteFunction) ImplementCountAll(io.trino.plugin.jdbc.aggregation.ImplementCountAll) SchemaTableName(io.trino.spi.connector.SchemaTableName) TypeInfo(org.postgresql.core.TypeInfo) LongReadFunction(io.trino.plugin.jdbc.LongReadFunction) SingleMapBlock(io.trino.spi.block.SingleMapBlock) StandardColumnMappings.charReadFunction(io.trino.plugin.jdbc.StandardColumnMappings.charReadFunction) StandardColumnMappings.smallintWriteFunction(io.trino.plugin.jdbc.StandardColumnMappings.smallintWriteFunction) AggregateFunctionRewriter(io.trino.plugin.base.aggregation.AggregateFunctionRewriter) ConnectionFactory(io.trino.plugin.jdbc.ConnectionFactory) DateTimeEncoding.unpackMillisUtc(io.trino.spi.type.DateTimeEncoding.unpackMillisUtc) PostgreSqlSessionProperties.getArrayMapping(io.trino.plugin.postgresql.PostgreSqlSessionProperties.getArrayMapping) DATE(io.trino.spi.type.DateType.DATE) StandardColumnMappings.doubleColumnMapping(io.trino.plugin.jdbc.StandardColumnMappings.doubleColumnMapping) JSON(io.trino.spi.type.StandardTypes.JSON) Slice(io.airlift.slice.Slice) StandardColumnMappings.booleanWriteFunction(io.trino.plugin.jdbc.StandardColumnMappings.booleanWriteFunction) ALLOW_OVERFLOW(io.trino.plugin.jdbc.DecimalConfig.DecimalMapping.ALLOW_OVERFLOW) BOOLEAN(io.trino.spi.type.BooleanType.BOOLEAN) ArrayList(java.util.ArrayList) SQLException(java.sql.SQLException) TypeUtils.arrayDepth(io.trino.plugin.postgresql.TypeUtils.arrayDepth) FULL_PUSHDOWN(io.trino.plugin.jdbc.PredicatePushdownController.FULL_PUSHDOWN) StandardColumnMappings.charWriteFunction(io.trino.plugin.jdbc.StandardColumnMappings.charWriteFunction) PreparedQuery(io.trino.plugin.jdbc.PreparedQuery) ColumnHandle(io.trino.spi.connector.ColumnHandle) PostgreSqlSessionProperties.isEnableStringPushdownWithCollate(io.trino.plugin.postgresql.PostgreSqlSessionProperties.isEnableStringPushdownWithCollate) VARBINARY(io.trino.spi.type.VarbinaryType.VARBINARY) AggregateFunctionRule(io.trino.plugin.base.aggregation.AggregateFunctionRule) JsonTypeUtil.toJsonValue(io.trino.plugin.base.util.JsonTypeUtil.toJsonValue) AS_ARRAY(io.trino.plugin.postgresql.PostgreSqlConfig.ArrayMapping.AS_ARRAY) StandardColumnMappings.realWriteFunction(io.trino.plugin.jdbc.StandardColumnMappings.realWriteFunction) DecimalType.createDecimalType(io.trino.spi.type.DecimalType.createDecimalType) StandardColumnMappings.smallintColumnMapping(io.trino.plugin.jdbc.StandardColumnMappings.smallintColumnMapping) TypeUtils.getArrayElementPgTypeName(io.trino.plugin.postgresql.TypeUtils.getArrayElementPgTypeName) ConnectorSession(io.trino.spi.connector.ConnectorSession) CharType(io.trino.spi.type.CharType) DecimalSessionSessionProperties.getDecimalRoundingMode(io.trino.plugin.jdbc.DecimalSessionSessionProperties.getDecimalRoundingMode) TINYINT(io.trino.spi.type.TinyintType.TINYINT) StandardColumnMappings.shortDecimalWriteFunction(io.trino.plugin.jdbc.StandardColumnMappings.shortDecimalWriteFunction) JdbcExpression(io.trino.plugin.jdbc.JdbcExpression) JDBC_ERROR(io.trino.plugin.jdbc.JdbcErrorCode.JDBC_ERROR) BaseJdbcConfig(io.trino.plugin.jdbc.BaseJdbcConfig) ReadFunction(io.trino.plugin.jdbc.ReadFunction) DatabaseMetaData.columnNoNulls(java.sql.DatabaseMetaData.columnNoNulls) ImplementSum(io.trino.plugin.jdbc.aggregation.ImplementSum) UnsupportedTypeHandling(io.trino.plugin.jdbc.UnsupportedTypeHandling) LocalTime(java.time.LocalTime) ALREADY_EXISTS(io.trino.spi.StandardErrorCode.ALREADY_EXISTS) ImmutableMap(com.google.common.collect.ImmutableMap) TrinoException(io.trino.spi.TrinoException) ArrayType(io.trino.spi.type.ArrayType) ImplementRegrSlope(io.trino.plugin.jdbc.aggregation.ImplementRegrSlope) String.format(java.lang.String.format) JdbcSortItem(io.trino.plugin.jdbc.JdbcSortItem) TypeUtils.getJdbcObjectArray(io.trino.plugin.postgresql.TypeUtils.getJdbcObjectArray) List(java.util.List) OffsetDateTime(java.time.OffsetDateTime) Decimals(io.trino.spi.type.Decimals) Optional(java.util.Optional) Math.max(java.lang.Math.max) StandardColumnMappings.integerColumnMapping(io.trino.plugin.jdbc.StandardColumnMappings.integerColumnMapping) Types(java.sql.Types) SliceWriteFunction(io.trino.plugin.jdbc.SliceWriteFunction) Logger(io.airlift.log.Logger) StandardColumnMappings.tinyintWriteFunction(io.trino.plugin.jdbc.StandardColumnMappings.tinyintWriteFunction) PICOSECONDS_PER_NANOSECOND(io.trino.spi.type.Timestamps.PICOSECONDS_PER_NANOSECOND) ImplementCovariancePop(io.trino.plugin.jdbc.aggregation.ImplementCovariancePop) Type(io.trino.spi.type.Type) VarcharType.createUnboundedVarcharType(io.trino.spi.type.VarcharType.createUnboundedVarcharType) HashMap(java.util.HashMap) TimeType.createTimeType(io.trino.spi.type.TimeType.createTimeType) NANOSECONDS_PER_DAY(io.trino.spi.type.Timestamps.NANOSECONDS_PER_DAY) VarcharType(io.trino.spi.type.VarcharType) TypeUtils.toPgTimestamp(io.trino.plugin.postgresql.TypeUtils.toPgTimestamp) SliceReadFunction(io.trino.plugin.jdbc.SliceReadFunction) Verify.verify(com.google.common.base.Verify.verify) Objects.requireNonNull(java.util.Objects.requireNonNull) BaseJdbcClient(io.trino.plugin.jdbc.BaseJdbcClient) JdbcJoinCondition(io.trino.plugin.jdbc.JdbcJoinCondition) AS_JSON(io.trino.plugin.postgresql.PostgreSqlConfig.ArrayMapping.AS_JSON) PgConnection(org.postgresql.jdbc.PgConnection) JdbcColumnHandle(io.trino.plugin.jdbc.JdbcColumnHandle) NANOSECONDS_PER_MILLISECOND(io.trino.spi.type.Timestamps.NANOSECONDS_PER_MILLISECOND) ObjectReadFunction(io.trino.plugin.jdbc.ObjectReadFunction) StandardColumnMappings.timestampReadFunction(io.trino.plugin.jdbc.StandardColumnMappings.timestampReadFunction) Collections(java.util.Collections) TrinoException(io.trino.spi.TrinoException) TimestampType(io.trino.spi.type.TimestampType) TimestampType.createTimestampType(io.trino.spi.type.TimestampType.createTimestampType) StandardColumnMappings.bigintColumnMapping(io.trino.plugin.jdbc.StandardColumnMappings.bigintColumnMapping) StandardColumnMappings.decimalColumnMapping(io.trino.plugin.jdbc.StandardColumnMappings.decimalColumnMapping) ColumnMapping(io.trino.plugin.jdbc.ColumnMapping) StandardColumnMappings.realColumnMapping(io.trino.plugin.jdbc.StandardColumnMappings.realColumnMapping) StandardColumnMappings.varbinaryColumnMapping(io.trino.plugin.jdbc.StandardColumnMappings.varbinaryColumnMapping) StandardColumnMappings.booleanColumnMapping(io.trino.plugin.jdbc.StandardColumnMappings.booleanColumnMapping) StandardColumnMappings.doubleColumnMapping(io.trino.plugin.jdbc.StandardColumnMappings.doubleColumnMapping) StandardColumnMappings.smallintColumnMapping(io.trino.plugin.jdbc.StandardColumnMappings.smallintColumnMapping) StandardColumnMappings.integerColumnMapping(io.trino.plugin.jdbc.StandardColumnMappings.integerColumnMapping) ImplementAvgFloatingPoint(io.trino.plugin.jdbc.aggregation.ImplementAvgFloatingPoint)

Aggregations

Preconditions.checkArgument (com.google.common.base.Preconditions.checkArgument)1 Verify.verify (com.google.common.base.Verify.verify)1 ImmutableList (com.google.common.collect.ImmutableList)1 ImmutableMap (com.google.common.collect.ImmutableMap)1 ImmutableSet (com.google.common.collect.ImmutableSet)1 LongMath (com.google.common.math.LongMath)1 Logger (io.airlift.log.Logger)1 Slice (io.airlift.slice.Slice)1 Slices.utf8Slice (io.airlift.slice.Slices.utf8Slice)1 AggregateFunctionRewriter (io.trino.plugin.base.aggregation.AggregateFunctionRewriter)1 AggregateFunctionRule (io.trino.plugin.base.aggregation.AggregateFunctionRule)1 ConnectorExpressionRewriter (io.trino.plugin.base.expression.ConnectorExpressionRewriter)1 JsonTypeUtil.jsonParse (io.trino.plugin.base.util.JsonTypeUtil.jsonParse)1 JsonTypeUtil.toJsonValue (io.trino.plugin.base.util.JsonTypeUtil.toJsonValue)1 BaseJdbcClient (io.trino.plugin.jdbc.BaseJdbcClient)1 BaseJdbcConfig (io.trino.plugin.jdbc.BaseJdbcConfig)1 BooleanReadFunction (io.trino.plugin.jdbc.BooleanReadFunction)1 ColumnMapping (io.trino.plugin.jdbc.ColumnMapping)1 ConnectionFactory (io.trino.plugin.jdbc.ConnectionFactory)1 ALLOW_OVERFLOW (io.trino.plugin.jdbc.DecimalConfig.DecimalMapping.ALLOW_OVERFLOW)1