aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/clickhouse/src/Parsers/ParserExplainQuery.h
blob: 00e140e9c776c0eb247e47a9f725c697b6ef3b09 (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
#pragma once

#include <Parsers/IParserBase.h>

namespace DB
{


class ParserExplainQuery : public IParserBase
{
protected:
    const char * end;
    bool allow_settings_after_format_in_insert;
    bool select_only;

    const char * getName() const override { return "EXPLAIN"; }
    bool parseImpl(Pos & pos, ASTPtr & node, Expected & expected) override;
public:
    explicit ParserExplainQuery(const char* end_, bool allow_settings_after_format_in_insert_)
        : end(end_)
        , allow_settings_after_format_in_insert(allow_settings_after_format_in_insert_)
        , select_only(false)
    {}

    explicit ParserExplainQuery()
        : end(nullptr) , allow_settings_after_format_in_insert(false) , select_only(true)
    {}

};

}