Repository: lens Updated Branches: refs/heads/master 9a40b6455 -> a7ec47ed3
LENS-1477 : Change default measure value to 0 instead of 0.0 in union queries Project: http://git-wip-us.apache.org/repos/asf/lens/repo Commit: http://git-wip-us.apache.org/repos/asf/lens/commit/a7ec47ed Tree: http://git-wip-us.apache.org/repos/asf/lens/tree/a7ec47ed Diff: http://git-wip-us.apache.org/repos/asf/lens/diff/a7ec47ed Branch: refs/heads/master Commit: a7ec47ed33ad6aa906b8c62dd68a62b7b85fab1a Parents: 9a40b64 Author: Sushil Mohanty <sushil.k.moha...@gmail.com> Authored: Mon Sep 18 16:33:28 2017 +0530 Committer: sushilmohanty <sushilmoha...@apache.org> Committed: Mon Sep 18 16:33:28 2017 +0530 ---------------------------------------------------------------------- .../lens/cube/parse/ExpressionResolver.java | 2 +- .../lens/cube/parse/UnionQueryWriter.java | 14 +- .../lens/cube/parse/TestBaseCubeQueries.java | 166 +++++++++---------- .../lens/cube/parse/TestBridgeTableQueries.java | 40 ++--- .../parse/TestCubeSegmentationRewriter.java | 24 +-- .../cube/parse/TestUnionAndJoinCandidates.java | 34 ++-- .../lens/cube/parse/TestVirtualFactQueries.java | 4 +- 7 files changed, 142 insertions(+), 142 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/lens/blob/a7ec47ed/lens-cube/src/main/java/org/apache/lens/cube/parse/ExpressionResolver.java ---------------------------------------------------------------------- diff --git a/lens-cube/src/main/java/org/apache/lens/cube/parse/ExpressionResolver.java b/lens-cube/src/main/java/org/apache/lens/cube/parse/ExpressionResolver.java index 553468f..e0a0d17 100644 --- a/lens-cube/src/main/java/org/apache/lens/cube/parse/ExpressionResolver.java +++ b/lens-cube/src/main/java/org/apache/lens/cube/parse/ExpressionResolver.java @@ -560,7 +560,7 @@ class ExpressionResolver implements ContextRewriter { private ASTNode getDefaultExpr(ASTNode node) { if (HQLParser.isAggregateAST(node)) { - node.setChild(1, new ASTNode(new CommonToken(HiveParser.Identifier, "0.0"))); + node.setChild(1, new ASTNode(new CommonToken(HiveParser.Identifier, "0"))); } for (int i = 0; i < node.getChildCount(); i++) { ASTNode child = (ASTNode) node.getChild(i); http://git-wip-us.apache.org/repos/asf/lens/blob/a7ec47ed/lens-cube/src/main/java/org/apache/lens/cube/parse/UnionQueryWriter.java ---------------------------------------------------------------------- diff --git a/lens-cube/src/main/java/org/apache/lens/cube/parse/UnionQueryWriter.java b/lens-cube/src/main/java/org/apache/lens/cube/parse/UnionQueryWriter.java index 0d512e4..9d0d0d2 100644 --- a/lens-cube/src/main/java/org/apache/lens/cube/parse/UnionQueryWriter.java +++ b/lens-cube/src/main/java/org/apache/lens/cube/parse/UnionQueryWriter.java @@ -54,7 +54,7 @@ public class UnionQueryWriter extends SimpleHQLContext { private Map<StorageCandidateHQLContext, ASTNode> storageCandidateToSelectAstMap = new HashMap<>(); private CubeQueryContext cubeql; static final ASTNode DEFAULT_MEASURE_AST; - private static final String DEFAULT_MEASURE = "0.0"; + private static final String DEFAULT_MEASURE = "0"; static { try { DEFAULT_MEASURE_AST = HQLParser.parseExpr(DEFAULT_MEASURE); @@ -204,8 +204,8 @@ public class UnionQueryWriter extends SimpleHQLContext { ASTNode outerOrderby = new ASTNode(child); ASTNode tokNullsChild = (ASTNode) child.getChild(0); ASTNode outerTokNullsChild = new ASTNode(tokNullsChild); - if (((ASTNode) tokNullsChild.getChild(0)).getToken().getType() == HiveParser.DOT || - ((ASTNode) tokNullsChild.getChild(0)).getToken().getType() == HiveParser.TOK_FUNCTION) { + if (((ASTNode) tokNullsChild.getChild(0)).getToken().getType() == HiveParser.DOT + || ((ASTNode) tokNullsChild.getChild(0)).getToken().getType() == HiveParser.TOK_FUNCTION) { outerTokNullsChild.addChild(innerToOuterSelectASTs.get(new HQLParser.HashableASTNode((ASTNode) tokNullsChild))); } else { outerTokNullsChild.addChild(tokNullsChild); @@ -217,7 +217,7 @@ public class UnionQueryWriter extends SimpleHQLContext { } /** - * Get the select expression. In case of node is default retunrs "0.0" with alias + * Get the select expression. In case of node is default retunrs "0" with alias * otherwise the select phrase with alias. * * @param nodeWithoutAlias @@ -247,7 +247,7 @@ public class UnionQueryWriter extends SimpleHQLContext { /** * Get the aggregate node for the SelectPhrase index. A given measure might not be answerable - * for a StorageCanddate. In that case get the non default aggregate node wcich ideally not "0.0", + * for a StorageCanddate. In that case get the non default aggregate node wcich ideally not "0", * from otherStorage candidate. * * @param position @@ -267,7 +267,7 @@ public class UnionQueryWriter extends SimpleHQLContext { } /** - * Set the default value "0.0" in the non answerable aggreagte expressions. + * Set the default value "0" in the non answerable aggreagte expressions. * @param node * @param sc * @return @@ -387,7 +387,7 @@ public class UnionQueryWriter extends SimpleHQLContext { /** * Set the default value for the non queriable measures. If a measure is not - * answerable from a StorageCandidate set it as 0.0 + * answerable from a StorageCandidate set it as "0" * * @throws LensException */ http://git-wip-us.apache.org/repos/asf/lens/blob/a7ec47ed/lens-cube/src/test/java/org/apache/lens/cube/parse/TestBaseCubeQueries.java ---------------------------------------------------------------------- diff --git a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestBaseCubeQueries.java b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestBaseCubeQueries.java index 35cb2b5..db7b9b2 100644 --- a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestBaseCubeQueries.java +++ b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestBaseCubeQueries.java @@ -144,10 +144,10 @@ public class TestBaseCubeQueries extends TestQueryRewrite { Assert.assertTrue(storageCandidates.contains("c1_testfact2_base")); String hqlQuery = ctx.toHQL(); String expected1 = - getExpectedQuery(cubeName, "SELECT 0.0 as `alias0`, sum((basecube.msr12)) as `alias1` FROM ", null, + getExpectedQuery(cubeName, "SELECT 0 as `alias0`, sum((basecube.msr12)) as `alias1` FROM ", null, null, getWhereForDailyAndHourly2days(cubeName, "C1_testFact2_BASE")); String expected2 = - getExpectedQuery(cubeName, "SELECT sum((basecube.msr2)) as `alias0`, 0.0 as `alias1` FROM ", null, + getExpectedQuery(cubeName, "SELECT sum((basecube.msr2)) as `alias0`, 0 as `alias1` FROM ", null, null, getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE")); compareContains(expected1, hqlQuery); compareContains(expected2, hqlQuery); @@ -171,14 +171,14 @@ public class TestBaseCubeQueries extends TestQueryRewrite { Assert.assertTrue(storageCandidates.contains("c1_testfact2_base")); Assert.assertTrue(storageCandidates.contains("c1_testfact3_base")); String hqlQuery = ctx.toHQL(); - String expected1 = getExpectedQuery(cubeName, "SELECT 0.0 as `alias0`, 0.0 as `alias1`, " + String expected1 = getExpectedQuery(cubeName, "SELECT 0 as `alias0`, 0 as `alias1`, " + "sum((basecube.msr12)) as `alias2` FROM ", null, null, getWhereForDailyAndHourly2days(cubeName, "C1_testFact2_BASE")); - String expected2 = getExpectedQuery(cubeName, "SELECT sum((basecube.msr2)) as `alias0`, 0.0 as `alias1`, " - + "0.0 as `alias2` FROM ", null, + String expected2 = getExpectedQuery(cubeName, "SELECT sum((basecube.msr2)) as `alias0`, 0 as `alias1`, " + + "0 as `alias2` FROM ", null, null, getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE")); - String expected3 = getExpectedQuery(cubeName, "SELECT 0.0 as `alias0`, count((basecube.msr14)) as `alias1`, " - + "0.0 as `alias2` FROM ", null, null, + String expected3 = getExpectedQuery(cubeName, "SELECT 0 as `alias0`, count((basecube.msr14)) as `alias1`, " + + "0 as `alias2` FROM ", null, null, getWhereForDailyAndHourly2days(cubeName, "C1_testFact3_BASE")); compareContains(expected1, hqlQuery); compareContains(expected2, hqlQuery); @@ -194,9 +194,9 @@ public class TestBaseCubeQueries extends TestQueryRewrite { String hqlQuery = rewrite("select dim1, roundedmsr2, msr12 from basecube" + " where " + TWO_DAYS_RANGE, conf); String expected1 = getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, sum((basecube.msr2)) as `alias1`, " - + "0.0 as `alias2` FROM ", null, " group by basecube.dim1", + + "0 as `alias2` FROM ", null, " group by basecube.dim1", getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE")); - String expected2 = getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, 0.0 as `alias1`, " + String expected2 = getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, 0 as `alias1`, " + "sum((basecube.msr12)) as `alias2` FROM ", null, " group by basecube.dim1", getWhereForDailyAndHourly2days(cubeName, "C1_testFact2_BASE")); compareContains(expected1, hqlQuery); @@ -214,11 +214,11 @@ public class TestBaseCubeQueries extends TestQueryRewrite { Configuration tConf = new Configuration(conf); tConf.setBoolean(CubeQueryConfUtil.LIGHTEST_FACT_FIRST, true); String hqlQuery = rewrite("select dim1, roundedmsr2, msr12 from basecube" + " where " + TWO_DAYS_RANGE, tConf); - String expected1 = getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, 0.0 as `alias1`, " + String expected1 = getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, 0 as `alias1`, " + "sum((basecube.msr12)) as `alias2` FROM ", null, " group by basecube.dim1", getWhereForDailyAndHourly2days(cubeName, "C1_testFact2_BASE")); String expected2 = getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, sum((basecube.msr2)) " - + "as `alias1`, 0.0 as `alias2` FROM ", null, " group by basecube.dim1", + + "as `alias1`, 0 as `alias2` FROM ", null, " group by basecube.dim1", getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE")); compareContains(expected1, hqlQuery); compareContains(expected2, hqlQuery); @@ -235,11 +235,11 @@ public class TestBaseCubeQueries extends TestQueryRewrite { tConf.setBoolean(CubeQueryConfUtil.LIGHTEST_FACT_FIRST, true); String hqlQuery = rewrite("select dim1, roundedmsr2, flooredmsr12 from basecube" + " where " + TWO_DAYS_RANGE, tConf); - String expected1 = getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, 0.0 as `alias1`, " + String expected1 = getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, 0 as `alias1`, " + "sum((basecube.msr12)) as `alias2` FROM ", null, " group by basecube.dim1", getWhereForDailyAndHourly2days(cubeName, "C1_testFact2_BASE")); String expected2 = getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, sum((basecube.msr2)) " - + "as `alias1`, 0.0 as `alias2` FROM ", null, " group by basecube.dim1", + + "as `alias1`, 0 as `alias2` FROM ", null, " group by basecube.dim1", getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE")); compareContains(expected1, hqlQuery); compareContains(expected2, hqlQuery); @@ -256,10 +256,10 @@ public class TestBaseCubeQueries extends TestQueryRewrite { String hqlQuery = rewrite("select dim1, msr12, roundedmsr2 from basecube" + " where " + TWO_DAYS_RANGE, conf); String expected1 = getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, sum((basecube.msr12)) as `alias1`, " - + "0.0 as `alias2` FROM", null, " group by basecube.dim1", + + "0 as `alias2` FROM", null, " group by basecube.dim1", getWhereForDailyAndHourly2days(cubeName, "C1_testFact2_BASE")); String expected2 = getExpectedQuery(cubeName, - "SELECT (basecube.dim1) as `alias0`, 0.0 as `alias1`, sum((basecube.msr2)) as `alias2` FROM ", null, + "SELECT (basecube.dim1) as `alias0`, 0 as `alias1`, sum((basecube.msr2)) as `alias2` FROM ", null, " group by basecube.dim1", getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE")); compareContains(expected1, hqlQuery); compareContains(expected2, hqlQuery); @@ -278,17 +278,17 @@ public class TestBaseCubeQueries extends TestQueryRewrite { + TWO_DAYS_RANGE, conf); String expected1 = getExpectedQuery(cubeName, " SELECT (basecube.dim1) as `alias0`, (basecube.d_time) as `alias1`, " - + "sum((basecube.msr12)) as `alias2`, 0.0 as `alias3`, 0.0 as `alias4`, 0.0 as `alias5` FROM ", + + "sum((basecube.msr12)) as `alias2`, 0 as `alias3`, 0 as `alias4`, 0 as `alias5` FROM ", null, " group by basecube.dim1, (basecube.d_time)", getWhereForDailyAndHourly2days(cubeName, "C1_testFact2_BASE")); String expected2 = getExpectedQuery( cubeName, - "SELECT (basecube.dim1) as `alias0`, (basecube.d_time) as `alias1`, 0.0 as `alias2`, " - + "sum((basecube.msr2)) as `alias3`, 0.0 as `alias4`, max((basecube.msr3)) as `alias5` FROM ", null, + "SELECT (basecube.dim1) as `alias0`, (basecube.d_time) as `alias1`, 0 as `alias2`, " + + "sum((basecube.msr2)) as `alias3`, 0 as `alias4`, max((basecube.msr3)) as `alias5` FROM ", null, " group by basecube.dim1, (basecube.d_time)", getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE")); String expected3 = - getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, (basecube.d_time) as `alias1`, 0.0 " - + "as `alias2`, 0.0 as `alias3`, max((basecube.msr13)) as `alias4`, 0.0 as `alias5` FROM ", null, + getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, (basecube.d_time) as `alias1`, 0 " + + "as `alias2`, 0 as `alias3`, max((basecube.msr13)) as `alias4`, 0 as `alias5` FROM ", null, " group by basecube.dim1, (basecube.d_time)", getWhereForDailyAndHourly2days(cubeName, "c1_testfact3_base")); compareContains(expected1, hqlQuery); compareContains(expected2, hqlQuery); @@ -307,10 +307,10 @@ public class TestBaseCubeQueries extends TestQueryRewrite { // query two dim attributes String hqlQuery = rewrite("select dim1, dim11, msr12, roundedmsr2 from basecube where " + TWO_DAYS_RANGE, conf); String expected1 = getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, " - + "sum((basecube.msr12)) as `alias2`, 0.0 as `alias3` FROM ", null, " group by basecube.dim1", + + "sum((basecube.msr12)) as `alias2`, 0 as `alias3` FROM ", null, " group by basecube.dim1", getWhereForDailyAndHourly2days(cubeName, "C1_testFact2_BASE")); String expected2 = getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, " - + "0.0 as `alias2`, sum((basecube.msr2)) as `alias3` FROM ", null, " group by basecube.dim1", + + "0 as `alias2`, sum((basecube.msr2)) as `alias3` FROM ", null, " group by basecube.dim1", getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE")); compareContains(expected1, hqlQuery); compareContains(expected2, hqlQuery); @@ -328,9 +328,9 @@ public class TestBaseCubeQueries extends TestQueryRewrite { String hqlQuery = rewrite("select dim1, msr11, roundedmsr2 from basecube where " + TWO_DAYS_RANGE, conf); String expected1 = getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, (basecube.msr11) as `alias1`, " - + "0.0 as `alias2` FROM ", null, null, getWhereForHourly2days(cubeName, "C1_testfact2_raw_base")); + + "0 as `alias2` FROM ", null, null, getWhereForHourly2days(cubeName, "C1_testfact2_raw_base")); String expected2 = getExpectedQuery(cubeName, - "SELECT (basecube.dim1) as `alias0`, 0.0 as `alias1`, round(((basecube.msr2) / 1000)) " + "SELECT (basecube.dim1) as `alias0`, 0 as `alias1`, round(((basecube.msr2) / 1000)) " + "as `alias2` FROM ", null, null, getWhereForHourly2days(cubeName, "C1_testfact1_raw_base")); compareContains(expected1, hqlQuery); @@ -349,10 +349,10 @@ public class TestBaseCubeQueries extends TestQueryRewrite { rewrite("select dim1 d1, msr12 `my msr12`, roundedmsr2 m2 from basecube where " + TWO_DAYS_RANGE, conf); String expected1 = getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, sum((basecube.msr12)) as `alias1`, " - + "0.0 as `alias2` FROM ", null, " group by basecube.dim1", + + "0 as `alias2` FROM ", null, " group by basecube.dim1", getWhereForDailyAndHourly2days(cubeName, "C1_testFact2_BASE")); String expected2 = - getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, 0.0 as `alias1`, sum((basecube.msr2)) " + getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, 0 as `alias1`, sum((basecube.msr2)) " + "as `alias2` FROM ", null, " group by basecube.dim1", getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE")); compareContains(expected1, hqlQuery); @@ -371,10 +371,10 @@ public class TestBaseCubeQueries extends TestQueryRewrite { + TWO_DAYS_RANGE, conf); String expected1 = getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, sum((basecube.msr12)) as `alias1`, " - + "0.0 as `alias2` FROM ", null, " group by basecube.dim1", + + "0 as `alias2` FROM ", null, " group by basecube.dim1", getWhereForDailyAndHourly2days(cubeName, "C1_testFact2_BASE")); String expected2 = - getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, 0.0 as `alias1`, sum((basecube.msr2)) " + getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, 0 as `alias1`, sum((basecube.msr2)) " + "as `alias2` FROM ", null, " group by basecube.dim1", getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE")); compareContains(expected1, hqlQuery); @@ -393,10 +393,10 @@ public class TestBaseCubeQueries extends TestQueryRewrite { String expected1 = getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, sum((basecube.msr12)) as `alias1`, " - + "0.0 as `alias2` FROM ", null, " group by basecube.dim1", + + "0 as `alias2` FROM ", null, " group by basecube.dim1", getWhereForDailyAndHourly2days(cubeName, "C1_testFact2_BASE")); String expected2 = - getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, 0.0 as `alias1`, sum((basecube.msr2)) " + getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, 0 as `alias1`, sum((basecube.msr2)) " + "as `alias2` FROM ", null, " group by basecube.dim1", getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE")); compareContains(expected1, hqlQuery); @@ -416,10 +416,10 @@ public class TestBaseCubeQueries extends TestQueryRewrite { String expected1 = getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, sum((basecube.msr12)) as `alias1`, " - + "0.0 as `alias2` FROM", null, " group by basecube.dim1", + + "0 as `alias2` FROM", null, " group by basecube.dim1", getWhereForDailyAndHourly2days(cubeName, "C1_testFact2_BASE")); String expected2 = - getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, 0.0 as `alias1`, sum((basecube.msr2)) " + getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, 0 as `alias1`, sum((basecube.msr2)) " + "as `alias2` FROM", null, " group by basecube.dim1", getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE")); compareContains(expected1, hqlQuery); @@ -437,12 +437,12 @@ public class TestBaseCubeQueries extends TestQueryRewrite { rewrite("select reverse(dim1), ltrim(dim1), msr12, roundedmsr2 from basecube where " + TWO_DAYS_RANGE, conf); String expected1 = getExpectedQuery(cubeName, "SELECT reverse((basecube.dim1)) as `alias0`, ltrim((basecube.dim1)) as `alias1`, " - + "sum((basecube.msr12)) as `alias2`, 0.0 as `alias3` FROM ", null, + + "sum((basecube.msr12)) as `alias2`, 0 as `alias3` FROM ", null, " group by reverse(basecube.dim1), ltrim(basecube.dim1)", getWhereForDailyAndHourly2days(cubeName, "C1_testFact2_BASE")); String expected2 = getExpectedQuery(cubeName, "SELECT reverse((basecube.dim1)) as `alias0`, ltrim((basecube.dim1)) as `alias1`, " - + "0.0 as `alias2`, sum((basecube.msr2)) as `alias3` FROM ", null, + + "0 as `alias2`, sum((basecube.msr2)) as `alias3` FROM ", null, " group by reverse(basecube.dim1), ltrim(basecube.dim1)", getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE")); compareContains(expected1, hqlQuery); @@ -462,11 +462,11 @@ public class TestBaseCubeQueries extends TestQueryRewrite { conf); String expected1 = getExpectedQuery(cubeName, "SELECT reverse((basecube.dim1)) as `alias0`, max((basecube.msr13)) as `alias1`, " - + "count((basecube.msr14)) as `alias2`, 0.0 as `alias3` FROM", null, + + "count((basecube.msr14)) as `alias2`, 0 as `alias3` FROM", null, " group by reverse(basecube.dim1)", getWhereForDailyAndHourly2days(cubeName, "C1_testFact3_BASE")); String expected2 = - getExpectedQuery(cubeName, "SELECT reverse((basecube.dim1)) as `alias0`, 0.0 as `alias1`, " - + "0.0 as `alias2`, sum((basecube.msr2)) as `alias3` FROM", null, + getExpectedQuery(cubeName, "SELECT reverse((basecube.dim1)) as `alias0`, 0 as `alias1`, " + + "0 as `alias2`, sum((basecube.msr2)) as `alias3` FROM", null, " group by reverse(basecube.dim1)", getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE")); compareContains(expected1, hqlQuery); compareContains(expected2, hqlQuery); @@ -484,10 +484,10 @@ public class TestBaseCubeQueries extends TestQueryRewrite { String hqlQuery = rewrite("select dim1, avg(msr12), avg(msr2) from basecube where " + TWO_DAYS_RANGE, conf); String expected1 = getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, avg((basecube.msr12)) as `alias1`," - + " 0.0 as `alias2` FROM ", null, " group by basecube.dim1", + + " 0 as `alias2` FROM ", null, " group by basecube.dim1", getWhereForHourly2days(cubeName, "C1_testfact2_raw_base")); String expected2 = - getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, 0.0 as `alias1`, avg((basecube.msr2)) " + getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, 0 as `alias1`, avg((basecube.msr2)) " + "as `alias2` FROM ", null, " group by basecube.dim1", getWhereForHourly2days(cubeName, "C1_testfact1_raw_base")); compareContains(expected1, hqlQuery); @@ -503,13 +503,13 @@ public class TestBaseCubeQueries extends TestQueryRewrite { // query with join String hqlQuery = rewrite("select dim2chain.name, msr12, roundedmsr2 from basecube where " + TWO_DAYS_RANGE, conf); String expected1 = getExpectedQuery(cubeName, - "SELECT (dim2chain.name) as `alias0`, sum((basecube.msr12)) as `alias1`, 0.0 as `alias2` FROM ", + "SELECT (dim2chain.name) as `alias0`, sum((basecube.msr12)) as `alias1`, 0 as `alias2` FROM ", " JOIN " + getDbName() + "c1_testdim2tbl dim2chain ON basecube.dim2 = " + " dim2chain.id and (dim2chain.dt = 'latest') ", null, " group by dim2chain.name", null, getWhereForDailyAndHourly2days(cubeName, "C1_testFact2_BASE")); String expected2 = getExpectedQuery(cubeName, - "SELECT (dim2chain.name) as `alias0`, 0.0 as `alias1`, sum((basecube.msr2)) as `alias2` FROM ", " JOIN " + "SELECT (dim2chain.name) as `alias0`, 0 as `alias1`, sum((basecube.msr2)) as `alias2` FROM ", " JOIN " + getDbName() + "c1_testdim2tbl dim2chain ON basecube.dim2 = " + " dim2chain.id and (dim2chain.dt = 'latest') ", null, @@ -528,12 +528,12 @@ public class TestBaseCubeQueries extends TestQueryRewrite { // query with denorm variable String hqlQuery = rewrite("select dim2, msr13, roundedmsr2 from basecube where " + TWO_DAYS_RANGE, conf); String expected1 = getExpectedQuery(cubeName, "SELECT (dim2chain.id) as `alias0`, max((basecube.msr13)) " - + "as `alias1`, 0.0 as `alias2` FROM ", " JOIN " + getDbName() + + "as `alias1`, 0 as `alias2` FROM ", " JOIN " + getDbName() + "c1_testdim2tbl dim2chain ON basecube.dim12 = " + " dim2chain.id and (dim2chain.dt = 'latest') ", null, " group by dim2chain.id", null, getWhereForHourly2days(cubeName, "C1_testFact3_RAW_BASE")); String expected2 = getExpectedQuery(cubeName, - "SELECT (basecube.dim2) as `alias0`, 0.0 as `alias1`, sum((basecube.msr2)) as `alias2` FROM ", null, + "SELECT (basecube.dim2) as `alias0`, 0 as `alias1`, sum((basecube.msr2)) as `alias2` FROM ", null, " group by basecube.dim2", getWhereForHourly2days(cubeName, "C1_testfact1_raw_base")); compareContains(expected1, hqlQuery); compareContains(expected2, hqlQuery); @@ -550,12 +550,12 @@ public class TestBaseCubeQueries extends TestQueryRewrite { String hqlQuery = rewrite("select dim2, msr13, roundedmsr2 from basecube where dim2 == 10 and " + TWO_DAYS_RANGE, conf); String expected1 = getExpectedQuery(cubeName, "SELECT (dim2chain.id) as `alias0`, max((basecube.msr13)) " - + "as `alias1`, 0.0 as `alias2` FROM ", " JOIN " + getDbName() + + "as `alias1`, 0 as `alias2` FROM ", " JOIN " + getDbName() + "c1_testdim2tbl dim2chain ON basecube.dim12 = " + " dim2chain.id and (dim2chain.dt = 'latest') ", "dim2chain.id == 10", " group by dim2chain.id", null, getWhereForHourly2days(cubeName, "C1_testFact3_RAW_BASE")); String expected2 = getExpectedQuery(cubeName, - "SELECT (basecube.dim2) as `alias0`, 0.0 as `alias1`, sum((basecube.msr2)) as `alias2` FROM ", + "SELECT (basecube.dim2) as `alias0`, 0 as `alias1`, sum((basecube.msr2)) as `alias2` FROM ", "basecube.dim2 == 10", " group by basecube.dim2", getWhereForHourly2days(cubeName, "C1_testfact1_raw_base")); compareContains(expected1, hqlQuery); @@ -577,14 +577,14 @@ public class TestBaseCubeQueries extends TestQueryRewrite { conf); String expected1 = getExpectedQuery(cubeName, "SELECT (((basecube.dim1) != 'x') and ((dim2chain.id) != 10)) as `alias0`, " - + "0.0 as `alias1`, avg(((basecube.msr13) + (basecube.msr14))) as `alias2` FROM ", " JOIN " + + "0 as `alias1`, avg(((basecube.msr13) + (basecube.msr14))) as `alias2` FROM ", " JOIN " + getDbName() + "c1_testdim2tbl dim2chain ON basecube.dim12 = " + " dim2chain.id and (dim2chain.dt = 'latest') ", null, " group by basecube.dim1 != 'x' AND dim2chain.id != 10", null, getWhereForHourly2days(cubeName, "C1_testfact3_raw_base")); String expected2 = getExpectedQuery(cubeName, "SELECT (((basecube.dim1) != 'x') and ((basecube.dim2) != 10)) as `alias0`, " - + "sum((basecube.msr2)) as `alias1`, 0.0 as `alias2` FROM", null, + + "sum((basecube.msr2)) as `alias1`, 0 as `alias2` FROM", null, " group by basecube.dim1 != 'x' AND basecube.dim2 != 10", getWhereForHourly2days(cubeName, "C1_testfact1_raw_base")); compareContains(expected1, hqlQuery); @@ -607,14 +607,14 @@ public class TestBaseCubeQueries extends TestQueryRewrite { + TWO_DAYS_RANGE, conf); String expected1 = getExpectedQuery(cubeName, "SELECT (((basecube.dim1) != 'x') and ((dim2chain.id) != 10)) as `alias0`, " - + "0.0 as `alias1`, avg(((basecube.msr13) + (basecube.msr14))) as `alias2` FROM ", " JOIN " + getDbName() + + "0 as `alias1`, avg(((basecube.msr13) + (basecube.msr14))) as `alias2` FROM ", " JOIN " + getDbName() + "c1_testdim2tbl dim2chain ON basecube.dim12 = " + " dim2chain.id and (dim2chain.dt = 'latest') ", "(basecube.dim1 != 'x' AND dim2chain.id != 10) == true", " group by basecube.dim1 != 'x' AND dim2chain.id != 10", null, getWhereForHourly2days(cubeName, "C1_testfact3_raw_base")); String expected2 = getExpectedQuery(cubeName, "SELECT (((basecube.dim1) != 'x') and ((basecube.dim2) != 10)) as `alias0`, " - + "sum((basecube.msr2)) as `alias1`, 0.0 as `alias2` FROM ", + + "sum((basecube.msr2)) as `alias1`, 0 as `alias2` FROM ", "(basecube.dim1 != 'x' AND basecube.dim2 != 10) == true", " group by basecube.dim1 != 'x' AND basecube.dim2 != 10", getWhereForHourly2days(cubeName, "C1_testfact1_raw_base")); @@ -635,12 +635,12 @@ public class TestBaseCubeQueries extends TestQueryRewrite { String hqlQuery = rewrite("select booleancut, round(sum(msr2)/1000), msr13 from basecube where " + TWO_DAYS_RANGE, tconf); String expected1 = - getExpectedQuery(cubeName, "SELECT (basecube.booleancut) as `alias0`, 0.0 as `alias1`, " + getExpectedQuery(cubeName, "SELECT (basecube.booleancut) as `alias0`, 0 as `alias1`, " + "max((basecube.msr13)) as `alias2` FROM", null, " " + "group by basecube.booleancut", getWhereForDailyAndHourly2days(cubeName, "C1_testfact6_base")); String expected2 = getExpectedQuery(cubeName, "SELECT (basecube.booleancut) as `alias0`, sum((basecube.msr2)) as `alias1`, " - + "0.0 as `alias2` FROM ", null, " group by basecube.booleancut", + + "0 as `alias2` FROM ", null, " group by basecube.booleancut", getWhereForDailyAndHourly2days(cubeName, "C1_testfact5_base")); compareContains(expected1, hqlQuery); compareContains(expected2, hqlQuery); @@ -660,10 +660,10 @@ public class TestBaseCubeQueries extends TestQueryRewrite { + TWO_DAYS_RANGE, tconf); String expected1 = getExpectedQuery(cubeName, "SELECT sum(case when ((basecube.dim22) = 'x') then (basecube.msr12) else 0 end) " - + "as `alias0`, 0.0 as `alias1` FROM ", null, null, + + "as `alias0`, 0 as `alias1` FROM ", null, null, getWhereForHourly2days(cubeName, "C1_testfact2_raw_base")); String expected2 = - getExpectedQuery(cubeName, "SELECT 0.0 as `alias0`, sum((basecube.msr1)) as `alias1` FROM ", null, null, + getExpectedQuery(cubeName, "SELECT 0 as `alias0`, sum((basecube.msr1)) as `alias1` FROM ", null, null, getWhereForHourly2days(cubeName, "c1_testfact1_raw_base")); compareContains(expected1, hqlQuery); compareContains(expected2, hqlQuery); @@ -680,10 +680,10 @@ public class TestBaseCubeQueries extends TestQueryRewrite { + TWO_DAYS_RANGE, tconf); String expected1 = getExpectedQuery(cubeName, "SELECT sum(case when ((basecube.dim13) = 'x') then (basecube.msr12) else 0 end) " - + "as `alias0`, 0.0 as `alias1` FROM ", null, null, + + "as `alias0`, 0 as `alias1` FROM ", null, null, getWhereForHourly2days(cubeName, "C1_testfact2_raw_base")); String expected2 = - getExpectedQuery(cubeName, "SELECT 0.0 as `alias0`, sum((basecube.msr1)) as `alias1` FROM ", null, null, + getExpectedQuery(cubeName, "SELECT 0 as `alias0`, sum((basecube.msr1)) as `alias1` FROM ", null, null, getWhereForHourly2days(cubeName, "c1_testfact1_raw_base")); compareContains(expected1, hqlQuery); compareContains(expected2, hqlQuery); @@ -700,11 +700,11 @@ public class TestBaseCubeQueries extends TestQueryRewrite { + "where " + TWO_DAYS_RANGE, tconf); String expected1 = getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, sum(case when ((basecube.dim13) = 'x') " - + "then (basecube.msr12) else 0 end) as `alias1`, 0.0 as `alias2` FROM ", null, + + "then (basecube.msr12) else 0 end) as `alias1`, 0 as `alias2` FROM ", null, " group by basecube.dim1 ", getWhereForHourly2days(cubeName, "C1_testfact2_raw_base")); String expected2 = - getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, 0.0 as `alias1`, sum((basecube.msr1)) " + getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, 0 as `alias1`, sum((basecube.msr1)) " + "as `alias2` FROM", null, " group by basecube.dim1 ", getWhereForHourly2days(cubeName, "c1_testfact1_raw_base")); compareContains(expected1, hqlQuery); @@ -726,10 +726,10 @@ public class TestBaseCubeQueries extends TestQueryRewrite { + "and sum(msr1) > 500", tconf); String expected1 = getExpectedQuery(cubeName, "SELECT sum(case when ((basecube.dim13) = 'x') then (basecube.msr12) else 0 end) " - + "as `alias0`, 0.0 as `alias1` FROM ", null, "", + + "as `alias0`, 0 as `alias1` FROM ", null, "", getWhereForHourly2days(cubeName, "C1_testfact2_raw_base")); String expected2 = - getExpectedQuery(cubeName, "SELECT 0.0 as `alias0`, sum((basecube.msr1)) as `alias1` FROM ", null, "", + getExpectedQuery(cubeName, "SELECT 0 as `alias0`, sum((basecube.msr1)) as `alias1` FROM ", null, "", getWhereForHourly2days(cubeName, "c1_testfact1_raw_base")); compareContains(expected1, hqlQuery); compareContains(expected2, hqlQuery); @@ -748,10 +748,10 @@ public class TestBaseCubeQueries extends TestQueryRewrite { + "and sum(msr1) > 500", tconf); String expected1 = getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, sum(case when ((basecube.dim13) = 'x') then " - + "(basecube.msr12) else 0 end) as `alias1`, 0.0 as `alias2` FROM", null, " group by basecube.dim1", + + "(basecube.msr12) else 0 end) as `alias1`, 0 as `alias2` FROM", null, " group by basecube.dim1", getWhereForHourly2days(cubeName, "C1_testfact2_raw_base")); String expected2 = - getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, 0.0 as `alias1`, sum((basecube.msr1)) " + getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, 0 as `alias1`, sum((basecube.msr1)) " + "as `alias2` FROM", null, " group by basecube.dim1", getWhereForHourly2days(cubeName, "c1_testfact1_raw_base")); compareContains(expected1, hqlQuery); @@ -876,10 +876,10 @@ public class TestBaseCubeQueries extends TestQueryRewrite { + "having roundedmsr2 > 0", conf); expected1 = getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, sum((basecube.msr12)) " - + "as `alias2`, 0.0 as `alias3` FROM ", null, " group by basecube.dim1, basecube.dim11", + + "as `alias2`, 0 as `alias3` FROM ", null, " group by basecube.dim1, basecube.dim11", getWhereForDailyAndHourly2days(cubeName, "C1_testFact2_BASE")); expected2 = getExpectedQuery(cubeName, - "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, 0.0 as `alias2`, " + "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, 0 as `alias2`, " + "sum((basecube.msr2)) as `alias3` FROM ", null, " group by basecube.dim1, basecube.dim11", getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE")); @@ -895,10 +895,10 @@ public class TestBaseCubeQueries extends TestQueryRewrite { + "having msr12 > 2 and roundedmsr2 > 0", conf); expected1 = getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, sum((basecube.msr12)) as `alias2`, " - + "0.0 as `alias3` FROM ", null, " group by basecube.dim1, basecube.dim11", + + "0 as `alias3` FROM ", null, " group by basecube.dim1, basecube.dim11", getWhereForDailyAndHourly2days(cubeName, "C1_testFact2_BASE")); expected2 = getExpectedQuery(cubeName, - "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, 0.0 as `alias2`, " + "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, 0 as `alias2`, " + "sum((basecube.msr2)) as `alias3` FROM ", null, " group by basecube.dim1, basecube.dim11", getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE")); @@ -915,10 +915,10 @@ public class TestBaseCubeQueries extends TestQueryRewrite { + "having msr12 > 2 and roundedmsr2 > 0", conf); expected1 = getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, sum((basecube.msr12)) " - + "as `alias2`, 0.0 as `alias4` FROM ", null, " group by basecube.dim1, basecube.dim11", + + "as `alias2`, 0 as `alias4` FROM ", null, " group by basecube.dim1, basecube.dim11", getWhereForDailyAndHourly2days(cubeName, "C1_testFact2_BASE")); expected2 = getExpectedQuery(cubeName, - "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, 0.0 as `alias2`, " + "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, 0 as `alias2`, " + "sum((basecube.msr2)) as `alias4` FROM ", null, " group by basecube.dim1, basecube.dim11", getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE")); @@ -934,11 +934,11 @@ public class TestBaseCubeQueries extends TestQueryRewrite { + "having msr12+roundedmsr2 <= 1000 and msr12 > 2 and roundedmsr2 > 0", conf); expected1 = getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, sum((basecube.msr12)) as `alias2`, " - + "0.0 as `alias3` FROM ", null, " group by basecube.dim1, basecube.dim11", + + "0 as `alias3` FROM ", null, " group by basecube.dim1, basecube.dim11", getWhereForDailyAndHourly2days(cubeName, "C1_testFact2_BASE")); expected2 = getExpectedQuery(cubeName, - "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, 0.0 as `alias2`, " + "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, 0 as `alias2`, " + "sum((basecube.msr2)) as `alias3` FROM ", null, " group by basecube.dim1, basecube.dim11", getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE")); @@ -954,10 +954,10 @@ public class TestBaseCubeQueries extends TestQueryRewrite { + "having msr12+roundedmsr2 <= 1000", conf); expected1 = getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, sum((basecube.msr12)) as `alias2`, " - + "0.0 as `alias3` FROM", null, " group by basecube.dim1, basecube.dim11", + + "0 as `alias3` FROM", null, " group by basecube.dim1, basecube.dim11", getWhereForDailyAndHourly2days(cubeName, "C1_testFact2_BASE")); expected2 = getExpectedQuery(cubeName, - "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, 0.0 as `alias2`, sum((basecube.msr2)) " + "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, 0 as `alias2`, sum((basecube.msr2)) " + "as `alias3` FROM", null, " group by basecube.dim1, basecube.dim11", getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE")); @@ -974,10 +974,10 @@ public class TestBaseCubeQueries extends TestQueryRewrite { + "having round(msr12+roundedmsr2) <= 1000", conf); expected1 = getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, sum((basecube.msr12)) as `alias2`, " - + "0.0 as `alias3` FROM ", null, " group by basecube.dim1, basecube.dim11", + + "0 as `alias3` FROM ", null, " group by basecube.dim1, basecube.dim11", getWhereForDailyAndHourly2days(cubeName, "C1_testFact2_BASE")); expected2 = getExpectedQuery(cubeName, - " SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, 0.0 as `alias2`, " + " SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, 0 as `alias2`, " + "sum((basecube.msr2)) as `alias3` FROM ", null, " group by basecube.dim1, basecube.dim11", getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE")); @@ -999,10 +999,10 @@ public class TestBaseCubeQueries extends TestQueryRewrite { + "having msr12 > 2 and roundedmsr2 > 0", conf); expected1 = getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, sum((basecube.msr12)) as `alias2`, " - + "0.0 as `alias3` FROM ", null, " group by basecube.dim1, basecube.dim11", + + "0 as `alias3` FROM ", null, " group by basecube.dim1, basecube.dim11", getWhereForDailyAndHourly2days(cubeName, "C1_testFact2_BASE")); expected2 = getExpectedQuery(cubeName, - "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, 0.0 as `alias2`, " + "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, 0 as `alias2`, " + "sum((basecube.msr2)) as `alias3` FROM ", null, " group by basecube.dim1, basecube.dim11", getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE")); String begin = "select (basecube.alias0) as `dim1`, (basecube.alias1) as `dim11` from"; @@ -1017,10 +1017,10 @@ public class TestBaseCubeQueries extends TestQueryRewrite { + "having msr12 > 2 and roundedmsr2 > 0 and msr2 > 100", conf); expected1 = getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, sum((basecube.msr12)) as `alias2`, " - + "0.0 as `alias3` FROM ", null, " group by basecube.dim1, basecube.dim11", + + "0 as `alias3` FROM ", null, " group by basecube.dim1, basecube.dim11", getWhereForDailyAndHourly2days(cubeName, "C1_testFact2_BASE")); expected2 = getExpectedQuery(cubeName, - "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, 0.0 as `alias2`, " + "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, 0 as `alias2`, " + "sum((basecube.msr2)) as `alias3` FROM ", null, " group by basecube.dim1, basecube.dim11", getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE")); @@ -1035,11 +1035,11 @@ public class TestBaseCubeQueries extends TestQueryRewrite { + "having msr12+roundedmsr2 <= 1000", conf); expected1 = getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, sum((basecube.msr12)) " - + "as `alias2`, 0.0 as `alias3` FROM ", + + "as `alias2`, 0 as `alias3` FROM ", null, " group by basecube.dim1, basecube.dim11", getWhereForDailyAndHourly2days(cubeName, "C1_testFact2_BASE")); expected2 = getExpectedQuery(cubeName, - "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, 0.0 as `alias2`, " + "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, 0 as `alias2`, " + "sum((basecube.msr2)) as `alias3` FROM ", null, " group by basecube.dim1, basecube.dim11", getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE")); @@ -1056,11 +1056,11 @@ public class TestBaseCubeQueries extends TestQueryRewrite { + "having msr12 > 2 and roundedmsr2 > 0 and msr12+roundedmsr2 <= 1000", conf); expected1 = getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, sum((basecube.msr12)) as `alias2`, " - + "0.0 as `alias3` FROM ", + + "0 as `alias3` FROM ", null, " group by basecube.dim1, basecube.dim11", getWhereForDailyAndHourly2days(cubeName, "C1_testFact2_BASE")); expected2 = getExpectedQuery(cubeName, - "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, 0.0 as `alias2`, " + "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, 0 as `alias2`, " + "sum((basecube.msr2)) as `alias3` FROM ", null, " group by basecube.dim1, basecube.dim11", getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE")); @@ -1078,11 +1078,11 @@ public class TestBaseCubeQueries extends TestQueryRewrite { + "having msr12 > 2 or roundedmsr2 > 0 or msr12+roundedmsr2 <= 1000", conf); expected1 = getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, sum((basecube.msr12)) as `alias2`, " - + "0.0 as `alias3` FROM ", + + "0 as `alias3` FROM ", null, " group by basecube.dim1, basecube.dim11", getWhereForDailyAndHourly2days(cubeName, "C1_testFact2_BASE")); expected2 = getExpectedQuery(cubeName, - "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, 0.0 as `alias2`, " + "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, 0 as `alias2`, " + "sum((basecube.msr2)) as `alias3` FROM ", null, " group by basecube.dim1, basecube.dim11", getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE")); http://git-wip-us.apache.org/repos/asf/lens/blob/a7ec47ed/lens-cube/src/test/java/org/apache/lens/cube/parse/TestBridgeTableQueries.java ---------------------------------------------------------------------- diff --git a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestBridgeTableQueries.java b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestBridgeTableQueries.java index 9fbeb41..09dcf36 100644 --- a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestBridgeTableQueries.java +++ b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestBridgeTableQueries.java @@ -206,7 +206,7 @@ public class TestBridgeTableQueries extends TestQueryRewrite { String query = "select usersports.name, msr2, msr12 from basecube where " + TWO_DAYS_RANGE; String hqlQuery = rewrite(query, hConf); String expected1 = getExpectedQuery("basecube", - "SELECT (usersports.balias0) as `alias0`, sum((basecube.msr2)) as `alias1`, 0.0 as `alias2` FROM ", + "SELECT (usersports.balias0) as `alias0`, sum((basecube.msr2)) as `alias1`, 0 as `alias2` FROM ", " join " + getDbName() + "c1_usertable userdim ON basecube.userid = userdim.id " + " join (select user_interests.user_id as user_id,collect_set(usersports.name) as balias0" + " from " @@ -215,7 +215,7 @@ public class TestBridgeTableQueries extends TestQueryRewrite { + " group by user_interests.user_id) usersports" + " on userdim.id = usersports.user_id ", null, "group by usersports.balias0", null, getWhereForDailyAndHourly2days("basecube", "c1_testfact1_base")); String expected2 = getExpectedQuery("basecube", - "SELECT (usersports.balias0) as `alias0`, 0.0 as `alias1`, sum((basecube.msr12)) as `alias2` FROM ", + "SELECT (usersports.balias0) as `alias0`, 0 as `alias1`, sum((basecube.msr12)) as `alias2` FROM ", " join " + getDbName() + "c1_usertable userdim ON basecube.userid = userdim.id " + " join (select user_interests.user_id as user_id,collect_set(usersports.name) as balias0" + " from " @@ -238,7 +238,7 @@ public class TestBridgeTableQueries extends TestQueryRewrite { query = "select sports, msr2, msr12 from basecube where " + TWO_DAYS_RANGE; hqlQuery = rewrite(query, hConf); expected1 = getExpectedQuery("basecube", - "SELECT (usersports.balias0) as `alias0`, sum((basecube.msr2)) as `alias1`, 0.0 as `alias2` FROM ", + "SELECT (usersports.balias0) as `alias0`, sum((basecube.msr2)) as `alias1`, 0 as `alias2` FROM ", " join " + getDbName() + "c1_usertable userdim ON basecube.userid = userdim.id " + " join (select user_interests.user_id as user_id,collect_set(usersports.name) as balias0" + " from " + getDbName() + "c1_user_interests_tbl user_interests" + " join " + getDbName() @@ -246,7 +246,7 @@ public class TestBridgeTableQueries extends TestQueryRewrite { + " group by user_interests.user_id) usersports" + " on userdim.id = usersports.user_id ", null, "group by usersports.balias0", null, getWhereForDailyAndHourly2days("basecube", "c1_testfact1_base")); expected2 = getExpectedQuery("basecube", - "SELECT (usersports.balias0) as `alias0`, 0.0 as `alias1`, sum((basecube.msr12)) " + "SELECT (usersports.balias0) as `alias0`, 0 as `alias1`, sum((basecube.msr12)) " + "as `alias2` FROM ", " join " + getDbName() + "c1_usertable userdim ON basecube.userid = userdim.id " + " join (select user_interests.user_id as user_id,collect_set(usersports.name) as balias0" + " from " @@ -625,7 +625,7 @@ public class TestBridgeTableQueries extends TestQueryRewrite { + " and usersports.name = 'CRICKET'"; String hqlQuery = rewrite(query, hConf); String expected1 = getExpectedQuery("basecube", - "SELECT (usersports.balias0) as `alias0`, sum((basecube.msr2)) as `alias1`, 0.0 " + "SELECT (usersports.balias0) as `alias0`, sum((basecube.msr2)) as `alias1`, 0 " + "as `alias2` FROM ", " join " + getDbName() + "c1_usertable userdim ON basecube.userid = userdim.id " + " join (select user_interests.user_id as user_id,collect_set(usersports.name) as balias0" + " from " @@ -635,7 +635,7 @@ public class TestBridgeTableQueries extends TestQueryRewrite { " and array_contains(usersports.balias0,'CRICKET') group by usersports.balias0", null, getWhereForDailyAndHourly2days("basecube", "c1_testfact1_base")); String expected2 = getExpectedQuery("basecube", - "SELECT (usersports.balias0) as `alias0`, 0.0 as `alias1`, sum((basecube.msr12)) " + "SELECT (usersports.balias0) as `alias0`, 0 as `alias1`, sum((basecube.msr12)) " + "as `alias2` FROM", " join " + getDbName() + "c1_usertable userdim ON basecube.userid = userdim.id " + " join (select user_interests.user_id as user_id,collect_set(usersports.name) as balias0" + " from " @@ -656,7 +656,7 @@ public class TestBridgeTableQueries extends TestQueryRewrite { query = "select sports, msr2, msr12 from basecube where " + TWO_DAYS_RANGE + " and sports = 'CRICKET'"; hqlQuery = rewrite(query, hConf); expected1 = getExpectedQuery("basecube", - "SELECT (usersports.balias0) as `alias0`, sum((basecube.msr2)) as `alias1`, 0.0 " + "SELECT (usersports.balias0) as `alias0`, sum((basecube.msr2)) as `alias1`, 0 " + "as `alias2` FROM ", " join " + getDbName() + "c1_usertable userdim ON basecube.userid = userdim.id " + " join (select user_interests.user_id as user_id,collect_set(usersports.name) as balias0" + " from " @@ -666,7 +666,7 @@ public class TestBridgeTableQueries extends TestQueryRewrite { "and array_contains(usersports.balias0,'CRICKET') group by usersports.balias0", null, getWhereForDailyAndHourly2days("basecube", "c1_testfact1_base")); expected2 = getExpectedQuery("basecube", - "SELECT (usersports.balias0) as `alias0`, 0.0 as `alias1`, sum((basecube.msr12)) " + "SELECT (usersports.balias0) as `alias0`, 0 as `alias1`, sum((basecube.msr12)) " + "as `alias2` FROM ", " join " + getDbName() + "c1_usertable userdim ON basecube.userid = userdim.id " + " join (select user_interests.user_id as user_id,collect_set(usersports.name) as balias0" + " from " @@ -693,7 +693,7 @@ public class TestBridgeTableQueries extends TestQueryRewrite { + " and usersports.name = 'CRICKET,FOOTBALL'"; String hqlQuery = rewrite(query, conf); String expected1 = getExpectedQuery("basecube", - "SELECT (usersports.name) as `alias0`, sum((basecube.msr2)) as `alias1`, 0.0 as `alias2` FROM ", + "SELECT (usersports.name) as `alias0`, sum((basecube.msr2)) as `alias1`, 0 as `alias2` FROM ", " join " + getDbName() + "c1_usertable userdim ON basecube.userid = userdim.id " + " join (select user_interests.user_id as user_id,collect_set(usersports.name) as name" + " from " + getDbName() + "c1_user_interests_tbl user_interests" + " join " + getDbName() @@ -702,7 +702,7 @@ public class TestBridgeTableQueries extends TestQueryRewrite { " and usersports.name = 'CRICKET,FOOTBALL' group by usersports.name", null, getWhereForDailyAndHourly2days("basecube", "c1_testfact1_base")); String expected2 = getExpectedQuery("basecube", - "SELECT (usersports.name) as `alias0`, 0.0 as `alias1`, sum((basecube.msr12)) as `alias2` FROM ", + "SELECT (usersports.name) as `alias0`, 0 as `alias1`, sum((basecube.msr12)) as `alias2` FROM ", " join " + getDbName() + "c1_usertable userdim ON basecube.userid = userdim.id " + " join (select user_interests.user_id as user_id,collect_set(usersports.name) as name" + " from " @@ -724,7 +724,7 @@ public class TestBridgeTableQueries extends TestQueryRewrite { + " and sports = 'CRICKET,FOOTBALL'"; hqlQuery = rewrite(query, conf); expected1 = getExpectedQuery("basecube", - "SELECT (usersports.name) as `alias0`, sum((basecube.msr2)) as `alias1`, 0.0 " + "SELECT (usersports.name) as `alias0`, sum((basecube.msr2)) as `alias1`, 0 " + "as `alias2` FROM ", " join " + getDbName() + "c1_usertable userdim ON basecube.userid = userdim.id " + " join (select user_interests.user_id as user_id,collect_set(usersports.name) as name" + " from " @@ -734,7 +734,7 @@ public class TestBridgeTableQueries extends TestQueryRewrite { " and usersports.name = 'CRICKET,FOOTBALL' group by usersports.name", null, getWhereForDailyAndHourly2days("basecube", "c1_testfact1_base")); expected2 = getExpectedQuery("basecube", - "SELECT (usersports.name) as `alias0`, 0.0 as `alias1`, sum((basecube.msr12)) " + "SELECT (usersports.name) as `alias0`, 0 as `alias1`, sum((basecube.msr12)) " + "as `alias2` FROM ", " join " + getDbName() + "c1_usertable userdim ON basecube.userid = userdim.id " + " join (select user_interests.user_id as user_id,collect_set(usersports.name) as name" + " from " @@ -878,7 +878,7 @@ public class TestBridgeTableQueries extends TestQueryRewrite { + " and usersports.name in ('CRICKET', 'FOOTBALL')"; String hqlQuery = rewrite(query, hConf); String expected1 = getExpectedQuery("basecube", - "SELECT (usersports.balias0) as `alias0`, sum((basecube.msr2)) as `alias1`, 0.0 " + "SELECT (usersports.balias0) as `alias0`, sum((basecube.msr2)) as `alias1`, 0 " + "as `alias2` FROM ", " join " + getDbName() + "c1_usertable userdim ON basecube.userid = userdim.id " + " join (select user_interests.user_id as user_id, collect_set(substr(usersports.name, 3)) as balias0, " @@ -890,7 +890,7 @@ public class TestBridgeTableQueries extends TestQueryRewrite { + " group by usersports.balias0", null, getWhereForDailyAndHourly2days("basecube", "c1_testfact1_base")); String expected2 = getExpectedQuery("basecube", - "SELECT (usersports.balias0) as `alias0`, 0.0 as `alias1`, sum((basecube.msr12)) as `alias2` FROM " + "SELECT (usersports.balias0) as `alias0`, 0 as `alias1`, sum((basecube.msr12)) as `alias2` FROM " , " join " + getDbName() + "c1_usertable userdim ON basecube.userid = userdim.id " + " join (select user_interests.user_id as user_id, collect_set(substr(usersports.name, 3)) as balias0, " @@ -915,7 +915,7 @@ public class TestBridgeTableQueries extends TestQueryRewrite { + "('CRICKET', 'FOOTBALL')"; hqlQuery = rewrite(query, hConf); expected1 = getExpectedQuery("basecube", - "SELECT (usersports.balias0) as `alias0`, sum((basecube.msr2)) as `alias1`, 0.0 " + "SELECT (usersports.balias0) as `alias0`, sum((basecube.msr2)) as `alias1`, 0 " + "as `alias2` FROM ", " join " + getDbName() + "c1_usertable userdim ON basecube.userid = userdim.id " + " join (select user_interests.user_id as user_id, collect_set(substr((usersports.name), 3)) as balias0, " @@ -927,7 +927,7 @@ public class TestBridgeTableQueries extends TestQueryRewrite { + " group by usersports.balias0", null, getWhereForDailyAndHourly2days("basecube", "c1_testfact1_base")); expected2 = getExpectedQuery("basecube", - "SELECT (usersports.balias0) as `alias0`, 0.0 as `alias1`, sum((basecube.msr12)) " + "SELECT (usersports.balias0) as `alias0`, 0 as `alias1`, sum((basecube.msr12)) " + "as `alias2` FROM ", " join " + getDbName() + "c1_usertable userdim ON basecube.userid = userdim.id " + " join (select user_interests.user_id as user_id, collect_set(substr((usersports.name), 3)) as balias0," @@ -957,7 +957,7 @@ public class TestBridgeTableQueries extends TestQueryRewrite { + " and usersports.name = 'CRICKET,FOOTBALL'"; String hqlQuery = rewrite(query, conf); String expected1 = getExpectedQuery("basecube", - "SELECT substr((usersports.name), 3) as `alias0`, sum((basecube.msr2)) as `alias1`, 0.0 " + "SELECT substr((usersports.name), 3) as `alias0`, sum((basecube.msr2)) as `alias1`, 0 " + "as `alias2` FROM ", " join " + getDbName() + "c1_usertable userdim ON basecube.userid = userdim.id " + " join (select user_interests.user_id as user_id,collect_set(usersports.name) as name" + " from " @@ -967,7 +967,7 @@ public class TestBridgeTableQueries extends TestQueryRewrite { " and usersports.name = 'CRICKET,FOOTBALL' group by substr(usersports.name, 3)", null, getWhereForDailyAndHourly2days("basecube", "c1_testfact1_base")); String expected2 = getExpectedQuery("basecube", - "SELECT substr((usersports.name), 3) as `alias0`, 0.0 as `alias1`, sum((basecube.msr12)) " + "SELECT substr((usersports.name), 3) as `alias0`, 0 as `alias1`, sum((basecube.msr12)) " + "as `alias2` FROM ", " join " + getDbName() + "c1_usertable userdim ON basecube.userid = userdim.id " + " join (select user_interests.user_id as user_id,collect_set(usersports.name) as name" + " from " @@ -990,7 +990,7 @@ public class TestBridgeTableQueries extends TestQueryRewrite { + "'CRICKET,FOOTBALL'"; hqlQuery = rewrite(query, conf); expected1 = getExpectedQuery("basecube", - "SELECT substr((usersports.name), 3) as `alias0`, sum((basecube.msr2)) as `alias1`, 0.0 " + "SELECT substr((usersports.name), 3) as `alias0`, sum((basecube.msr2)) as `alias1`, 0 " + "as `alias2` FROM ", " join " + getDbName() + "c1_usertable userdim ON basecube.userid = userdim.id " + " join (select user_interests.user_id as user_id,collect_set(usersports.name) as name" + " from " @@ -1000,7 +1000,7 @@ public class TestBridgeTableQueries extends TestQueryRewrite { " and usersports.name = 'CRICKET,FOOTBALL' group by substr(usersports.name, 3)", null, getWhereForDailyAndHourly2days("basecube", "c1_testfact1_base")); expected2 = getExpectedQuery("basecube", - "SELECT substr((usersports.name), 3) as `alias0`, 0.0 as `alias1`, sum((basecube.msr12)) " + "SELECT substr((usersports.name), 3) as `alias0`, 0 as `alias1`, sum((basecube.msr12)) " + "as `alias2` FROM ", " join " + getDbName() + "c1_usertable userdim ON basecube.userid = userdim.id " + " join (select user_interests.user_id as user_id,collect_set(usersports.name) as name" + " from " http://git-wip-us.apache.org/repos/asf/lens/blob/a7ec47ed/lens-cube/src/test/java/org/apache/lens/cube/parse/TestCubeSegmentationRewriter.java ---------------------------------------------------------------------- diff --git a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestCubeSegmentationRewriter.java b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestCubeSegmentationRewriter.java index 8a76f4a..72c67dd 100644 --- a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestCubeSegmentationRewriter.java +++ b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestCubeSegmentationRewriter.java @@ -157,15 +157,15 @@ public class TestCubeSegmentationRewriter extends TestQueryRewrite { getConf()); String query1, query2, query3; query1 = getExpectedQuery("testcube", - "select testcube.cityid as alias0, 0.0 as alias1, sum(testcube.segmsr1) as alias2 FROM ", null, + "select testcube.cityid as alias0, 0 as alias1, sum(testcube.segmsr1) as alias2 FROM ", null, "group by testcube.cityid", getWhereForDailyAndHourly2days("testcube", "c1_b1fact1")); query2 = getExpectedQuery("testcube", - "select testcube.cityid as alias0, 0.0 as alias1, sum(testcube.segmsr1) as alias2 FROM ", null, + "select testcube.cityid as alias0, 0 as alias1, sum(testcube.segmsr1) as alias2 FROM ", null, "group by testcube.cityid", getWhereForDailyAndHourly2days("testcube", "c0_b2fact1")); query3 = getExpectedQuery("testcube", - "select testcube.cityid as alias0, sum(testcube.msr2) as alias1, 0.0 as alias2 FROM ", null, + "select testcube.cityid as alias0, sum(testcube.msr2) as alias1, 0 as alias2 FROM ", null, "group by testcube.cityid", getWhereForHourly2days("testcube", "c1_testfact2")); compareUnionQuery(ctx, @@ -214,15 +214,15 @@ public class TestCubeSegmentationRewriter extends TestQueryRewrite { join3 = "join " + getDbName() + "c1_citytable cubecity ON testcube.cityid = cubecity.id AND (cubecity.dt = 'latest')"; query1 = getExpectedQuery("testcube", - "select testcube.cityid as alias0, 0.0 as alias1, sum(testcube.segmsr1) as alias2 FROM ", join1, + "select testcube.cityid as alias0, 0 as alias1, sum(testcube.segmsr1) as alias2 FROM ", join1, "cubecity1.name='blah'", "group by testcube.cityid", null, getWhereForDailyAndHourly2days("testcube", "c1_b1fact1")); query2 = getExpectedQuery("testcube", - "select testcube.cityid as alias0, 0.0 as alias1, sum(testcube.segmsr1) as alias2 FROM ", join2, + "select testcube.cityid as alias0, 0 as alias1, sum(testcube.segmsr1) as alias2 FROM ", join2, "cubecity2.name='blah'", "group by testcube.cityid", null, getWhereForDailyAndHourly2days("testcube", "c0_b2fact1")); query3 = getExpectedQuery("testcube", - "select testcube.cityid as alias0, sum(testcube.msr2) as alias1, 0.0 as alias2 FROM ", join3, + "select testcube.cityid as alias0, sum(testcube.msr2) as alias1, 0 as alias2 FROM ", join3, "cubecity.name='blah'", "group by testcube.cityid", null, getWhereForHourly2days("testcube", "c1_testfact2")); compareUnionQuery(ctx, @@ -271,17 +271,17 @@ public class TestCubeSegmentationRewriter extends TestQueryRewrite { + " xusersports.user_id"; query1 = getExpectedQuery("testcube", "select (usersports.balias0) AS `alias0`, (xusersports.balias0) AS `alias1`, (yusersports.balias0) AS `alias2`, " - + "sum((testcube.segmsr1)) AS `alias3`, 0.0 AS `alias4` FROM ", joinExpr, null, + + "sum((testcube.segmsr1)) AS `alias3`, 0 AS `alias4` FROM ", joinExpr, null, "group by (usersports.balias0), (xusersports.balias0), (yusersports.balias0), ", null, getWhereForDailyAndHourly2days("testcube", "c1_b1fact1")); query2 = getExpectedQuery("testcube", "select (usersports.balias0) AS `alias0`, (xusersports.balias0) AS `alias1`, (yusersports.balias0) AS `alias2`, " - + "sum((testcube.segmsr1)) AS `alias3`, 0.0 AS `alias4` FROM ", joinExpr, null, + + "sum((testcube.segmsr1)) AS `alias3`, 0 AS `alias4` FROM ", joinExpr, null, "group by (usersports.balias0), (xusersports.balias0), (yusersports.balias0)", null, getWhereForDailyAndHourly2days("testcube", "c0_b2fact1")); query3 = getExpectedQuery("testcube", "select (usersports.balias0) AS `alias0`, (xusersports.balias0) AS `alias1`, (yusersports.balias0) AS `alias2`, " - + "0.0 AS `alias3`, sum(testcube.msr2) AS `alias4` FROM ", joinExpr, null, + + "0 AS `alias3`, sum(testcube.msr2) AS `alias4` FROM ", joinExpr, null, "group by (usersports.balias0), (xusersports.balias0), (yusersports.balias0)", null, getWhereForHourly2days("testcube", "c1_testfact2")); compareUnionQuery(ctx, @@ -297,15 +297,15 @@ public class TestCubeSegmentationRewriter extends TestQueryRewrite { CubeQueryContext ctx = rewriteCtx(userQuery, getConf()); String query1, query2, query3; query1 = getExpectedQuery("testcube", - "select testcube.cityid as alias0, 0.0 as alias1, sum(testcube.segmsr1) as alias2 FROM ", null, + "select testcube.cityid as alias0, 0 as alias1, sum(testcube.segmsr1) as alias2 FROM ", null, "group by testcube.cityid", getWhereForDailyAndHourly2days("testcube", "c1_b1fact1")); query2 = getExpectedQuery("testcube", - "select testcube.cityid as alias0, 0.0 as alias1, sum(testcube.segmsr1) as alias2 FROM ", null, + "select testcube.cityid as alias0, 0 as alias1, sum(testcube.segmsr1) as alias2 FROM ", null, "group by testcube.cityid", getWhereForDailyAndHourly2days("testcube", "c0_b2fact1")); query3 = getExpectedQuery("testcube", - "select testcube.cityid as alias0, sum(testcube.msr2) as alias1, 0.0 as alias2 FROM ", null, + "select testcube.cityid as alias0, sum(testcube.msr2) as alias1, 0 as alias2 FROM ", null, "group by testcube.cityid", getWhereForHourly2days("testcube", "c1_testfact2")); compareUnionQuery(ctx, http://git-wip-us.apache.org/repos/asf/lens/blob/a7ec47ed/lens-cube/src/test/java/org/apache/lens/cube/parse/TestUnionAndJoinCandidates.java ---------------------------------------------------------------------- diff --git a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestUnionAndJoinCandidates.java b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestUnionAndJoinCandidates.java index ccc3bf4..c16062c 100644 --- a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestUnionAndJoinCandidates.java +++ b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestUnionAndJoinCandidates.java @@ -100,11 +100,11 @@ public class TestUnionAndJoinCandidates extends TestQueryRewrite { assertTrue(rewrittenQuery.contains("UNION ALL")); String expectedInnerSelect1 = "SELECT (basecube.union_join_ctx_cityid) as `alias0`, sum(case " + "when ((cubecityjoinunionctx.name) = 'blr') then (basecube.union_join_ctx_msr1) else 0 end) " - + "as `alias1`, 0.0 as `alias2` FROM TestQueryRewrite.c1_union_join_ctx_fact1 basecube "; + + "as `alias1`, 0 as `alias2` FROM TestQueryRewrite.c1_union_join_ctx_fact1 basecube "; String expectedInnerSelect2 = "SELECT (basecube.union_join_ctx_cityid) as `alias0`, " + "sum(case when ((cubecityjoinunionctx.name) = 'blr') then (basecube.union_join_ctx_msr1) else 0 end) " - + "as `alias1`, 0.0 as `alias2` FROM TestQueryRewrite.c1_union_join_ctx_fact2 basecube"; - String expectedInnerSelect3 = "SELECT (basecube.union_join_ctx_cityid) as `alias0`, 0.0 as `alias1`, " + + "as `alias1`, 0 as `alias2` FROM TestQueryRewrite.c1_union_join_ctx_fact2 basecube"; + String expectedInnerSelect3 = "SELECT (basecube.union_join_ctx_cityid) as `alias0`, 0 as `alias1`, " + "sum(case when ((cubecityjoinunionctx.name) = 'blr') then (basecube.union_join_ctx_msr2) else 0 end) " + "as `alias2` FROM TestQueryRewrite.c1_union_join_ctx_fact3 basecube"; String outerSelect = "SELECT (basecube.alias0) as `union_join_ctx_cityid`, sum((basecube.alias1)) " @@ -129,12 +129,12 @@ public class TestUnionAndJoinCandidates extends TestQueryRewrite { String rewrittenQuery = rewrite("select " + colsSelected + " from basecube where " + whereCond, conf); assertTrue(rewrittenQuery.contains("UNION ALL")); String expectedInnerSelect1 = "SELECT case when (basecube.union_join_ctx_cityid) is null then 0 " - + "else (basecube.union_join_ctx_cityid) end as `alias0`, 0.0 as `alias1`, " + + "else (basecube.union_join_ctx_cityid) end as `alias0`, 0 as `alias1`, " + "sum((basecube.union_join_ctx_msr2)) as `alias2`, sum((basecube.union_join_ctx_msr4)) as `alias3` " + "FROM TestQueryRewrite.c1_union_join_ctx_fact4 basecube"; String expectedInnerSelect2 = "SELECT case when (basecube.union_join_ctx_cityid) is null then 0 " + "else (basecube.union_join_ctx_cityid) end as `alias0`, (basecube.union_join_ctx_msr22) as `alias1`, " - + "0.0 as `alias2`, 0.0 as `alias3` FROM TestQueryRewrite.c1_union_join_ctx_fact3 basecube"; + + "0 as `alias2`, 0 as `alias3` FROM TestQueryRewrite.c1_union_join_ctx_fact3 basecube"; String outerSelect = "SELECT (basecube.alias0) as `union_join_ctx_notnullcityid`, (basecube.alias1) " + "as `union_join_ctx_msr22`, case when ((sum((basecube.alias2)) + 0) = 0) then 0 else " + "(((sum((basecube.alias3)) + 0) * 100) / (sum((basecube.alias2)) + 0)) end as " @@ -150,19 +150,19 @@ public class TestUnionAndJoinCandidates extends TestQueryRewrite { @Test public void testDuplicateMeasureProjectionInJoinCandidate() throws ParseException, LensException { // union_join_ctx_msr2 is common between two storage candidates and it should be answered from one - // and the other fact will have it replaced with 0.0 + // and the other fact will have it replaced with 0 String colsSelected = " union_join_ctx_notnullcityid, sum(union_join_ctx_msr22) , " + "sum(union_join_ctx_msr2), sum(union_join_ctx_msr4) "; String whereCond = "(" + TWO_MONTHS_RANGE_UPTO_DAYS + ")"; String rewrittenQuery = rewrite("select " + colsSelected + " from basecube where " + whereCond, conf); assertTrue(rewrittenQuery.contains("UNION ALL")); String expectedInnerSelect1 = "SELECT case when (basecube.union_join_ctx_cityid) is null then 0 " - + "else (basecube.union_join_ctx_cityid) end as `alias0`, 0.0 as `alias1`, " + + "else (basecube.union_join_ctx_cityid) end as `alias0`, 0 as `alias1`, " + "sum((basecube.union_join_ctx_msr2)) as `alias2`, sum((basecube.union_join_ctx_msr4)) " + "as `alias3` FROM TestQueryRewrite.c1_union_join_ctx_fact4 basecube"; String expectedInnerSelect2 = "SELECT case when (basecube.union_join_ctx_cityid) is null then 0 else " + "(basecube.union_join_ctx_cityid) end as `alias0`, sum((basecube.union_join_ctx_msr22)) as `alias1`, " - + "0.0 as `alias2`, 0.0 as `alias3` FROM TestQueryRewrite.c1_union_join_ctx_fact3 basecube"; + + "0 as `alias2`, 0 as `alias3` FROM TestQueryRewrite.c1_union_join_ctx_fact3 basecube"; String outerSelect = "SELECT (basecube.alias0) as `union_join_ctx_notnullcityid`, sum((basecube.alias1)) " + "as `sum(union_join_ctx_msr22)`, sum((basecube.alias2)) as `sum(union_join_ctx_msr2)`, " + "sum((basecube.alias3)) as `sum(union_join_ctx_msr4)` FROM"; @@ -182,12 +182,12 @@ public class TestUnionAndJoinCandidates extends TestQueryRewrite { String whereCond = " union_join_ctx_zipcode = 'a' and union_join_ctx_cityid = 'b' and " + "(" + TWO_MONTHS_RANGE_UPTO_DAYS + ")"; String rewrittenQuery = rewrite("select " + colsSelected + " from basecube where " + whereCond + having, conf); - String expectedInnerSelect1 = "SELECT (basecube.union_join_ctx_cityid) as `alias0`, 0.0 as `alias1`, " + String expectedInnerSelect1 = "SELECT (basecube.union_join_ctx_cityid) as `alias0`, 0 as `alias1`, " + "sum((basecube.union_join_ctx_msr1)) as `alias2` FROM TestQueryRewrite.c1_union_join_ctx_fact1 basecube "; - String expectedInnerSelect2 = "SELECT (basecube.union_join_ctx_cityid) as `alias0`, 0.0 as `alias1`, " + String expectedInnerSelect2 = "SELECT (basecube.union_join_ctx_cityid) as `alias0`, 0 as `alias1`, " + "sum((basecube.union_join_ctx_msr1)) as `alias2` FROM TestQueryRewrite.c1_union_join_ctx_fact2 basecube "; String expectedInnerSelect3 = " SELECT (basecube.union_join_ctx_cityid) as `alias0`, " - + "sum((basecube.union_join_ctx_msr2)) as `alias1`, 0.0 as `alias2` " + + "sum((basecube.union_join_ctx_msr2)) as `alias1`, 0 as `alias2` " + "FROM TestQueryRewrite.c1_union_join_ctx_fact3 basecube "; String outerHaving = "HAVING (sum((basecube.alias2)) > 100)"; compareContains(expectedInnerSelect1, rewrittenQuery); @@ -208,14 +208,14 @@ public class TestUnionAndJoinCandidates extends TestQueryRewrite { expectedInnerSelect1 = "SELECT (basecube.union_join_ctx_cityid) as `alias0`, (cubecityjoinunionctx.name) " + "as `alias1`, case when (basecube.union_join_ctx_cityid) is null then 0 else " + "(basecube.union_join_ctx_cityid) end as `alias2`, sum((basecube.union_join_ctx_msr1)) as `alias3`, " - + "0.0 as `alias4` FROM TestQueryRewrite.c1_union_join_ctx_fact1 basecube"; + + "0 as `alias4` FROM TestQueryRewrite.c1_union_join_ctx_fact1 basecube"; expectedInnerSelect2 = "SELECT (basecube.union_join_ctx_cityid) as `alias0`, (cubecityjoinunionctx.name) " + "as `alias1`, case when (basecube.union_join_ctx_cityid) is null then 0 else " + "(basecube.union_join_ctx_cityid) end as `alias2`, sum((basecube.union_join_ctx_msr1)) as `alias3`, " - + "0.0 as `alias4` FROM TestQueryRewrite.c1_union_join_ctx_fact2"; + + "0 as `alias4` FROM TestQueryRewrite.c1_union_join_ctx_fact2"; expectedInnerSelect3 = "SELECT (basecube.union_join_ctx_cityid) as `alias0`, (cubecityjoinunionctx.name) " + "as `alias1`, case when (basecube.union_join_ctx_cityid) is null then 0 else " - + "(basecube.union_join_ctx_cityid) end as `alias2`, 0.0 as `alias3`, " + + "(basecube.union_join_ctx_cityid) end as `alias2`, 0 as `alias3`, " + "sum((basecube.union_join_ctx_msr2)) as `alias4` FROM TestQueryRewrite.c1_union_join_ctx_fact3"; String outerGroupBy = "GROUP BY (basecube.alias0), (basecube.alias1), (basecube.alias2)"; compareContains(outerSelect, rewrittenQuery); @@ -239,12 +239,12 @@ public class TestUnionAndJoinCandidates extends TestQueryRewrite { + "as `(sum(union_join_ctx_msr1) + 10)` FROM "; expectedInnerSelect1 = "SELECT (basecube.union_join_ctx_cityid) as `alias0`, " + "(cubecityjoinunionctx.name) as `alias1`, sum((basecube.union_join_ctx_msr1)) as `alias2`, " - + "0.0 as `alias3`, 0.0 as `alias4` FROM"; + + "0 as `alias3`, 0 as `alias4` FROM"; expectedInnerSelect2 = "SELECT (basecube.union_join_ctx_cityid) as `alias0`, " + "(cubecityjoinunionctx.name) as `alias1`, sum((basecube.union_join_ctx_msr1)) as `alias2`, " - + "0.0 as `alias3`, 0.0 as `alias4` FROM"; + + "0 as `alias3`, 0 as `alias4` FROM"; expectedInnerSelect3 = "SELECT (basecube.union_join_ctx_cityid) as `alias0`, (cubecityjoinunionctx.name) " - + "as `alias1`, 0.0 as `alias2`, sum((basecube.union_join_ctx_msr2)) as `alias3`, " + + "as `alias1`, 0 as `alias2`, sum((basecube.union_join_ctx_msr2)) as `alias3`, " + "sum(case when ((basecube.union_join_ctx_msr2) > 0) then (basecube.union_join_ctx_msr2) else 0 end) " + "as `alias4` FROM"; String innerGroupBy = "GROUP BY (basecube.union_join_ctx_cityid), (cubecityjoinunionctx.name)"; http://git-wip-us.apache.org/repos/asf/lens/blob/a7ec47ed/lens-cube/src/test/java/org/apache/lens/cube/parse/TestVirtualFactQueries.java ---------------------------------------------------------------------- diff --git a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestVirtualFactQueries.java b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestVirtualFactQueries.java index 94e836c..fe6b20d 100644 --- a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestVirtualFactQueries.java +++ b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestVirtualFactQueries.java @@ -86,11 +86,11 @@ public class TestVirtualFactQueries extends TestQueryRewrite { public void testVirtualFactUnionQuery() throws Exception { String expectedInnerSelect = getExpectedQuery("virtualcube", "SELECT (virtualcube.cityid) AS `alias0`," - + " sum((virtualcube.msr2)) AS `alias1`,0.0 AS `alias2` FROM ", + + " sum((virtualcube.msr2)) AS `alias1`,0 AS `alias2` FROM ", null, null, "GROUP BY (virtualcube.cityid)", null, getWhereForDailyAndHourly2days("virtualcube", "c1_testfact8_base")) + " UNION ALL " + getExpectedQuery("virtualcube", "SELECT (virtualcube.cityid) AS `alias0`," - + "0.0 AS `alias1`, sum((virtualcube.msr3)) AS `alias2` FROM ", + + "0 AS `alias1`, sum((virtualcube.msr3)) AS `alias2` FROM ", null, null, "GROUP BY (virtualcube.cityid)", null, getWhereForDailyAndHourly2days("virtualcube", "c1_testfact7_base"));