| 1 | #include "duckdb/parser/statement/load_statement.hpp" |
|---|---|
| 2 | #include "duckdb/parser/transformer.hpp" |
| 3 | |
| 4 | namespace duckdb { |
| 5 | |
| 6 | unique_ptr<LoadStatement> Transformer::TransformLoad(duckdb_libpgquery::PGLoadStmt &stmt) { |
| 7 | D_ASSERT(stmt.type == duckdb_libpgquery::T_PGLoadStmt); |
| 8 | |
| 9 | auto load_stmt = make_uniq<LoadStatement>(); |
| 10 | auto load_info = make_uniq<LoadInfo>(); |
| 11 | load_info->filename = std::string(stmt.filename); |
| 12 | switch (stmt.load_type) { |
| 13 | case duckdb_libpgquery::PG_LOAD_TYPE_LOAD: |
| 14 | load_info->load_type = LoadType::LOAD; |
| 15 | break; |
| 16 | case duckdb_libpgquery::PG_LOAD_TYPE_INSTALL: |
| 17 | load_info->load_type = LoadType::INSTALL; |
| 18 | break; |
| 19 | case duckdb_libpgquery::PG_LOAD_TYPE_FORCE_INSTALL: |
| 20 | load_info->load_type = LoadType::FORCE_INSTALL; |
| 21 | break; |
| 22 | } |
| 23 | load_stmt->info = std::move(load_info); |
| 24 | return load_stmt; |
| 25 | } |
| 26 | |
| 27 | } // namespace duckdb |
| 28 |