Repository: lens
Updated Branches:
  refs/heads/master 3da3bce4b -> 6c40b24ff


LENS-1450 : Fix duplicate filters in query writing


Project: http://git-wip-us.apache.org/repos/asf/lens/repo
Commit: http://git-wip-us.apache.org/repos/asf/lens/commit/6c40b24f
Tree: http://git-wip-us.apache.org/repos/asf/lens/tree/6c40b24f
Diff: http://git-wip-us.apache.org/repos/asf/lens/diff/6c40b24f

Branch: refs/heads/master
Commit: 6c40b24ffa8ff66b448a4f61054fb3897cffdd6a
Parents: 3da3bce
Author: Rajitha R <rajitha....@gmail.com>
Authored: Mon Aug 7 17:29:26 2017 +0530
Committer: Amareshwari Sriramadasu <amareshw...@apache.org>
Committed: Mon Aug 7 17:29:26 2017 +0530

----------------------------------------------------------------------
 .../java/org/apache/lens/cube/parse/CubeQueryContext.java |  3 ++-
 .../java/org/apache/lens/cube/parse/TestCubeRewriter.java | 10 +++++++++-
 2 files changed, 11 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lens/blob/6c40b24f/lens-cube/src/main/java/org/apache/lens/cube/parse/CubeQueryContext.java
----------------------------------------------------------------------
diff --git 
a/lens-cube/src/main/java/org/apache/lens/cube/parse/CubeQueryContext.java 
b/lens-cube/src/main/java/org/apache/lens/cube/parse/CubeQueryContext.java
index b5330a7..8b9583a 100644
--- a/lens-cube/src/main/java/org/apache/lens/cube/parse/CubeQueryContext.java
+++ b/lens-cube/src/main/java/org/apache/lens/cube/parse/CubeQueryContext.java
@@ -1169,7 +1169,8 @@ public class CubeQueryContext extends 
TracksQueriedColumns implements QueryAST,
         }
       }
     } else if (node.getParent() == null
-        && node.getToken().getType() != HiveParser.KW_AND) {
+        && node.getToken().getType() != HiveParser.KW_AND
+      && node.getChild(0).getType() != HiveParser.KW_AND) {
       // if node is the only child
       allFilters.add(HQLParser.getString((ASTNode) node));
     }

http://git-wip-us.apache.org/repos/asf/lens/blob/6c40b24f/lens-cube/src/test/java/org/apache/lens/cube/parse/TestCubeRewriter.java
----------------------------------------------------------------------
diff --git 
a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestCubeRewriter.java 
b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestCubeRewriter.java
index 1c75e6c..bc0fa2e 100644
--- a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestCubeRewriter.java
+++ b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestCubeRewriter.java
@@ -509,8 +509,16 @@ public class TestCubeRewriter extends TestQueryRewrite {
     conf.setBoolean(DISABLE_AUTO_JOINS, false);
     conf.setBoolean(REWRITE_DIM_FILTER_TO_FACT_FILTER, true);
 
+    // No filter
+    String hql = rewrite("select cityid , msr2 from testCube where " + 
TWO_DAYS_RANGE, conf);
+
+    String expectedQuery =  getExpectedQuery(TEST_CUBE_NAME, "select 
(testcube.cityid) as `cityid`, "
+        + "sum((testcube.msr2)) as `msr2` from ", null, "group by 
testcube.cityid",
+      getWhereForHourly2days(TEST_CUBE_NAME, "c3_testfact2_raw"));
+    compareQueries(expectedQuery, hql);
+
     // filter with =
-    String hql = rewrite(
+    hql = rewrite(
         "select cubecountry.name, msr2 from" + " testCube" + " where 
cubecountry.region = 'asia' and "
             + TWO_DAYS_RANGE, conf);
     String filterSubquery = "testcube.countryid in ( select id from 
TestQueryRewrite.c3_countrytable_partitioned "

Reply via email to