From 5af116834080440c1ecfe3b043458e35560656de Mon Sep 17 00:00:00 2001 From: alesapin Date: Fri, 10 Apr 2026 14:11:20 +0000 Subject: [PATCH] Merge pull request #100452 from alsugiliazova/fix_listing_on_drop DataLakeCatalog: avoid full catalog read for `UNKNOWN_TABLE` typo hints --- 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 88cf42f2cec2..8f331cec548b 100644 --- a/src/Interpreters/DatabaseCatalog.cpp +++ b/src/Interpreters/DatabaseCatalog.cpp @@ -87,6 +87,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 @@ -2236,9 +2237,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); } }