You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@empire-db.apache.org by de...@apache.org on 2016/11/09 10:59:18 UTC
[11/14] empire-db git commit: EMPIREDB-247
EMPIREDB-247
- automatically add WHERE PKs to cmd
Project: http://git-wip-us.apache.org/repos/asf/empire-db/repo
Commit: http://git-wip-us.apache.org/repos/asf/empire-db/commit/04cc588f
Tree: http://git-wip-us.apache.org/repos/asf/empire-db/tree/04cc588f
Diff: http://git-wip-us.apache.org/repos/asf/empire-db/diff/04cc588f
Branch: refs/heads/EMPIREDB-247
Commit: 04cc588fb171d079e057aecd65096de2860153ab
Parents: 16c3111
Author: Jan Glaubitz <ja...@glaubitz.org>
Authored: Fri Aug 19 13:58:28 2016 +0200
Committer: Jan Glaubitz <ja...@glaubitz.org>
Committed: Wed Nov 9 11:56:53 2016 +0100
----------------------------------------------------------------------
.../src/main/java/org/apache/empire/db/DBDatabase.java | 11 +++++++++++
1 file changed, 11 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/empire-db/blob/04cc588f/empire-db/src/main/java/org/apache/empire/db/DBDatabase.java
----------------------------------------------------------------------
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBDatabase.java b/empire-db/src/main/java/org/apache/empire/db/DBDatabase.java
index 5757b96..b9b7817 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBDatabase.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBDatabase.java
@@ -40,6 +40,7 @@ import org.apache.empire.db.exceptions.QueryFailedException;
import org.apache.empire.db.exceptions.QueryNoResultException;
import org.apache.empire.db.exceptions.StatementFailedException;
import org.apache.empire.db.expr.column.DBValueExpr;
+import org.apache.empire.db.expr.set.DBSetExpr;
import org.apache.empire.exceptions.InternalException;
import org.apache.empire.exceptions.InvalidArgumentException;
import org.apache.empire.exceptions.ItemExistsException;
@@ -1405,6 +1406,16 @@ public abstract class DBDatabase extends DBObject
}
else
{
+ // Add WHERE (<all pks> to UPDATE
+ DBTable table = (DBTable) cmd.set.get(0).getTable();
+ for (DBSetExpr se : cmd.set)
+ {
+ DBColumn column = se.column;
+ if (table.getPrimaryKey().contains(column))
+ {
+ cmd.where(column.is(se.value));
+ }
+ }
int count = executeUpdate(cmd, conn);
if (count < 1) {
// nothing updated -> INSERT