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

Method fromConfig

programs/keeper-bench/Generator.cpp:53–75  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

51}
52
53NumberGetter
54NumberGetter::fromConfig(const std::string & key, const Poco::Util::AbstractConfiguration & config, std::optional<uint64_t> default_value)
55{
56 NumberGetter number_getter;
57
58 if (!config.has(key) && default_value.has_value())
59 {
60 number_getter.value = *default_value;
61 }
62 else if (config.has(key + ".min_value") && config.has(key + ".max_value"))
63 {
64 NumberRange range{.min_value = config.getUInt64(key + ".min_value"), .max_value = config.getUInt64(key + ".max_value")};
65 if (range.max_value <= range.min_value)
66 throw DB::Exception(DB::ErrorCodes::BAD_ARGUMENTS, "Range is invalid for key {}: [{}, {}]", key, range.min_value, range.max_value);
67 number_getter.value = range;
68 }
69 else
70 {
71 number_getter.value = config.getUInt64(key);
72 }
73
74 return number_getter;
75}
76
77std::string NumberGetter::description() const
78{

Callers

nothing calls this directly

Calls 12

keysMethod · 0.80
getFromConfigMethod · 0.80
ExceptionClass · 0.50
hasMethod · 0.45
getUInt64Method · 0.45
getStringMethod · 0.45
emptyMethod · 0.45
push_backMethod · 0.45
sizeMethod · 0.45
getWeightMethod · 0.45
reserveMethod · 0.45
backMethod · 0.45

Tested by

no test coverage detected