You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@metamodel.apache.org by ka...@apache.org on 2015/10/25 15:57:53 UTC

metamodel git commit: METAMODEL-199: Fixed Fixes #63

Repository: metamodel
Updated Branches:
  refs/heads/master 9553357cd -> 9de5b7711


METAMODEL-199: Fixed
Fixes #63

Project: http://git-wip-us.apache.org/repos/asf/metamodel/repo
Commit: http://git-wip-us.apache.org/repos/asf/metamodel/commit/9de5b771
Tree: http://git-wip-us.apache.org/repos/asf/metamodel/tree/9de5b771
Diff: http://git-wip-us.apache.org/repos/asf/metamodel/diff/9de5b771

Branch: refs/heads/master
Commit: 9de5b7711d36470cd6b88f6d037e0bab46b8147a
Parents: 9553357
Author: Kasper Sørensen <i....@gmail.com>
Authored: Sun Oct 25 15:57:44 2015 +0100
Committer: Kasper Sørensen <i....@gmail.com>
Committed: Sun Oct 25 15:57:44 2015 +0100

----------------------------------------------------------------------
 core/src/main/java/org/apache/metamodel/query/Query.java      | 5 +++--
 .../org/apache/metamodel/query/parser/QueryParserTest.java    | 7 +++++++
 2 files changed, 10 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/metamodel/blob/9de5b771/core/src/main/java/org/apache/metamodel/query/Query.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/metamodel/query/Query.java b/core/src/main/java/org/apache/metamodel/query/Query.java
index 1fdb6da..209e71f 100644
--- a/core/src/main/java/org/apache/metamodel/query/Query.java
+++ b/core/src/main/java/org/apache/metamodel/query/Query.java
@@ -294,7 +294,7 @@ public final class Query extends BaseObject implements Cloneable, Serializable {
     }
 
     private FilterItem findFilterItem(String expression) {
-        String _upperExpression = expression.toUpperCase();
+        String upperExpression = expression.toUpperCase();
 
         final QueryPartCollectionProcessor collectionProcessor = new QueryPartCollectionProcessor();
         new QueryPartParser(collectionProcessor, expression, " AND ", " OR ").parse();
@@ -303,6 +303,7 @@ public final class Query extends BaseObject implements Cloneable, Serializable {
         final List<String> delims = collectionProcessor.getDelims();
         if (tokens.size() == 1) {
             expression = tokens.get(0);
+            upperExpression = expression.toUpperCase();
         } else {
             final LogicalOperator logicalOperator = LogicalOperator.valueOf(delims.get(1).trim());
 
@@ -328,7 +329,7 @@ public final class Query extends BaseObject implements Cloneable, Serializable {
                 } else {
                     searchStr = operatorCandidate.toSql();
                 }
-                final int operatorIndex = _upperExpression.indexOf(searchStr);
+                final int operatorIndex = upperExpression.indexOf(searchStr);
                 if (operatorIndex > 0) {
                     operator = operatorCandidate;
                     leftSide = expression.substring(0, operatorIndex).trim();

http://git-wip-us.apache.org/repos/asf/metamodel/blob/9de5b771/core/src/test/java/org/apache/metamodel/query/parser/QueryParserTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/metamodel/query/parser/QueryParserTest.java b/core/src/test/java/org/apache/metamodel/query/parser/QueryParserTest.java
index f83d4ff..d1c198f 100644
--- a/core/src/test/java/org/apache/metamodel/query/parser/QueryParserTest.java
+++ b/core/src/test/java/org/apache/metamodel/query/parser/QueryParserTest.java
@@ -51,6 +51,13 @@ public class QueryParserTest extends TestCase {
         col.setType(ColumnType.INTEGER);
     };
 
+	public void testQueryWithParenthesisAnd() throws Exception {
+        Query q = MetaModelHelper.parseQuery(dc,
+                "select foo from sch.tbl where (foo= 1) and (foo=2)");
+        assertEquals("SELECT tbl.foo FROM sch.tbl WHERE tbl.foo = '1' AND tbl.foo = '2'",
+                q.toSql());
+    }
+
     public void testQueryInLowerCase() throws Exception {
         Query q = MetaModelHelper.parseQuery(dc,
                 "select a.foo as f from sch.tbl a inner join sch.tbl b on a.foo=b.foo order by a.foo asc");