mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-15 02:41:59 +00:00
130 lines
3.3 KiB
C++
130 lines
3.3 KiB
C++
|
#pragma once
|
||
|
|
||
|
#include <Core/SettingsFields.h>
|
||
|
#include <DataStreams/SizeLimits.h>
|
||
|
#include <Formats/FormatSettings.h>
|
||
|
|
||
|
|
||
|
namespace DB
|
||
|
{
|
||
|
enum class LoadBalancing
|
||
|
{
|
||
|
/// among replicas with a minimum number of errors selected randomly
|
||
|
RANDOM = 0,
|
||
|
/// a replica is selected among the replicas with the minimum number of errors
|
||
|
/// with the minimum number of distinguished characters in the replica name and local hostname
|
||
|
NEAREST_HOSTNAME,
|
||
|
// replicas with the same number of errors are accessed in the same order
|
||
|
// as they are specified in the configuration.
|
||
|
IN_ORDER,
|
||
|
/// if first replica one has higher number of errors,
|
||
|
/// pick a random one from replicas with minimum number of errors
|
||
|
FIRST_OR_RANDOM,
|
||
|
// round robin across replicas with the same number of errors.
|
||
|
ROUND_ROBIN,
|
||
|
};
|
||
|
|
||
|
DECLARE_SETTING_ENUM(LoadBalancing)
|
||
|
|
||
|
|
||
|
enum class JoinStrictness
|
||
|
{
|
||
|
Unspecified = 0, /// Query JOIN without strictness will throw Exception.
|
||
|
ALL, /// Query JOIN without strictness -> ALL JOIN ...
|
||
|
ANY, /// Query JOIN without strictness -> ANY JOIN ...
|
||
|
};
|
||
|
|
||
|
DECLARE_SETTING_ENUM(JoinStrictness)
|
||
|
|
||
|
enum class JoinAlgorithm
|
||
|
{
|
||
|
AUTO = 0,
|
||
|
HASH,
|
||
|
PARTIAL_MERGE,
|
||
|
PREFER_PARTIAL_MERGE,
|
||
|
};
|
||
|
|
||
|
DECLARE_SETTING_ENUM(JoinAlgorithm)
|
||
|
|
||
|
|
||
|
enum class SpecialSort
|
||
|
{
|
||
|
NOT_SPECIFIED = 0,
|
||
|
OPENCL_BITONIC,
|
||
|
};
|
||
|
|
||
|
DECLARE_SETTING_ENUM(SpecialSort)
|
||
|
|
||
|
|
||
|
/// Which rows should be included in TOTALS.
|
||
|
enum class TotalsMode
|
||
|
{
|
||
|
BEFORE_HAVING = 0, /// Count HAVING for all read rows;
|
||
|
/// including those not in max_rows_to_group_by
|
||
|
/// and have not passed HAVING after grouping.
|
||
|
AFTER_HAVING_INCLUSIVE = 1, /// Count on all rows except those that have not passed HAVING;
|
||
|
/// that is, to include in TOTALS all the rows that did not pass max_rows_to_group_by.
|
||
|
AFTER_HAVING_EXCLUSIVE = 2, /// Include only the rows that passed and max_rows_to_group_by, and HAVING.
|
||
|
AFTER_HAVING_AUTO = 3, /// Automatically select between INCLUSIVE and EXCLUSIVE,
|
||
|
};
|
||
|
|
||
|
DECLARE_SETTING_ENUM(TotalsMode)
|
||
|
|
||
|
|
||
|
/// The settings keeps OverflowMode which cannot be OverflowMode::ANY.
|
||
|
DECLARE_SETTING_ENUM(OverflowMode)
|
||
|
|
||
|
/// The settings keeps OverflowMode which can be OverflowMode::ANY.
|
||
|
DECLARE_SETTING_ENUM_WITH_RENAME(OverflowModeGroupBy, OverflowMode)
|
||
|
|
||
|
|
||
|
/// The setting for executing distributed subqueries inside IN or JOIN sections.
|
||
|
enum class DistributedProductMode
|
||
|
{
|
||
|
DENY = 0, /// Disable
|
||
|
LOCAL, /// Convert to local query
|
||
|
GLOBAL, /// Convert to global query
|
||
|
ALLOW /// Enable
|
||
|
};
|
||
|
|
||
|
DECLARE_SETTING_ENUM(DistributedProductMode)
|
||
|
|
||
|
|
||
|
DECLARE_SETTING_ENUM_WITH_RENAME(DateTimeInputFormat, FormatSettings::DateTimeInputFormat)
|
||
|
|
||
|
|
||
|
enum class LogsLevel
|
||
|
{
|
||
|
none = 0, /// Disable
|
||
|
fatal,
|
||
|
error,
|
||
|
warning,
|
||
|
information,
|
||
|
debug,
|
||
|
trace,
|
||
|
};
|
||
|
|
||
|
DECLARE_SETTING_ENUM(LogsLevel)
|
||
|
|
||
|
|
||
|
// Make it signed for compatibility with DataTypeEnum8
|
||
|
enum QueryLogElementType : int8_t
|
||
|
{
|
||
|
QUERY_START = 1,
|
||
|
QUERY_FINISH = 2,
|
||
|
EXCEPTION_BEFORE_START = 3,
|
||
|
EXCEPTION_WHILE_PROCESSING = 4,
|
||
|
};
|
||
|
|
||
|
DECLARE_SETTING_ENUM_WITH_RENAME(LogQueriesType, QueryLogElementType)
|
||
|
|
||
|
|
||
|
enum class DefaultDatabaseEngine
|
||
|
{
|
||
|
Ordinary,
|
||
|
Atomic,
|
||
|
};
|
||
|
|
||
|
DECLARE_SETTING_ENUM(DefaultDatabaseEngine)
|
||
|
}
|