diff options
Diffstat (limited to 'Plugins/SqlEnterpriseFormatter/formatcopy.cpp')
| -rw-r--r-- | Plugins/SqlEnterpriseFormatter/formatcopy.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/Plugins/SqlEnterpriseFormatter/formatcopy.cpp b/Plugins/SqlEnterpriseFormatter/formatcopy.cpp new file mode 100644 index 0000000..fa07d48 --- /dev/null +++ b/Plugins/SqlEnterpriseFormatter/formatcopy.cpp @@ -0,0 +1,24 @@ +#include "formatcopy.h" +#include "parser/ast/sqlitecopy.h" + +FormatCopy::FormatCopy(SqliteCopy* copy) : + copy(copy) +{ +} + +void FormatCopy::formatInternal() +{ + withKeyword("COPY"); + if (copy->onConflict != SqliteConflictAlgo::null) + withKeyword("OR").withKeyword(sqliteConflictAlgo(copy->onConflict)); + + if (!copy->database.isNull()) + withId(copy->database); + + withId(copy->table).withKeyword("FROM").withString(copy->file); + + if (!copy->delimiter.isNull()) + withKeyword("USING").withKeyword("DELIMITERS").withString(copy->delimiter); + + withSemicolon(); +} |
