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 <[email protected]>
Authored: Sun Oct 25 15:57:44 2015 +0100
Committer: Kasper Sørensen <[email protected]>
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");

Reply via email to