aboutsummaryrefslogtreecommitdiffstats
path: root/Plugins/SqlEnterpriseFormatter/formatcreateview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Plugins/SqlEnterpriseFormatter/formatcreateview.cpp')
-rw-r--r--Plugins/SqlEnterpriseFormatter/formatcreateview.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/Plugins/SqlEnterpriseFormatter/formatcreateview.cpp b/Plugins/SqlEnterpriseFormatter/formatcreateview.cpp
new file mode 100644
index 0000000..faec87a
--- /dev/null
+++ b/Plugins/SqlEnterpriseFormatter/formatcreateview.cpp
@@ -0,0 +1,26 @@
+#include "formatcreateview.h"
+#include "parser/ast/sqlitecreateview.h"
+#include "parser/ast/sqliteselect.h"
+
+FormatCreateView::FormatCreateView(SqliteCreateView* createView) :
+ createView(createView)
+{
+}
+
+void FormatCreateView::formatInternal()
+{
+ withKeyword("CREATE");
+ if (createView->tempKw)
+ withKeyword("TEMP");
+ else if (createView->temporaryKw)
+ withKeyword("TEMPORARY");
+
+ withKeyword("VIEW");
+ if (createView->ifNotExists)
+ withKeyword("IF").withKeyword("NOT").withKeyword("EXISTS");
+
+ if (dialect == Dialect::Sqlite3 && !createView->database.isNull())
+ withId(createView->database).withIdDot();
+
+ withId(createView->view).withKeyword("AS").withStatement(createView->select).withSemicolon();
+}