Skip to content

Wrong value while reading from UInt64 column #828

@Blackmorse

Description

@Blackmorse

Clickhouse JDBC driver version: 0.3.2

CREATE TABLE default.test_table
(
    `a` UInt64
)
ENGINE = MergeTree
ORDER BY a;

INSERT INTO test_table VALUES (10223372036854775100)

(10223372036854775100 is larger than Long.MAX_VALUE)

SELECT *
FROM test_table

┌────────────────────a─┐
│ 10223372036854775100 │
└──────────────────────┘

I can't read the correct value neither with getString nor with getBigDecimal

Java code:

com.clickhouse.jdbc.ClickHouseDriver clickHouseDriver = new com.clickhouse.jdbc.ClickHouseDriver();
        try (Connection connection = clickHouseDriver.connect("jdbc:clickhouse://localhost:8123", new Properties())) {
            ResultSet resultSet = connection.createStatement().executeQuery("SELECT a from default.test_table");
            resultSet.next();
            System.out.println(resultSet.getBigDecimal(1));

            resultSet = connection.createStatement().executeQuery("SELECT a from default.test_table");
            resultSet.next();
            System.out.println(resultSet.getString(1));
        }

Output:

4363390689294640125
4363390689294640125

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions