Do not distinguish resource types for lazy database

This commit is contained in:
Francisco Javier Jurado Moreno 2024-05-22 07:06:19 +02:00
parent 04de82e965
commit a8fe7294d2

View File

@ -18,11 +18,15 @@
#include <Parsers/ASTCreateQuery.h>
#include <Parsers/ASTFunction.h>
#include <Storages/IStorage.h>
#include <Storages/Utils.h>
namespace fs = std::filesystem;
namespace CurrentMetrics
{
extern const Metric AttachedTable;
}
namespace DB
{
@ -181,7 +185,8 @@ void DatabaseLazy::attachTable(ContextPtr /* context_ */, const String & table_n
throw Exception(ErrorCodes::TABLE_ALREADY_EXISTS, "Table {}.{} already exists.", backQuote(database_name), backQuote(table_name));
it->second.expiration_iterator = cache_expiration_queue.emplace(cache_expiration_queue.end(), current_time, table_name);
CurrentMetrics::add(getAttachedCounterForStorage(table), 1);
CurrentMetrics::add(CurrentMetrics::AttachedTable, 1);
}
StoragePtr DatabaseLazy::detachTable(ContextPtr /* context */, const String & table_name)
@ -197,10 +202,7 @@ StoragePtr DatabaseLazy::detachTable(ContextPtr /* context */, const String & ta
if (it->second.expiration_iterator != cache_expiration_queue.end())
cache_expiration_queue.erase(it->second.expiration_iterator);
tables_cache.erase(it);
if (res != nullptr)
{
CurrentMetrics::sub(getAttachedCounterForStorage(res), 1);
}
CurrentMetrics::sub(CurrentMetrics::AttachedTable, 1);
}
return res;
}