MCPcopy Create free account
hub / github.com/ClickHouse/ClickHouse / parseFromConfig

Method parseFromConfig

src/Access/UsersConfigAccessStorage.cpp:60–92  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

58}
59
60void UsersConfigAccessStorage::parseFromConfig(const Poco::Util::AbstractConfiguration & config)
61{
62 try
63 {
64 UsersConfigParser parser{access_control};
65 auto allowed_profile_ids = UsersConfigParser::getAllowedIDs(config, "profiles", AccessEntityType::SETTINGS_PROFILE);
66 auto role_ids_from_users_config = UsersConfigParser::getAllowedIDs(config, "roles", AccessEntityType::ROLE);
67
68 std::vector<std::pair<UUID, AccessEntityPtr>> all_entities;
69
70 for (const auto & entity : parser.parseUsers(config, allowed_profile_ids, role_ids_from_users_config))
71 all_entities.emplace_back(UsersConfigParser::generateID(*entity), entity);
72
73 for (const auto & entity : parser.parseQuotas(config))
74 all_entities.emplace_back(UsersConfigParser::generateID(*entity), entity);
75
76 for (const auto & entity : parser.parseRowPolicies(config))
77 all_entities.emplace_back(UsersConfigParser::generateID(*entity), entity);
78
79 for (const auto & entity : parser.parseSettingsProfiles(config, allowed_profile_ids))
80 all_entities.emplace_back(UsersConfigParser::generateID(*entity), entity);
81
82 for (const auto & entity : parser.parseRoles(config, role_ids_from_users_config))
83 all_entities.emplace_back(UsersConfigParser::generateID(*entity), entity);
84
85 memory_storage.setAll(all_entities);
86 }
87 catch (Exception & e)
88 {
89 e.addMessage(fmt::format("while loading {}", path.empty() ? "configuration" : ("configuration file " + quoteString(path))));
90 throw;
91 }
92}
93
94void UsersConfigAccessStorage::load(
95 const String & users_config_path,

Callers

nothing calls this directly

Calls 11

parseUsersMethod · 0.80
parseQuotasMethod · 0.80
parseRowPoliciesMethod · 0.80
parseSettingsProfilesMethod · 0.80
parseRolesMethod · 0.80
setAllMethod · 0.80
formatFunction · 0.50
quoteStringFunction · 0.50
emplace_backMethod · 0.45
addMessageMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected