aboutsummaryrefslogtreecommitdiffstats
path: root/Plugins/SqlEnterpriseFormatter/formatdelete.cpp
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@ubuntu.com>2014-12-06 17:33:25 -0500
committerLibravatarUnit 193 <unit193@ubuntu.com>2014-12-06 17:33:25 -0500
commit7167ce41b61d2ba2cdb526777a4233eb84a3b66a (patch)
treea35c14143716e1f2c98f808c81f89426045a946f /Plugins/SqlEnterpriseFormatter/formatdelete.cpp
Imported Upstream version 2.99.6upstream/2.99.6
Diffstat (limited to 'Plugins/SqlEnterpriseFormatter/formatdelete.cpp')
-rw-r--r--Plugins/SqlEnterpriseFormatter/formatdelete.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/Plugins/SqlEnterpriseFormatter/formatdelete.cpp b/Plugins/SqlEnterpriseFormatter/formatdelete.cpp
new file mode 100644
index 0000000..ca6ac5b
--- /dev/null
+++ b/Plugins/SqlEnterpriseFormatter/formatdelete.cpp
@@ -0,0 +1,33 @@
+#include "formatdelete.h"
+#include "parser/ast/sqlitedelete.h"
+#include "parser/ast/sqliteexpr.h"
+#include "formatwith.h"
+
+FormatDelete::FormatDelete(SqliteDelete* del) :
+ del(del)
+{
+}
+
+void FormatDelete::formatInternal()
+{
+ if (del->with)
+ withStatement(del->with);
+
+ markKeywordLineUp("DELETE FROM");
+
+ withKeyword("DELETE").withKeyword("FROM");
+ if (!del->database.isNull())
+ withId(del->database).withIdDot();
+
+ withId(del->table);
+
+ if (del->indexedByKw)
+ withKeyword("INDEXED").withKeyword("BY").withId(del->indexedBy);
+ else if (del->notIndexedKw)
+ withKeyword("NOT").withKeyword("INDEXED");
+
+ if (del->where)
+ withNewLine().withLinedUpKeyword("WHERE").withStatement(del->where);
+
+ withSemicolon();
+}