diff --git a/plugin/trino-clickhouse/pom.xml b/plugin/trino-clickhouse/pom.xml
index d3e72668a3bb..f89fa046e3fb 100644
--- a/plugin/trino-clickhouse/pom.xml
+++ b/plugin/trino-clickhouse/pom.xml
@@ -15,7 +15,10 @@
Trino - ClickHouse connector
- true
+
+ false
diff --git a/plugin/trino-clickhouse/src/main/java/io/trino/plugin/clickhouse/ClickHouseClient.java b/plugin/trino-clickhouse/src/main/java/io/trino/plugin/clickhouse/ClickHouseClient.java
index 515ff2608117..27fce87e266f 100644
--- a/plugin/trino-clickhouse/src/main/java/io/trino/plugin/clickhouse/ClickHouseClient.java
+++ b/plugin/trino-clickhouse/src/main/java/io/trino/plugin/clickhouse/ClickHouseClient.java
@@ -89,7 +89,6 @@
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.sql.Connection;
-import java.sql.DatabaseMetaData;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
@@ -98,7 +97,6 @@
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZonedDateTime;
-import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
@@ -294,25 +292,25 @@ public boolean isTopNGuaranteed(ConnectorSession session)
return true;
}
- @Override
- public ResultSet getTables(Connection connection, Optional schemaName, Optional tableName)
- throws SQLException
- {
- // Clickhouse maps their "database" to SQL catalogs and does not have schemas
- DatabaseMetaData metadata = connection.getMetaData();
- return metadata.getTables(
- schemaName.orElse(null),
- null,
- escapeObjectNameForMetadataQuery(tableName, metadata.getSearchStringEscape()).orElse(null),
- getTableTypes().map(types -> types.toArray(String[]::new)).orElse(null));
- }
-
- @Override
- protected String getTableSchemaName(ResultSet resultSet)
- throws SQLException
- {
- return resultSet.getString("TABLE_CAT");
- }
+// @Override
+// public ResultSet getTables(Connection connection, Optional schemaName, Optional tableName)
+// throws SQLException
+// {
+// // Clickhouse maps their "database" to SQL catalogs and does not have schemas
+// DatabaseMetaData metadata = connection.getMetaData();
+// return metadata.getTables(
+// schemaName.orElse(null),
+// null,
+// escapeObjectNameForMetadataQuery(tableName, metadata.getSearchStringEscape()).orElse(null),
+// getTableTypes().map(types -> types.toArray(String[]::new)).orElse(null));
+// }
+//
+// @Override
+// protected String getTableSchemaName(ResultSet resultSet)
+// throws SQLException
+// {
+// return resultSet.getString("TABLE_CAT");
+// }
private static Optional toTypeHandle(DecimalType decimalType)
{
@@ -352,25 +350,25 @@ protected void copyTableSchema(ConnectorSession session, Connection connection,
}
}
- @Override
- public Collection listSchemas(Connection connection)
- {
- // for Clickhouse, we need to list catalogs instead of schemas
- try (ResultSet resultSet = connection.getMetaData().getCatalogs()) {
- ImmutableSet.Builder schemaNames = ImmutableSet.builder();
- while (resultSet.next()) {
- String schemaName = resultSet.getString("TABLE_CAT");
- // skip internal schemas
- if (filterSchema(schemaName)) {
- schemaNames.add(schemaName);
- }
- }
- return schemaNames.build();
- }
- catch (SQLException e) {
- throw new TrinoException(JDBC_ERROR, e);
- }
- }
+// @Override
+// public Collection listSchemas(Connection connection)
+// {
+// // for Clickhouse, we need to list catalogs instead of schemas
+// try (ResultSet resultSet = connection.getMetaData().getCatalogs()) {
+// ImmutableSet.Builder schemaNames = ImmutableSet.builder();
+// while (resultSet.next()) {
+// String schemaName = resultSet.getString("TABLE_CAT");
+// // skip internal schemas
+// if (filterSchema(schemaName)) {
+// schemaNames.add(schemaName);
+// }
+// }
+// return schemaNames.build();
+// }
+// catch (SQLException e) {
+// throw new TrinoException(JDBC_ERROR, e);
+// }
+// }
@Override
public Optional getTableComment(ResultSet resultSet)
diff --git a/plugin/trino-clickhouse/src/main/java/io/trino/plugin/clickhouse/ClickHouseClientModule.java b/plugin/trino-clickhouse/src/main/java/io/trino/plugin/clickhouse/ClickHouseClientModule.java
index 0f170a7ca599..899ee13fe1f9 100644
--- a/plugin/trino-clickhouse/src/main/java/io/trino/plugin/clickhouse/ClickHouseClientModule.java
+++ b/plugin/trino-clickhouse/src/main/java/io/trino/plugin/clickhouse/ClickHouseClientModule.java
@@ -13,7 +13,6 @@
*/
package io.trino.plugin.clickhouse;
-import com.clickhouse.jdbc.ClickHouseDriver;
import com.google.inject.Binder;
import com.google.inject.Module;
import com.google.inject.Provides;
@@ -70,7 +69,7 @@ public static ConnectionFactory createConnectionFactory(BaseJdbcConfig config, C
// https://github.com/ClickHouse/clickhouse-java/issues/1584
// in Clickhouse itself it has been left `true` by default only for backward compatibility.
properties.setProperty(PROP_EXTERNAL_DATABASE, "false");
- return new ClickHouseConnectionFactory(DriverConnectionFactory.builder(new ClickHouseDriver(), config.getConnectionUrl(), credentialProvider)
+ return new ClickHouseConnectionFactory(DriverConnectionFactory.builder(new com.clickhouse.jdbc.Driver(), config.getConnectionUrl(), credentialProvider)
.setConnectionProperties(properties)
.setOpenTelemetry(openTelemetry)
.build());
diff --git a/pom.xml b/pom.xml
index 7286768fe842..7c0d64280c00 100644
--- a/pom.xml
+++ b/pom.xml
@@ -381,8 +381,22 @@
com.clickhouse
clickhouse-jdbc
- 0.7.1-patch1
+ 0.9.2
all
+
+
+ com.google.guava
+ listenablefuture
+
+
+ org.roaringbitmap
+ RoaringBitmap
+
+
+ org.roaringbitmap
+ shims
+
+