ClickHouse/src/Interpreters/ExpressionActionsSettings.h

36 lines
882 B
C++
Raw Normal View History

2021-03-04 17:38:12 +00:00
#pragma once
#include <Interpreters/Context_fwd.h>
2021-08-16 11:30:56 +00:00
#include <Core/SettingsEnums.h>
2021-03-04 17:38:12 +00:00
#include <cstddef>
namespace DB
{
struct Settings;
2021-05-19 14:32:07 +00:00
enum class CompileExpressions: uint8_t
{
no = 0,
yes = 1,
};
2021-03-04 17:38:12 +00:00
struct ExpressionActionsSettings
{
2021-05-19 14:32:07 +00:00
bool can_compile_expressions = false;
2021-03-04 17:38:12 +00:00
size_t min_count_to_compile_expression = 0;
size_t max_temporary_columns = 0;
size_t max_temporary_non_const_columns = 0;
2021-05-19 14:32:07 +00:00
CompileExpressions compile_expressions = CompileExpressions::no;
2021-08-16 11:30:56 +00:00
ShortCircuitFunctionEvaluation short_circuit_function_evaluation = ShortCircuitFunctionEvaluation::DISABLE;
2021-04-22 15:14:58 +00:00
2021-05-19 14:32:07 +00:00
static ExpressionActionsSettings fromSettings(const Settings & from, CompileExpressions compile_expressions = CompileExpressions::no);
static ExpressionActionsSettings fromContext(ContextPtr from, CompileExpressions compile_expressions = CompileExpressions::no);
2021-03-04 17:38:12 +00:00
};
}