mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-13 01:41:59 +00:00
27 lines
1.0 KiB
C++
27 lines
1.0 KiB
C++
#include <Storages/System/StorageSystemQuotasUsage.h>
|
|
#include <Storages/System/StorageSystemQuotaUsage.h>
|
|
#include <Interpreters/Context.h>
|
|
#include <Access/AccessControl.h>
|
|
#include <Access/Common/AccessFlags.h>
|
|
#include <Access/QuotaUsage.h>
|
|
|
|
|
|
namespace DB
|
|
{
|
|
NamesAndTypesList StorageSystemQuotasUsage::getNamesAndTypes()
|
|
{
|
|
return StorageSystemQuotaUsage::getNamesAndTypesImpl(/* add_column_is_current = */ true);
|
|
}
|
|
|
|
void StorageSystemQuotasUsage::fillData(MutableColumns & res_columns, ContextPtr context, const SelectQueryInfo &) const
|
|
{
|
|
/// If "select_from_system_db_requires_grant" is enabled the access rights were already checked in InterpreterSelectQuery.
|
|
const auto & access_control = context->getAccessControl();
|
|
if (!access_control.doesSelectFromSystemDatabaseRequireGrant())
|
|
context->checkAccess(AccessType::SHOW_QUOTAS);
|
|
|
|
auto all_quotas_usage = context->getAccessControl().getAllQuotasUsage();
|
|
StorageSystemQuotaUsage::fillDataImpl(res_columns, context, /* add_column_is_current = */ true, all_quotas_usage);
|
|
}
|
|
}
|