1#pragma once
2
3#include <Parsers/IAST.h>
4#include <Storages/MergeTree/PartDestinationType.h>
5
6
7namespace DB
8{
9/** Element of TTL expression.
10 */
11class ASTTTLElement : public IAST
12{
13public:
14 PartDestinationType destination_type;
15 String destination_name;
16
17 ASTTTLElement(PartDestinationType destination_type_, const String & destination_name_)
18 : destination_type(destination_type_)
19 , destination_name(destination_name_)
20 {
21 }
22
23 String getID(char) const override { return "TTLElement"; }
24
25 ASTPtr clone() const override
26 {
27 auto clone = std::make_shared<ASTTTLElement>(*this);
28 clone->cloneChildren();
29 return clone;
30 }
31
32protected:
33 void formatImpl(const FormatSettings & settings, FormatState & state, FormatStateStacked frame) const override;
34};
35
36}
37