diff --git a/Userland/Libraries/LibSQL/AST/AST.h b/Userland/Libraries/LibSQL/AST/AST.h index 855c0bbd26..cd9001cf31 100644 --- a/Userland/Libraries/LibSQL/AST/AST.h +++ b/Userland/Libraries/LibSQL/AST/AST.h @@ -666,11 +666,31 @@ private: //================================================================================================== class Statement : public ASTNode { +public: + virtual RefPtr execute(NonnullRefPtr) const { return nullptr; } }; class ErrorStatement final : public Statement { }; +class CreateSchema : public Statement { +public: + CreateSchema(String schema_name, bool is_error_if_schema_exists) + : m_schema_name(move(schema_name)) + , m_is_error_if_schema_exists(is_error_if_schema_exists) + { + } + + const String& schema_name() const { return m_schema_name; } + bool is_error_if_schema_exists() const { return m_is_error_if_schema_exists; } + + RefPtr execute(NonnullRefPtr) const override; + +private: + String m_schema_name; + bool m_is_error_if_schema_exists; +}; + class CreateTable : public Statement { public: CreateTable(String schema_name, String table_name, RefPtr