Added Support for DELETE with JOIN via Multiple-Table Syntax
diff --git a/empire-db/src/main/java/org/apache/empire/db/mysql/DBDatabaseDriverMySQL.java b/empire-db/src/main/java/org/apache/empire/db/mysql/DBDatabaseDriverMySQL.java
index 5da5611..e2517ab 100644
--- a/empire-db/src/main/java/org/apache/empire/db/mysql/DBDatabaseDriverMySQL.java
+++ b/empire-db/src/main/java/org/apache/empire/db/mysql/DBDatabaseDriverMySQL.java
@@ -99,6 +99,28 @@
}
}
}
+
+ /**
+ * Creates an MySQL specific delete statement.
+ * @return the delete SQL-Command
+ */
+ @Override
+ public synchronized String getDelete(DBTable table)
+ {
+ if (joins == null) {
+ // Default
+ return super.getDelete(table);
+ }
+
+ // DELETE with Multiple-Table Syntax
+ // http://dev.mysql.com/doc/refman/5.7/en/delete.html
+ resetParamUsage();
+ StringBuilder buf = new StringBuilder("DELETE ");
+ buf.append(table.getAlias());
+ addFrom(buf);
+ addWhere(buf);
+ return buf.toString();
+ }
}
// Properties