1#pragma once
2
3#include <string>
4#include <unordered_map>
5
6#include <Parsers/IAST.h>
7
8
9namespace DB
10{
11
12enum class ColumnDefaultKind
13{
14 Default,
15 Materialized,
16 Alias
17};
18
19
20ColumnDefaultKind columnDefaultKindFromString(const std::string & str);
21std::string toString(const ColumnDefaultKind type);
22
23
24struct ColumnDefault
25{
26 ColumnDefaultKind kind = ColumnDefaultKind::Default;
27 ASTPtr expression;
28};
29
30
31bool operator==(const ColumnDefault & lhs, const ColumnDefault & rhs);
32
33
34using ColumnDefaults = std::unordered_map<std::string, ColumnDefault>;
35
36}
37