aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/clickhouse/src/Interpreters/InterpreterExplainQuery.h
blob: ccfe8ec88a5d4160d9ebeb94ec0db6b8fad83755 (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
#pragma once

#include <Interpreters/IInterpreter.h>
#include <Parsers/IAST_fwd.h>
#include <Parsers/ASTExplainQuery.h>

namespace DB
{

/// Returns single row with explain results
class InterpreterExplainQuery : public IInterpreter, WithContext
{
public:
    InterpreterExplainQuery(const ASTPtr & query_, ContextPtr context_) : WithContext(context_), query(query_) { }

    BlockIO execute() override;

    static Block getSampleBlock(ASTExplainQuery::ExplainKind kind);

    bool supportsTransactions() const override { return true; }

private:
    ASTPtr query;

    QueryPipeline executeImpl();
};


}