diff --git a/clickhouse-jdbc/src/main/java/com/clickhouse/jdbc/ClickHouseDatabaseMetaData.java b/clickhouse-jdbc/src/main/java/com/clickhouse/jdbc/ClickHouseDatabaseMetaData.java index 5ef00239c..ab22d9ab7 100644 --- a/clickhouse-jdbc/src/main/java/com/clickhouse/jdbc/ClickHouseDatabaseMetaData.java +++ b/clickhouse-jdbc/src/main/java/com/clickhouse/jdbc/ClickHouseDatabaseMetaData.java @@ -752,7 +752,7 @@ public ResultSet getTables(String catalog, String schemaPattern, String tableNam List results = new ArrayList<>(databases.size()); for (String database : databases) { Map params = new HashMap<>(); - params.put("comment", connection.getServerVersion().check("[20.8,)") ? "t.comment" : "''"); + params.put("comment", connection.getServerVersion().check("[21.6,)") ? "t.comment" : "''"); params.put("database", ClickHouseValues.convertToQuotedString(database)); params.put("table", ClickHouseChecker.isNullOrEmpty(tableNamePattern) ? "'%'" : ClickHouseValues.convertToQuotedString(tableNamePattern)); diff --git a/clickhouse-jdbc/src/test/java/com/clickhouse/jdbc/ClickHouseDatabaseMetaDataTest.java b/clickhouse-jdbc/src/test/java/com/clickhouse/jdbc/ClickHouseDatabaseMetaDataTest.java index bf294df05..fe8a16e6a 100644 --- a/clickhouse-jdbc/src/test/java/com/clickhouse/jdbc/ClickHouseDatabaseMetaDataTest.java +++ b/clickhouse-jdbc/src/test/java/com/clickhouse/jdbc/ClickHouseDatabaseMetaDataTest.java @@ -2,6 +2,8 @@ import java.sql.ResultSet; import java.sql.SQLException; +import java.sql.Statement; +import java.util.Locale; import java.util.Properties; import org.testng.Assert; @@ -18,4 +20,26 @@ public void testGetTypeInfo() throws SQLException { } } } + + @Test(groups = "integration") + public void testTableComment() throws SQLException { + String tableName = "test_table_comment"; + String tableComment = "table comments"; + try (ClickHouseConnection conn = newConnection(new Properties()); + Statement s = conn.createStatement()) { + // https://github.com/ClickHouse/ClickHouse/pull/30852 + if (!conn.getServerVersion().check("[21.6,)")) { + return; + } + + s.execute(String.format(Locale.ROOT, + "drop table if exists %1$s; create table %1$s(s String) engine=Memory comment '%2$s'", + tableName, tableComment)); + try (ResultSet rs = conn.getMetaData().getTables(null, "%", tableName, null)) { + Assert.assertTrue(rs.next()); + Assert.assertEquals(rs.getString("remarks"), tableComment); + Assert.assertFalse(rs.next()); + } + } + } }