You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lens.apache.org by ra...@apache.org on 2018/02/06 05:46:40 UTC
[24/50] lens git commit: LENS-1450 : Fix duplicate filters in query
writing
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/05c364e2
Tree: http://git-wip-us.apache.org/repos/asf/lens/tree/05c364e2
Diff: http://git-wip-us.apache.org/repos/asf/lens/diff/05c364e2
Branch: refs/heads/master
Commit: 05c364e24820b8b6e10a226a523429ca35f9e4d4
Parents: 1f9f12f
Author: Rajitha R <ra...@gmail.com>
Authored: Mon Aug 7 17:29:26 2017 +0530
Committer: Rajat Khandelwal <ra...@gmail.com>
Committed: Mon Aug 21 13:00:48 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/05c364e2/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/05c364e2/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 "