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 do...@apache.org on 2017/06/30 15:18:03 UTC
empire-db git commit: EMPIREDB-257 refrain from adding the same
expression twice in the orderBy phrase
Repository: empire-db
Updated Branches:
refs/heads/master 6f3cd4751 -> 6e30d8773
EMPIREDB-257
refrain from adding the same expression twice in the orderBy phrase
Project: http://git-wip-us.apache.org/repos/asf/empire-db/repo
Commit: http://git-wip-us.apache.org/repos/asf/empire-db/commit/6e30d877
Tree: http://git-wip-us.apache.org/repos/asf/empire-db/tree/6e30d877
Diff: http://git-wip-us.apache.org/repos/asf/empire-db/diff/6e30d877
Branch: refs/heads/master
Commit: 6e30d877372d4f7b37865b3ff6ada8ac90270b20
Parents: 6f3cd47
Author: Rainer Döbele <do...@apache.org>
Authored: Fri Jun 30 17:17:59 2017 +0200
Committer: Rainer Döbele <do...@apache.org>
Committed: Fri Jun 30 17:17:59 2017 +0200
----------------------------------------------------------------------
.../java/org/apache/empire/db/DBCommandExpr.java | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/empire-db/blob/6e30d877/empire-db/src/main/java/org/apache/empire/db/DBCommandExpr.java
----------------------------------------------------------------------
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBCommandExpr.java b/empire-db/src/main/java/org/apache/empire/db/DBCommandExpr.java
index 205fc94..ee3da2a 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBCommandExpr.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBCommandExpr.java
@@ -436,8 +436,21 @@ public abstract class DBCommandExpr extends DBExpr
orderBy = new ArrayList<DBOrderByExpr>();
// Add order by expression
for (DBOrderByExpr expr : exprs)
- {
- orderBy.add(expr);
+ { // find existing
+ for (DBOrderByExpr ob : orderBy)
+ { // Compare expression
+ if (ob.getColumnExpr().equals(expr.getColumnExpr()))
+ { // already there, replace
+ ob.setDescending(expr.isDescending());
+ expr = null;
+ break;
+ }
+ }
+ // add, if not replaced
+ if (expr!=null)
+ { // add expression
+ orderBy.add(expr);
+ }
}
}