1//===----------------------------------------------------------------------===//
2// DuckDB
3//
4// duckdb/main/relation/explain_relation.hpp
5//
6//
7//===----------------------------------------------------------------------===//
8
9#pragma once
10
11#include "duckdb/main/relation.hpp"
12
13namespace duckdb {
14
15class ExplainRelation : public Relation {
16public:
17 explicit ExplainRelation(shared_ptr<Relation> child, ExplainType type = ExplainType::EXPLAIN_STANDARD);
18
19 shared_ptr<Relation> child;
20 vector<ColumnDefinition> columns;
21 ExplainType type;
22
23public:
24 BoundStatement Bind(Binder &binder) override;
25 const vector<ColumnDefinition> &Columns() override;
26 string ToString(idx_t depth) override;
27 bool IsReadOnly() override {
28 return false;
29 }
30};
31
32} // namespace duckdb
33