forked from alibaba/AliSQL
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtree_renderer.cpp
More file actions
27 lines (23 loc) · 874 Bytes
/
tree_renderer.cpp
File metadata and controls
27 lines (23 loc) · 874 Bytes
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
#include "duckdb/common/tree_renderer.hpp"
#include "duckdb/common/tree_renderer/text_tree_renderer.hpp"
#include "duckdb/common/tree_renderer/json_tree_renderer.hpp"
#include "duckdb/common/tree_renderer/html_tree_renderer.hpp"
#include "duckdb/common/tree_renderer/graphviz_tree_renderer.hpp"
#include <sstream>
namespace duckdb {
unique_ptr<TreeRenderer> TreeRenderer::CreateRenderer(ExplainFormat format) {
switch (format) {
case ExplainFormat::DEFAULT:
case ExplainFormat::TEXT:
return make_uniq<TextTreeRenderer>();
case ExplainFormat::JSON:
return make_uniq<JSONTreeRenderer>();
case ExplainFormat::HTML:
return make_uniq<HTMLTreeRenderer>();
case ExplainFormat::GRAPHVIZ:
return make_uniq<GRAPHVIZTreeRenderer>();
default:
throw NotImplementedException("ExplainFormat %s not implemented", EnumUtil::ToString(format));
}
}
} // namespace duckdb