Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

[jdbc-v2] `DataLakeCatalog` is not present in `getSchemas()` result or avoid using `system.*` where possible.

未关闭
#2,907 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
48/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
冷清
技术栈
java

调研方向

从 JDBC DatabaseMetaData getSchemas() 和 getTables() 入口点开始,在使用 DataLakeCatalog 引擎的数据库上复现该问题。将当前的 system.databases 查询与 SHOW DATABASES 进行比较,并验证涉及 DataLakeCatalog 的元数据调用不会产生文档中说明的访问错误;当预期的选项或行为已由测试覆盖时,该 issue 即完成。

由索引模型根据 Issue 内容生成。

描述

area:jdbc-metadata bug jdbc-v2

Description

Databases with engine DataLakeCatalog are not visible when requested via DataBaseMetadata because driver uses system.databases to fetch this information.

Workaround: show_data_lake_catalogs_in_system_tables=1 settings in session or profile.

Note

As SHOW DATABASES return better information - JDBC Driver should make it at least an option.

DBeaver and Metabase

When workaround applied these products getting exception trying to read tables information.
See https://clickhouse.com/docs/operations/settings/settings#database_datalake_require_metadata_access

2026-07-02T21:19:42+02:00 ERROR metabase.sync.fetch-metadata Error while fetching metadata with 'db-metadata',java.sql.SQLException: Code: 736. DB::Exception: Received error 736 while fetching table metadata for existing table 'product_analyst_team.vw_ap_integrations_2026'. If you want this error to be ignored, use database_datalake_require_metadata_access=0. Error: Code: 736. DB::Exception: Cannot read table `sandbox.product_analyst_team.vw_ap_integrations_2026` because it doesn't have storage location. It means that it's not a DeltaLake table, and it's unreadable with Unity catalog in ClickHouse. (...,	at com.clickhouse.jdbc.internal.ExceptionUtils.toSqlState(ExceptionUtils.java:68),	at com.clickhouse.jdbc.internal.ExceptionUtils.toSqlState(ExceptionUtils.java:43),	at com.clickhouse.jdbc.StatementImpl.executeQueryImpl(StatementImpl.java:196),	at com.clickhouse.jdbc.PreparedStatementImpl.executeQuery(PreparedStatementImpl.java:138),	at com.clickhouse.jdbc.metadata.DatabaseMetaDataImpl.getTables(DatabaseMetaDataImpl.java:998),	at com.mchange.v2.c3p0.impl.NewProxyDatabaseMetaData.getTables(NewProxyDatabaseMetaData.java:4174),	at metabase.driver.clickhouse_introspection$get_tables_from_metadata.invokeStatic(clickhouse_introspection.clj:109),	at metabase.driver.clickhouse_introspection$get_tables_from_metadata.invoke(clickhouse_introspection.clj:107),	at metabase.driver.clickhouse_introspection$get_all_tables_in_all_dbs$fn__173063.invoke(clickhouse_introspection.clj:128),	at metabase.driver.clickhouse$fn__173529$fn__173531.invoke(clickhouse.clj:102),	at metabase.driver.sql_jdbc.execute$do_with_resolved_connection.invokeStatic(execute.clj:366),	at metabase.driver.sql_jdbc.execute$do_with_resolved_connection.invoke(execute.clj:338),	at metabase.driver.clickhouse$fn__173529.invokeStatic(clickhouse.clj:79),	at metabase.driver.clickhouse$fn__173529.invoke(clickhouse.clj:77),	at clojure.lang.MultiFn.invoke(MultiFn.java:244),	at metabase.driver.clickhouse_introspection$get_all_tables_in_all_dbs.invokeStatic(clickhouse_introspection.clj:125),	at metabase.driver.clickhouse_introspection$get_all_tables_in_all_dbs.invoke(clickhouse_introspection.clj:119),	at metabase.driver.clickhouse_introspection$fn__173076.invokeStatic(clickhouse_introspection.clj:170),	at metabase.driver.clickhouse_introspection$fn__173076.invoke(clickhouse_introspection.clj:166)
2026-07-02T21:19:42+02:00 WARN metabase.sync.util Error in sync step Sync metadata for clickhouse Database 43 ''test-clickhouse-cloud'',java.sql.SQLException: Code: 736. DB::Exception: Received error 736 while fetching table metadata for existing table 'product_analyst_team.vw_ap_integrations_2026'. If you want this error to be ignored, use database_datalake_require_metadata_access=0. Error: Code: 736. DB::Exception: Cannot read table `sandbox.product_analyst_team.vw_ap_integrations_2026` because it doesn't have storage location. It means that it's not a DeltaLake table, and it's unreadable with Unity catalog in ClickHouse. (...,	at com.clickhouse.jdbc.internal.ExceptionUtils.toSqlState(ExceptionUtils.java:68),	at com.clickhouse.jdbc.internal.ExceptionUtils.toSqlState(ExceptionUtils.java:43),	at com.clickhouse.jdbc.StatementImpl.executeQueryImpl(StatementImpl.java:196),	at com.clickhouse.jdbc.PreparedStatementImpl.executeQuery(PreparedStatementImpl.java:138),	at com.clickhouse.jdbc.metadata.DatabaseMetaDataImpl.getTables(DatabaseMetaDataImpl.java:998),	at com.mchange.v2.c3p0.impl.NewProxyDatabaseMetaData.getTables(NewProxyDatabaseMetaData.java:4174),	at metabase.driver.clickhouse_introspection$get_tables_from_metadata.invokeStatic(clickhouse_introspection.clj:109),	at metabase.driver.clickhouse_introspection$get_tables_from_metadata.invoke(clickhouse_introspection.clj:107),	at metabase.driver.clickhouse_introspection$get_all_tables_in_all_dbs$fn__173063.invoke(clickhouse_introspection.clj:128),	at metabase.driver.clickhouse$fn__173529$fn__173531.invoke(clickhouse.clj:102),	at metabase.driver.sql_jdbc.execute$do_with_resolved_connection.invokeStatic(execute.clj:366),	at metabase.driver.sql_jdbc.execute$do_with_resolved_connection.invoke(execute.clj:338),	at metabase.driver.clickhouse$fn__173529.invokeStatic(clickhouse.clj:79),	at metabase.driver.clickhouse$fn__173529.invoke(clickhouse.clj:77),	at clojure.lang.MultiFn.invoke(MultiFn.java:244),	at metabase.driver.clickhouse_introspection$get_all_tables_in_all_dbs.invokeStatic(clickhouse_introspection.clj:125),	at metabase.driver.clickhouse_introspection$get_all_tables_in_all_dbs.invoke(clickhouse_introspection.clj:119),	at metabase.driver.clickhouse_introspection$fn__173076.invokeStatic(clickhouse_introspection.clj:170),	at metabase.driver.clickhouse_introspection$fn__173076.invoke(clickhouse_introspection.clj:166)
20

主要语言
Java
星标
1.6k
派生
637
平均合并
2 天 16 小时
30 天内合并 PR
30

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

ClickHouse/clickhouse-java 的其他 Issue

查看 ClickHouse/clickhouse-java 的全部 Issue

相似的 Issue

更多 Java Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。