From cb943a2179cd8e33983eb086e05def3e3e60bc28 Mon Sep 17 00:00:00 2001 From: Timothy Flynn Date: Fri, 23 Apr 2021 13:37:47 -0400 Subject: [PATCH] LibSQL: Parse CREATE TABLE statements with a nested SELECT statement --- Userland/Libraries/LibSQL/AST.h | 16 ++++++++++++++++ Userland/Libraries/LibSQL/Parser.cpp | 5 ++++- .../LibSQL/Tests/TestSqlStatementParser.cpp | 13 +++++++++++++ 3 files changed, 33 insertions(+), 1 deletion(-) diff --git a/Userland/Libraries/LibSQL/AST.h b/Userland/Libraries/LibSQL/AST.h index 96f0e970dc..fe8ff4d443 100644 --- a/Userland/Libraries/LibSQL/AST.h +++ b/Userland/Libraries/LibSQL/AST.h @@ -664,6 +664,15 @@ class ErrorStatement final : public Statement { class CreateTable : public Statement { public: + CreateTable(String schema_name, String table_name, RefPtr& select_statement() const { return m_select_statement; } + + bool has_columns() const { return !m_columns.is_empty(); } const NonnullRefPtrVector columns() const { return m_columns; } + bool is_temporary() const { return m_is_temporary; } bool is_error_if_table_exists() const { return m_is_error_if_table_exists; } private: String m_schema_name; String m_table_name; + RefPtr