From 69e0fa3603a6daa21e104d0d2ab5a5598c395195 Mon Sep 17 00:00:00 2001 From: Alsu <74852806+alsugiliazova@users.noreply.github.com> Date: Tue, 24 Mar 2026 15:07:39 +0000 Subject: [PATCH] Add support for conditional retrieval of Data Lake catalogs in system tables --- src/Interpreters/DatabaseCatalog.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/Interpreters/DatabaseCatalog.cpp b/src/Interpreters/DatabaseCatalog.cpp index f88615ca8429..24e57b5c1098 100644 --- a/src/Interpreters/DatabaseCatalog.cpp +++ b/src/Interpreters/DatabaseCatalog.cpp @@ -84,6 +84,7 @@ namespace Setting { extern const SettingsBool fsync_metadata; extern const SettingsBool allow_experimental_analyzer; + extern const SettingsBool show_data_lake_catalogs_in_system_tables; } namespace MergeTreeSetting @@ -2196,9 +2197,12 @@ std::pair TableNameHints::getExtendedHintForTable(const String & Names TableNameHints::getAllRegisteredNames() const { - if (database) - return database->getAllTableNames(context); - return {}; + if (!database) + return {}; + /// DataLakeCatalog::getAllTableNames lists all tables from remote catalog - expensive. Skip when user opted out. + if (database->isDatalakeCatalog() && context && !context->getSettingsRef()[Setting::show_data_lake_catalogs_in_system_tables]) + return {}; + return database->getAllTableNames(context); } }