aboutsummaryrefslogtreecommitdiffstats
path: root/Plugins/DbSqlite2/queryexecutorsqlite2delete.cpp
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@ubuntu.com>2018-07-27 23:54:15 -0400
committerLibravatarUnit 193 <unit193@ubuntu.com>2018-07-27 23:54:15 -0400
commit6d3d39356473078c6b47e03b8a7616e4b34de928 (patch)
treefe5be2e6a08e4cfc73207746aba4c9fccfecfa10 /Plugins/DbSqlite2/queryexecutorsqlite2delete.cpp
parentf98e49169a40876bcf1df832de6e908d1b350193 (diff)
parentfeda8a7db8d1d7c5439aa8f8feef7cc0dd2b59a0 (diff)
Update upstream source from tag 'upstream/3.2.1+dfsg1'
Update to upstream version '3.2.1+dfsg1' with Debian dir 5ea0333565de4dc898c062cc0ff4ba1153e2c1e4
Diffstat (limited to 'Plugins/DbSqlite2/queryexecutorsqlite2delete.cpp')
-rw-r--r--Plugins/DbSqlite2/queryexecutorsqlite2delete.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/Plugins/DbSqlite2/queryexecutorsqlite2delete.cpp b/Plugins/DbSqlite2/queryexecutorsqlite2delete.cpp
new file mode 100644
index 0000000..95ae98e
--- /dev/null
+++ b/Plugins/DbSqlite2/queryexecutorsqlite2delete.cpp
@@ -0,0 +1,30 @@
+#include "queryexecutorsqlite2delete.h"
+#include "db/sqlquery.h"
+#include "parser/ast/sqlitedelete.h"
+
+bool QueryExecutorSqlite2Delete::exec()
+{
+ if (db->getVersion() != 2)
+ return true;
+
+ SqliteQueryPtr lastQuery = context->parsedQueries.last();
+
+ if (!lastQuery)
+ return true;
+
+ SqliteDeletePtr deleteQuery = lastQuery.dynamicCast<SqliteDelete>();
+ if (!deleteQuery)
+ return true;
+
+ if (!deleteQuery->where)
+ {
+ deleteQuery->where = new SqliteExpr();
+ deleteQuery->where->setParent(deleteQuery.data());
+ deleteQuery->where->mode = SqliteExpr::Mode::LITERAL_VALUE;
+ deleteQuery->where->literalValue = 1;
+ }
+
+ deleteQuery->rebuildTokens();
+ updateQueries();
+ return true;
+}