diff options
Diffstat (limited to 'Plugins/SqlEnterpriseFormatter/formatdelete.cpp')
| -rw-r--r-- | Plugins/SqlEnterpriseFormatter/formatdelete.cpp | 33 |
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(); +} |
