aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/clickhouse/src/Core/BaseSettings.cpp
blob: 72a8070e6529b3c6931a11c575fc5c5dd218c736 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <Core/BaseSettings.h>
#include <IO/ReadHelpers.h>
#include <IO/WriteHelpers.h>
#include <Common/logger_useful.h>


namespace DB
{
namespace ErrorCodes
{
    extern const int UNKNOWN_SETTING;
}

void BaseSettingsHelpers::writeString(std::string_view str, WriteBuffer & out)
{
    writeStringBinary(str, out);
}


String BaseSettingsHelpers::readString(ReadBuffer & in)
{
    String str;
    readStringBinary(str, in);
    return str;
}


void BaseSettingsHelpers::writeFlags(Flags flags, WriteBuffer & out)
{
    writeVarUInt(flags, out);
}


BaseSettingsHelpers::Flags BaseSettingsHelpers::readFlags(ReadBuffer & in)
{
    UInt64 res;
    readVarUInt(res, in);
    return static_cast<Flags>(res);
}


void BaseSettingsHelpers::throwSettingNotFound(std::string_view name)
{
    throw Exception(ErrorCodes::UNKNOWN_SETTING, "Unknown setting {}", String{name});
}


void BaseSettingsHelpers::warningSettingNotFound(std::string_view name)
{
    static auto * log = &Poco::Logger::get("Settings");
    LOG_WARNING(log, "Unknown setting {}, skipping", name);
}

}