-
Notifications
You must be signed in to change notification settings - Fork 614
Closed
Labels
action:verifyarea:jdbc-metadataissue handling metadata things like getting type of columnissue handling metadata things like getting type of columnbugjdbc-v1JDBC driverJDBC driverjdbc-v2jdbc-v2 issuesjdbc-v2 issues
Milestone
Description
The database metadata object is throwing exceptions when fetching the server version.
Steps to reproduce
- Spin up a fresh Clickhouse test container
- Obtain a database connection to it
- call
connection.getMetadata().getDatabaseMajorVersion()
Expected behaviour
The version should be returned. Using the connection object to fetch version() using a prepared statement works fine.
Code example
container =
new ClickHouseContainer("clickhouse/clickhouse-server:22.2");
container.start();
try (var c = container.createConnection("?")) {
// executing the version fetch like this works
var r = c.prepareStatement("SELECT version() as server_version").executeQuery();
r.next();
var v = r.getString("server_version");
System.out.println(v);
// this fails
var v2 = c.getMetaData().getDatabaseMajorVersion();
System.out.println(v2);
}Error log
Caused by: java.sql.SQLException: Failed to retrieve server version.
at com.clickhouse.jdbc.ConnectionImpl.lambda$getServerVersion$0(ConnectionImpl.java:103)
at java.base/java.util.Optional.orElseThrow(Optional.java:403)
at com.clickhouse.jdbc.ConnectionImpl.getServerVersion(ConnectionImpl.java:103)
at com.clickhouse.jdbc.metadata.DatabaseMetaData.getDatabaseMajorVersion(DatabaseMetaData.java:1188)
Configuration
Environment
- Client version: jdbc 2
- Language version: java 21
- OS: linux
ClickHouse server
- ClickHouse Server version: 22.2.3.1
E1izabeth and Scared-Heart
Metadata
Metadata
Assignees
Labels
action:verifyarea:jdbc-metadataissue handling metadata things like getting type of columnissue handling metadata things like getting type of columnbugjdbc-v1JDBC driverJDBC driverjdbc-v2jdbc-v2 issuesjdbc-v2 issues