ClickHouse
38 строк · 1.4 Кб
1#include "ServerSettings.h"2#include <Poco/Util/AbstractConfiguration.h>3
4namespace DB5{
6
7IMPLEMENT_SETTINGS_TRAITS(ServerSettingsTraits, SERVER_SETTINGS)8
9void ServerSettings::loadSettingsFromConfig(const Poco::Util::AbstractConfiguration & config)10{
11// settings which can be loaded from the the default profile, see also MAKE_DEPRECATED_BY_SERVER_CONFIG in src/Core/Settings.h12std::unordered_set<std::string> settings_from_profile_allowlist = {13"background_pool_size",14"background_merges_mutations_concurrency_ratio",15"background_merges_mutations_scheduling_policy",16"background_move_pool_size",17"background_fetches_pool_size",18"background_common_pool_size",19"background_buffer_flush_schedule_pool_size",20"background_schedule_pool_size",21"background_message_broker_schedule_pool_size",22"background_distributed_schedule_pool_size",23
24"max_remote_read_network_bandwidth_for_server",25"max_remote_write_network_bandwidth_for_server",26};27
28for (const auto & setting : all())29{30const auto & name = setting.getName();31if (config.has(name))32set(name, config.getString(name));33else if (settings_from_profile_allowlist.contains(name) && config.has("profiles.default." + name))34set(name, config.getString("profiles.default." + name));35}36}
37
38}
39