1#include "duckdb/common/exception.hpp"
2#include "duckdb/parser/tableref.hpp"
3#include "duckdb/parser/transformer.hpp"
4
5namespace duckdb {
6
7unique_ptr<TableRef> Transformer::TransformTableRefNode(duckdb_libpgquery::PGNode &n) {
8 auto stack_checker = StackCheck();
9
10 switch (n.type) {
11 case duckdb_libpgquery::T_PGRangeVar:
12 return TransformRangeVar(root&: PGCast<duckdb_libpgquery::PGRangeVar>(node&: n));
13 case duckdb_libpgquery::T_PGJoinExpr:
14 return TransformJoin(root&: PGCast<duckdb_libpgquery::PGJoinExpr>(node&: n));
15 case duckdb_libpgquery::T_PGRangeSubselect:
16 return TransformRangeSubselect(root&: PGCast<duckdb_libpgquery::PGRangeSubselect>(node&: n));
17 case duckdb_libpgquery::T_PGRangeFunction:
18 return TransformRangeFunction(root&: PGCast<duckdb_libpgquery::PGRangeFunction>(node&: n));
19 case duckdb_libpgquery::T_PGPivotExpr:
20 return TransformPivot(root&: PGCast<duckdb_libpgquery::PGPivotExpr>(node&: n));
21 default:
22 throw NotImplementedException("From Type %d not supported", n.type);
23 }
24}
25
26} // namespace duckdb
27