You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lens.apache.org by su...@apache.org on 2017/04/12 12:40:50 UTC

[3/4] lens git commit: Addressed final reviews and fixed checkstyle error

http://git-wip-us.apache.org/repos/asf/lens/blob/cb5e2a77/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 ba8a5e4..93dbfc3 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
@@ -37,7 +37,6 @@ import org.apache.lens.cube.error.LensCubeErrorCode;
 import org.apache.lens.cube.error.NoCandidateFactAvailableException;
 import org.apache.lens.cube.metadata.TimeRange;
 import org.apache.lens.cube.metadata.UpdatePeriod;
-import org.apache.lens.cube.parse.CandidateTablePruneCause.CandidateTablePruneCode;
 import org.apache.lens.server.api.error.LensException;
 
 import org.apache.commons.lang.time.DateUtils;
@@ -68,15 +67,12 @@ public class TestBaseCubeQueries extends TestQueryRewrite {
   }
 
   @Test
-  public void testNoCandidateFactAvailableExceptionCompareTo() throws Exception {
-    //maxCause : UNSUPPORTED_STORAGE
-    NoCandidateFactAvailableException ne1 =
-      (NoCandidateFactAvailableException)getLensExceptionInRewrite(
+  public void testNoUnionCandidateAndNoJoinCandidateErrorWeight() throws Exception {
+    LensException e1 = getLensExceptionInRewrite(
         "select dim1, test_time_dim, msr3, msr13 from basecube where " + TWO_DAYS_RANGE, conf);
-    //maxCause : STORAGE_NOT_AVAILABLE_IN_RANGE
-    NoCandidateFactAvailableException ne2 = (NoCandidateFactAvailableException)
-      getLensExceptionInRewrite("select dim1 from " + cubeName + " where " + LAST_YEAR_RANGE, getConf());
-    assertEquals(ne1.compareTo(ne2), -1);
+    LensException e2 = getLensExceptionInRewrite("select dim1 from " + cubeName
+        + " where " + LAST_YEAR_RANGE, getConf());
+    assertEquals(e1.getErrorWeight() - e2.getErrorWeight(), 1);
   }
 
   @Test
@@ -92,53 +88,9 @@ public class TestBaseCubeQueries extends TestQueryRewrite {
     e = getLensExceptionInRewrite("select dim1, test_time_dim, msr3, msr13 from basecube where "
       + TWO_DAYS_RANGE, conf);
     assertEquals(e.getErrorCode(),
-        LensCubeErrorCode.NO_CANDIDATE_FACT_AVAILABLE.getLensErrorInfo().getErrorCode());
-    NoCandidateFactAvailableException ne = (NoCandidateFactAvailableException) e;
-    //ne.briefAndDetailedError.getBriefCause()
-    //ne.getJsonMessage().brief
-    assertTrue(CandidateTablePruneCode.UNSUPPORTED_STORAGE.errorFormat.equals(ne.getJsonMessage().getBrief()));
-//    PruneCauses.BriefAndDetailedError pruneCauses = ne.getJsonMessage();
-//    String regexp = String.format(CandidateTablePruneCode.UNSUPPORTED_STORAGE.errorFormat,
-//      "Column Sets: (.*?)", "queriable together");
-//    Matcher matcher = Pattern.compile(regexp).matcher(pruneCauses.getBrief());
-//    assertTrue(matcher.matches(), pruneCauses.getBrief());
-//    assertEquals(matcher.groupCount(), 1);
-//    String columnSetsStr = matcher.group(1);
-//    assertNotEquals(columnSetsStr.indexOf("test_time_dim"), -1, columnSetsStr);
-//    assertNotEquals(columnSetsStr.indexOf("msr3, msr13"), -1);
-//
-//    /**
-//     * Verifying the BriefAndDetailedError:
-//     * 1. Check for missing columns(COLUMN_NOT_FOUND)
-//     *    and check the respective tables for each COLUMN_NOT_FOUND
-//     * 2. check for ELEMENT_IN_SET_PRUNED
-//     *
-//     */
-//    boolean columnNotFound = false;
-//    List<String> testTimeDimFactTables = Arrays.asList("c1_testfact3_raw_base",
-//        "c1_testfact5_base", "c1_testfact6_base", "c1_testfact1_raw_base",
-//        "c1_testfact4_raw_base", "c1_testfact3_base");
-//    List<String> factTablesForMeasures = Arrays.asList(
-//        "c2_testfact2_base","c2_testfact_deprecated","c1_union_join_ctx_fact1","c1_union_join_ctx_fact2",
-//        "c1_union_join_ctx_fact3","c1_union_join_ctx_fact5","c1_testfact2_base",
-//        "c1_union_join_ctx_fact6","c1_testfact2_raw_base","c1_testfact5_raw_base",
-//        "c3_testfact_deprecated","c1_testfact_deprecated","c4_testfact_deprecated",
-//        "c3_testfact2_base","c4_testfact2_base");
-//    for (Map.Entry<String, List<CandidateTablePruneCause>> entry : pruneCauses.getDetails().entrySet()) {
-//      if (entry.getValue().contains(CandidateTablePruneCause.columnNotFound(
-//          CandidateTablePruneCode.COLUMN_NOT_FOUND, "test_time_dim"))) {
-//        columnNotFound = true;
-//        compareStrings(testTimeDimFactTables, entry);
-//      }
-//      if (entry.getValue().contains(CandidateTablePruneCause.columnNotFound(
-//          CandidateTablePruneCode.COLUMN_NOT_FOUND, "msr3", "msr13"))) {
-//        columnNotFound = true;
-//        compareStrings(factTablesForMeasures, entry);
-//      }
-//    }
-//    Assert.assertTrue(columnNotFound);
- //   assertEquals(pruneCauses.getDetails().get("testfact1_base"),
- //     Arrays.asList(new CandidateTablePruneCause(CandidateTablePruneCode.ELEMENT_IN_SET_PRUNED)));
+        LensCubeErrorCode.NO_JOIN_CANDIDATE_AVAILABLE.getLensErrorInfo().getErrorCode());
+    assertTrue(e.getMessage().contains("[msr3, msr13]"));
+
   }
 
   private void compareStrings(List<String> factTablesList, Map.Entry<String, List<CandidateTablePruneCause>> entry) {
@@ -195,16 +147,16 @@ public class TestBaseCubeQueries extends TestQueryRewrite {
     Set<String> storageCandidates = new HashSet<String>();
     Set<StorageCandidate> scSet = CandidateUtil.getStorageCandidates(ctx.getCandidates());
     for (StorageCandidate sc : scSet) {
-      storageCandidates.add(sc.getName());
+      storageCandidates.add(sc.getStorageTable());
     }
     Assert.assertTrue(storageCandidates.contains("c1_testfact1_base"));
     Assert.assertTrue(storageCandidates.contains("c1_testfact2_base"));
     String hqlQuery = ctx.toHQL();
     String expected1 =
-      getExpectedQuery(cubeName, "SELECT sum(0.0) as `alias0`, sum((basecube.msr12)) as `alias1` FROM ", null,
+      getExpectedQuery(cubeName, "SELECT 0.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`, sum(0.0) as `alias1` FROM ", null,
+      getExpectedQuery(cubeName, "SELECT sum((basecube.msr2)) as `alias0`, 0.0 as `alias1` FROM ", null,
         null, getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE"));
     compareContains(expected1, hqlQuery);
     compareContains(expected2, hqlQuery);
@@ -221,21 +173,21 @@ public class TestBaseCubeQueries extends TestQueryRewrite {
     Set<String> storageCandidates = new HashSet<String>();
     Set<StorageCandidate> scSet = CandidateUtil.getStorageCandidates(ctx.getCandidates());
     for (StorageCandidate sc : scSet) {
-      storageCandidates.add(sc.getName());
+      storageCandidates.add(sc.getStorageTable());
     }
     Assert.assertEquals(storageCandidates.size(), 3);
     Assert.assertTrue(storageCandidates.contains("c1_testfact1_base"));
     Assert.assertTrue(storageCandidates.contains("c1_testfact2_base"));
     Assert.assertTrue(storageCandidates.contains("c1_testfact3_base"));
     String hqlQuery = ctx.toHQL();
-    String expected1 = getExpectedQuery(cubeName, "SELECT sum(0.0) as `alias0`, count(0.0) as `alias1`, "
+    String expected1 = getExpectedQuery(cubeName, "SELECT 0.0 as `alias0`, 0.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`, count(0.0) as `alias1`, "
-        + "sum(0.0) as `alias2` FROM ", null,
+    String expected2 = getExpectedQuery(cubeName, "SELECT sum((basecube.msr2)) as `alias0`, 0.0 as `alias1`, "
+        + "0.0 as `alias2` FROM ", null,
       null, getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE"));
-    String expected3 = getExpectedQuery(cubeName, "SELECT sum(0.0) as `alias0`, count((basecube.msr14)) as `alias1`, "
-        + "sum(0.0) as `alias2` FROM ", null, null,
+    String expected3 = getExpectedQuery(cubeName, "SELECT 0.0 as `alias0`, count((basecube.msr14)) as `alias1`, "
+        + "0.0 as `alias2` FROM ", null, null,
       getWhereForDailyAndHourly2days(cubeName, "C1_testFact3_BASE"));
     compareContains(expected1, hqlQuery);
     compareContains(expected2, hqlQuery);
@@ -251,9 +203,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`, "
-          + "sum(0.0) as `alias2` FROM ", null, " group by basecube.dim1",
+          + "0.0 as `alias2` FROM ", null, " group by basecube.dim1",
           getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE"));
-    String expected2 = getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, sum(0.0) as `alias1`, "
+    String expected2 = getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, 0.0 as `alias1`, "
         + "sum((basecube.msr12)) as `alias2` FROM ", null, " group by basecube.dim1",
         getWhereForDailyAndHourly2days(cubeName, "C1_testFact2_BASE"));
     compareContains(expected1, hqlQuery);
@@ -271,11 +223,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`, sum(0.0) as `alias1`, "
+    String expected1 = getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, 0.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`, sum(0.0) as `alias2` FROM ", null, " group by basecube.dim1",
+        + "as `alias1`, 0.0 as `alias2` FROM ", null, " group by basecube.dim1",
         getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE"));
     compareContains(expected1, hqlQuery);
     compareContains(expected2, hqlQuery);
@@ -292,11 +244,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`, sum(0.0) as `alias1`, "
+    String expected1 = getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, 0.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`, sum(0.0) as `alias2` FROM ", null, " group by basecube.dim1",
+        + "as `alias1`, 0.0 as `alias2` FROM ", null, " group by basecube.dim1",
         getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE"));
     compareContains(expected1, hqlQuery);
     compareContains(expected2, hqlQuery);
@@ -313,10 +265,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`, "
-          + "sum(0.0) as `alias2` FROM", null, " group by basecube.dim1",
+          + "0.0 as `alias2` FROM", null, " group by basecube.dim1",
           getWhereForDailyAndHourly2days(cubeName, "C1_testFact2_BASE"));
     String expected2 = getExpectedQuery(cubeName,
-        "SELECT (basecube.dim1) as `alias0`, sum(0.0) as `alias1`, sum((basecube.msr2)) as `alias2` FROM ", null,
+        "SELECT (basecube.dim1) as `alias0`, 0.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);
@@ -335,17 +287,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`, sum(0.0) as `alias3`, max(0.0) as `alias4`, max(0.0) as `alias5` FROM ",
+          + "sum((basecube.msr12)) as `alias2`, 0.0 as `alias3`, 0.0 as `alias4`, 0.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`, sum(0.0) as `alias2`, "
-            + "sum((basecube.msr2)) as `alias3`, max(0.0) as `alias4`, max((basecube.msr3)) as `alias5` FROM ", null,
+        "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,
         " 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`, sum(0.0) "
-          + "as `alias2`, sum(0.0) as `alias3`, max((basecube.msr13)) as `alias4`, max(0.0) as `alias5` FROM ", null,
+      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,
         " group by basecube.dim1, (basecube.d_time)", getWhereForDailyAndHourly2days(cubeName, "c1_testfact3_base"));
     compareContains(expected1, hqlQuery);
     compareContains(expected2, hqlQuery);
@@ -364,10 +316,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`, sum(0.0) as `alias3` FROM ", null, " group by basecube.dim1",
+        + "sum((basecube.msr12)) as `alias2`, 0.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`, "
-        + "sum(0.0) as `alias2`, sum((basecube.msr2)) as `alias3` FROM ", null, " group by basecube.dim1",
+        + "0.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);
@@ -406,10 +358,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`, "
-          + "sum(0.0) as `alias2` FROM ", null, " group by basecube.dim1",
+          + "0.0 as `alias2` FROM ", null, " group by basecube.dim1",
           getWhereForDailyAndHourly2days(cubeName, "C1_testFact2_BASE"));
     String expected2 =
-      getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, sum(0.0) as `alias1`, sum((basecube.msr2)) "
+      getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, 0.0 as `alias1`, sum((basecube.msr2)) "
           + "as `alias2` FROM ", null, " group by basecube.dim1",
           getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE"));
     compareContains(expected1, hqlQuery);
@@ -428,10 +380,10 @@ public class TestBaseCubeQueries extends TestQueryRewrite {
         + TWO_DAYS_RANGE, conf);
     String expected1 =
       getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, sum((basecube.msr12)) as `alias1`, "
-          + "sum(0.0) as `alias2` FROM ", null, " group by basecube.dim1",
+          + "0.0 as `alias2` FROM ", null, " group by basecube.dim1",
           getWhereForDailyAndHourly2days(cubeName, "C1_testFact2_BASE"));
     String expected2 =
-      getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, sum(0.0) as `alias1`, sum((basecube.msr2)) "
+      getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, 0.0 as `alias1`, sum((basecube.msr2)) "
           + "as `alias2` FROM ", null, " group by basecube.dim1",
           getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE"));
     compareContains(expected1, hqlQuery);
@@ -450,10 +402,10 @@ public class TestBaseCubeQueries extends TestQueryRewrite {
 
     String expected1 =
       getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, sum((basecube.msr12)) as `alias1`, "
-          + "sum(0.0) as `alias2` FROM ", null, " group by basecube.dim1",
+          + "0.0 as `alias2` FROM ", null, " group by basecube.dim1",
           getWhereForDailyAndHourly2days(cubeName, "C1_testFact2_BASE"));
     String expected2 =
-      getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, sum(0.0) as `alias1`, sum((basecube.msr2)) "
+      getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, 0.0 as `alias1`, sum((basecube.msr2)) "
           + "as `alias2` FROM ", null, " group by basecube.dim1",
           getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE"));
     compareContains(expected1, hqlQuery);
@@ -473,10 +425,10 @@ public class TestBaseCubeQueries extends TestQueryRewrite {
 
     String expected1 =
       getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, sum((basecube.msr12)) as `alias1`, "
-          + "sum(0.0) as `alias2` FROM", null, " group by basecube.dim1",
+          + "0.0 as `alias2` FROM", null, " group by basecube.dim1",
           getWhereForDailyAndHourly2days(cubeName, "C1_testFact2_BASE"));
     String expected2 =
-      getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, sum(0.0) as `alias1`, sum((basecube.msr2)) "
+      getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, 0.0 as `alias1`, sum((basecube.msr2)) "
           + "as `alias2` FROM", null,
           " group by basecube.dim1", getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE"));
     compareContains(expected1, hqlQuery);
@@ -494,12 +446,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`, sum(0.0) as `alias3` FROM ", null,
+          + "sum((basecube.msr12)) as `alias2`, 0.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`, "
-          + "sum(0.0) as `alias2`, sum((basecube.msr2)) as `alias3` FROM ", null,
+          + "0.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);
@@ -519,11 +471,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`, sum(0.0) as `alias3` FROM", null,
+          + "count((basecube.msr14)) as `alias2`, 0.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`, max(0.0) as `alias1`, "
-          + "count(0.0) as `alias2`, sum((basecube.msr2)) as `alias3` FROM", null,
+      getExpectedQuery(cubeName, "SELECT reverse((basecube.dim1)) as `alias0`, 0.0 as `alias1`, "
+          + "0.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);
@@ -541,10 +493,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`,"
-          + " avg(0.0) as `alias2` FROM  ", null, " group by basecube.dim1",
+          + " 0.0 as `alias2` FROM  ", null, " group by basecube.dim1",
           getWhereForHourly2days(cubeName, "C1_testfact2_raw_base"));
     String expected2 =
-      getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, avg(0.0) as `alias1`, avg((basecube.msr2)) "
+      getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, 0.0 as `alias1`, avg((basecube.msr2)) "
           + "as `alias2` FROM ", null, " group by basecube.dim1",
           getWhereForHourly2days(cubeName, "C1_testfact1_raw_base"));
     compareContains(expected1, hqlQuery);
@@ -560,13 +512,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`, sum(0.0) as `alias2` FROM  ",
+        "SELECT (dim2chain.name) as `alias0`, sum((basecube.msr12)) as `alias1`, 0.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`, sum(0.0) as `alias1`, sum((basecube.msr2)) as `alias2` FROM ", " JOIN "
+        "SELECT (dim2chain.name) as `alias0`, 0.0 as `alias1`, sum((basecube.msr2)) as `alias2` FROM ", " JOIN "
             + getDbName()
             + "c1_testdim2tbl dim2chain ON basecube.dim2 = "
             + " dim2chain.id and (dim2chain.dt = 'latest') ", null,
@@ -585,12 +537,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`, sum(0.0) as `alias2` FROM ", " JOIN " + getDbName()
+        + "as `alias1`, 0.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`, max(0.0) as `alias1`, sum((basecube.msr2)) as `alias2` FROM ", null,
+        "SELECT (basecube.dim2) as `alias0`, 0.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);
@@ -607,12 +559,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`, sum(0.0) as `alias2` FROM ", " JOIN " + getDbName()
+        + "as `alias1`, 0.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`, max(0.0) as `alias1`, sum((basecube.msr2)) as `alias2` FROM ",
+      "SELECT (basecube.dim2) as `alias0`, 0.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);
@@ -634,14 +586,14 @@ public class TestBaseCubeQueries extends TestQueryRewrite {
         conf);
     String expected1 =
       getExpectedQuery(cubeName, "SELECT (((basecube.dim1) != 'x') and ((dim2chain.id) != 10)) as `alias0`, "
-          + "sum(0.0) as `alias1`, avg(((basecube.msr13) + (basecube.msr14))) as `alias2` FROM ", " JOIN "
+          + "0.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`, avg(0.0) as `alias2` FROM", null,
+          + "sum((basecube.msr2)) as `alias1`, 0.0 as `alias2` FROM", null,
           " group by basecube.dim1 != 'x' AND basecube.dim2 != 10",
         getWhereForHourly2days(cubeName, "C1_testfact1_raw_base"));
     compareContains(expected1, hqlQuery);
@@ -664,14 +616,14 @@ public class TestBaseCubeQueries extends TestQueryRewrite {
           + TWO_DAYS_RANGE, conf);
     String expected1 =
       getExpectedQuery(cubeName, "SELECT (((basecube.dim1) != 'x') and ((dim2chain.id) != 10)) as `alias0`, "
-          + "sum(0.0) as `alias1`, avg(((basecube.msr13) + (basecube.msr14))) as `alias2` FROM ", " JOIN " + getDbName()
+          + "0.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`, avg(0.0) as `alias2` FROM ",
+          + "sum((basecube.msr2)) as `alias1`, 0.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"));
@@ -692,12 +644,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`, sum(0.0) as `alias1`, "
+      getExpectedQuery(cubeName, "SELECT (basecube.booleancut) as `alias0`, 0.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`, "
-          + "max(0.0) as `alias2` FROM ", null, " group by basecube.booleancut",
+          + "0.0 as `alias2` FROM ", null, " group by basecube.booleancut",
         getWhereForDailyAndHourly2days(cubeName, "C1_testfact5_base"));
     compareContains(expected1, hqlQuery);
     compareContains(expected2, hqlQuery);
@@ -717,10 +669,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`, sum(0.0) as `alias1` FROM ", null, null,
+          + "as `alias0`, 0.0 as `alias1` FROM ", null, null,
           getWhereForHourly2days(cubeName, "C1_testfact2_raw_base"));
     String expected2 =
-      getExpectedQuery(cubeName, "SELECT sum(0.0) as `alias0`, sum((basecube.msr1)) as `alias1` FROM ", null, null,
+      getExpectedQuery(cubeName, "SELECT 0.0 as `alias0`, sum((basecube.msr1)) as `alias1` FROM ", null, null,
         getWhereForHourly2days(cubeName, "c1_testfact1_raw_base"));
     compareContains(expected1, hqlQuery);
     compareContains(expected2, hqlQuery);
@@ -737,10 +689,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`, sum(0.0) as `alias1` FROM ", null, null,
+          + "as `alias0`, 0.0 as `alias1` FROM ", null, null,
           getWhereForHourly2days(cubeName, "C1_testfact2_raw_base"));
     String expected2 =
-      getExpectedQuery(cubeName, "SELECT sum(0.0) as `alias0`, sum((basecube.msr1)) as `alias1` FROM ", null, null,
+      getExpectedQuery(cubeName, "SELECT 0.0 as `alias0`, sum((basecube.msr1)) as `alias1` FROM ", null, null,
         getWhereForHourly2days(cubeName, "c1_testfact1_raw_base"));
     compareContains(expected1, hqlQuery);
     compareContains(expected2, hqlQuery);
@@ -757,11 +709,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`, sum(0.0) as `alias2` FROM ", null,
+          + "then (basecube.msr12) else 0 end) as `alias1`, 0.0 as `alias2` FROM ", null,
           " group by basecube.dim1 ",
         getWhereForHourly2days(cubeName, "C1_testfact2_raw_base"));
     String expected2 =
-      getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, sum(0.0) as `alias1`, sum((basecube.msr1)) "
+      getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, 0.0 as `alias1`, sum((basecube.msr1)) "
           + "as `alias2` FROM", null,
         " group by basecube.dim1 ", getWhereForHourly2days(cubeName, "c1_testfact1_raw_base"));
     compareContains(expected1, hqlQuery);
@@ -783,10 +735,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`, sum(0.0) as `alias1` FROM ", null, "",
+          + "as `alias0`, 0.0 as `alias1` FROM ", null, "",
           getWhereForHourly2days(cubeName, "C1_testfact2_raw_base"));
     String expected2 =
-      getExpectedQuery(cubeName, "SELECT sum(0.0) as `alias0`, sum((basecube.msr1)) as `alias1` FROM ", null, "",
+      getExpectedQuery(cubeName, "SELECT 0.0 as `alias0`, sum((basecube.msr1)) as `alias1` FROM ", null, "",
         getWhereForHourly2days(cubeName, "c1_testfact1_raw_base"));
     compareContains(expected1, hqlQuery);
     compareContains(expected2, hqlQuery);
@@ -805,10 +757,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`, sum(0.0) as `alias2` FROM", null, " group by basecube.dim1",
+          + "(basecube.msr12) else 0 end) as `alias1`, 0.0 as `alias2` FROM", null, " group by basecube.dim1",
           getWhereForHourly2days(cubeName, "C1_testfact2_raw_base"));
     String expected2 =
-      getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, sum(0.0) as `alias1`, sum((basecube.msr1)) "
+      getExpectedQuery(cubeName, "SELECT (basecube.dim1) as `alias0`, 0.0 as `alias1`, sum((basecube.msr1)) "
           + "as `alias2` FROM", null, " group by basecube.dim1",
           getWhereForHourly2days(cubeName, "c1_testfact1_raw_base"));
     compareContains(expected1, hqlQuery);
@@ -903,10 +855,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`, sum(0.0) as `alias3` FROM ", null, " group by basecube.dim1, basecube.dim11",
+          + "as `alias2`, 0.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`, sum(0.0) as `alias2`, "
+      "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, 0.0 as `alias2`, "
           + "sum((basecube.msr2)) as `alias3` FROM ", null, " group by basecube.dim1, basecube.dim11",
       getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE"));
 
@@ -922,10 +874,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`, "
-          + "sum(0.0) as `alias3` FROM ", null, " group by basecube.dim1, basecube.dim11",
+          + "0.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`, sum(0.0) as `alias2`, "
+      "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, 0.0 as `alias2`, "
           + "sum((basecube.msr2)) as `alias3` FROM ", null, " group by basecube.dim1, basecube.dim11",
       getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE"));
 
@@ -941,11 +893,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`, "
-            + "sum(0.0) as `alias3` FROM ", null, " group by basecube.dim1, basecube.dim11",
+            + "0.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`, sum(0.0) as `alias2`, "
+        "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, 0.0 as `alias2`, "
             + "sum((basecube.msr2)) as `alias3` FROM ", null, " group by basecube.dim1, basecube.dim11",
         getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE"));
 
@@ -961,10 +913,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`, "
-          + "sum(0.0) as `alias3` FROM", null, " group by basecube.dim1, basecube.dim11",
+          + "0.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`, sum(0.0) as `alias2`, sum((basecube.msr2)) "
+      "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, 0.0 as `alias2`, sum((basecube.msr2)) "
           + "as `alias3` FROM", null, " group by basecube.dim1, basecube.dim11",
       getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE"));
 
@@ -981,10 +933,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`, "
-          + "sum(0.0) as `alias3` FROM ", null, " group by basecube.dim1, basecube.dim11",
+          + "0.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`, sum(0.0) as `alias2`, "
+      " SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, 0.0 as `alias2`, "
           + "sum((basecube.msr2)) as `alias3` FROM ", null, " group by basecube.dim1, basecube.dim11",
       getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE"));
 
@@ -1006,10 +958,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`, "
-          + "sum(0.0) as `alias3` FROM ", null, " group by basecube.dim1, basecube.dim11",
+          + "0.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`, sum(0.0) as `alias2`, "
+      "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, 0.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";
@@ -1024,10 +976,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`, "
-            + "sum(0.0) as `alias3` FROM ", null, " group by basecube.dim1, basecube.dim11",
+            + "0.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`, sum(0.0) as `alias2`, "
+      "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, 0.0 as `alias2`, "
           + "sum((basecube.msr2)) as `alias3` FROM ", null,
       " group by basecube.dim1, basecube.dim11",
       getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE"));
@@ -1043,11 +995,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`, sum(0.0) as `alias3` FROM ",
+          + "as `alias2`, 0.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`, sum(0.0) as `alias2`, "
+      "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, 0.0 as `alias2`, "
           + "sum((basecube.msr2)) as `alias3` FROM ",
       null, " group by basecube.dim1, basecube.dim11",
       getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE"));
@@ -1064,11 +1016,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`, "
-          + "sum(0.0) as `alias3` FROM ",
+          + "0.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`, sum(0.0) as `alias2`, "
+      "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, 0.0 as `alias2`, "
           + "sum((basecube.msr2)) as `alias3` FROM ",
       null, " group by basecube.dim1, basecube.dim11",
       getWhereForDailyAndHourly2days(cubeName, "C1_testFact1_BASE"));
@@ -1086,11 +1038,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`, "
-          + "sum(0.0) as `alias3` FROM ",
+          + "0.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`, sum(0.0) as `alias2`, "
+      "SELECT (basecube.dim1) as `alias0`, (basecube.dim11) as `alias1`, 0.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/cb5e2a77/lens-cube/src/test/java/org/apache/lens/cube/parse/TestBetweenTimeRangeWriter.java
----------------------------------------------------------------------
diff --git a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestBetweenTimeRangeWriter.java b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestBetweenTimeRangeWriter.java
index 4331843..5c57781 100644
--- a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestBetweenTimeRangeWriter.java
+++ b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestBetweenTimeRangeWriter.java
@@ -20,6 +20,7 @@
 package org.apache.lens.cube.parse;
 
 import static java.util.Optional.*;
+
 import static org.apache.lens.cube.metadata.DateFactory.*;
 import static org.apache.lens.cube.metadata.UpdatePeriod.DAILY;
 
@@ -122,7 +123,7 @@ public class TestBetweenTimeRangeWriter extends TestTimeRangeWriter {
 
   @DataProvider
   public Object[][] getBoundTypes() {
-    return new Object[][]{{OPEN, OPEN}, {OPEN,CLOSED},{CLOSED,OPEN},{CLOSED,CLOSED}};
+    return new Object[][]{{OPEN, OPEN}, {OPEN, CLOSED}, {CLOSED, OPEN}, {CLOSED, CLOSED}};
   }
 
   @Test(dataProvider = "getBoundTypes")
@@ -150,7 +151,8 @@ public class TestBetweenTimeRangeWriter extends TestTimeRangeWriter {
   }
 
 
-  private void validateBetweenBoundTypes(String whereClause, DateFormat format, int testStartOffset, int testEndOffset) {
+  private void validateBetweenBoundTypes(String whereClause, DateFormat format,
+      int testStartOffset, int testEndOffset) {
     String expected = getBetweenClause("test", "dt", getDateWithOffset(DAILY, testStartOffset),
       getDateWithOffset(DAILY, testEndOffset), ofNullable(format).orElseGet(DAILY::format));
     Assert.assertEquals(expected, whereClause);

http://git-wip-us.apache.org/repos/asf/lens/blob/cb5e2a77/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 2bf1ef8..9fbeb41 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`, sum(0.0) as `alias2` FROM ",
+        "SELECT (usersports.balias0) as `alias0`, sum((basecube.msr2)) as `alias1`, 0.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`, sum(0.0) as `alias1`, sum((basecube.msr12)) as `alias2` FROM ",
+        "SELECT (usersports.balias0) as `alias0`, 0.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`, sum(0.0) as `alias2` FROM ",
+      "SELECT (usersports.balias0) as `alias0`, sum((basecube.msr2)) as `alias1`, 0.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`, sum(0.0) as `alias1`, sum((basecube.msr12)) "
+      "SELECT (usersports.balias0) as `alias0`, 0.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`, sum(0.0) "
+      "SELECT (usersports.balias0) as `alias0`, sum((basecube.msr2)) as `alias1`, 0.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`, sum(0.0) as `alias1`, sum((basecube.msr12)) "
+      "SELECT (usersports.balias0) as `alias0`, 0.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`, sum(0.0) "
+      "SELECT (usersports.balias0) as `alias0`, sum((basecube.msr2)) as `alias1`, 0.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`, sum(0.0) as `alias1`, sum((basecube.msr12)) "
+      "SELECT (usersports.balias0) as `alias0`, 0.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`, sum(0.0) as `alias2` FROM ",
+      "SELECT (usersports.name) as `alias0`, sum((basecube.msr2)) as `alias1`, 0.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`, sum(0.0) as `alias1`, sum((basecube.msr12)) as `alias2` FROM ",
+      "SELECT (usersports.name) as `alias0`, 0.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`, sum(0.0) "
+      "SELECT (usersports.name) as `alias0`, sum((basecube.msr2)) as `alias1`, 0.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`, sum(0.0) as `alias1`, sum((basecube.msr12)) "
+      "SELECT (usersports.name) as `alias0`, 0.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`, sum(0.0) "
+      "SELECT (usersports.balias0) as `alias0`, sum((basecube.msr2)) as `alias1`, 0.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`, sum(0.0) as `alias1`, sum((basecube.msr12)) as `alias2` FROM  "
+      "SELECT (usersports.balias0) as `alias0`, 0.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`, sum(0.0) "
+      "SELECT (usersports.balias0) as `alias0`, sum((basecube.msr2)) as `alias1`, 0.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`, sum(0.0) as `alias1`, sum((basecube.msr12)) "
+      "SELECT (usersports.balias0) as `alias0`, 0.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`, sum(0.0) "
+      "SELECT substr((usersports.name), 3) as `alias0`, sum((basecube.msr2)) as `alias1`, 0.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`, sum(0.0) as `alias1`, sum((basecube.msr12)) "
+      "SELECT substr((usersports.name), 3) as `alias0`, 0.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`, sum(0.0) "
+      "SELECT substr((usersports.name), 3) as `alias0`, sum((basecube.msr2)) as `alias1`, 0.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`, sum(0.0) as `alias1`, sum((basecube.msr12)) "
+      "SELECT substr((usersports.name), 3) as `alias0`, 0.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/cb5e2a77/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 6c9afdd..bab1080 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
@@ -30,7 +30,6 @@ import static org.testng.Assert.*;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
 import java.util.*;
-import java.util.stream.Stream;
 
 import org.apache.lens.cube.error.LensCubeErrorCode;
 import org.apache.lens.cube.error.NoCandidateDimAvailableException;
@@ -52,7 +51,6 @@ import org.apache.hadoop.hive.ql.processors.CommandProcessorResponse;
 import org.testng.annotations.BeforeTest;
 import org.testng.annotations.Test;
 
-import com.google.common.base.Splitter;
 import com.google.common.collect.Iterables;
 import com.google.common.collect.Sets;
 import lombok.extern.slf4j.Slf4j;
@@ -79,8 +77,8 @@ public class TestCubeRewriter extends TestQueryRewrite {
 
   @Test
   public void testQueryWithNow() throws Exception {
-    LensException e = getLensExceptionInRewrite( // rewrites with original time_range_in
-      "select SUM(msr2) from testCube where " + getTimeRangeString("NOW - 2DAYS", "NOW"), getConf());
+    LensException e = getLensExceptionInRewrite(
+        "select SUM(msr2) from testCube where " + getTimeRangeString("NOW - 2DAYS", "NOW"), getConf());
     assertEquals(e.getErrorCode(), LensCubeErrorCode.NO_CANDIDATE_FACT_AVAILABLE.getLensErrorInfo().getErrorCode());
   }
 
@@ -1059,7 +1057,7 @@ public class TestCubeRewriter extends TestQueryRewrite {
     pr2.addPruningMsg(new CubeDimensionTable(new Table("test", "citydim")),
             CandidateTablePruneCause.expressionNotEvaluable("testexp1", "testexp2"));
     NoCandidateDimAvailableException ne2 = new NoCandidateDimAvailableException(pr2);
-    assertEquals(ne1.compareTo(ne2), -12);
+    assertEquals(ne1.compareTo(ne2), -7);
   }
 
   @Test
@@ -1089,6 +1087,7 @@ public class TestCubeRewriter extends TestQueryRewrite {
             new HashMap<String, CandidateTablePruneCause.CandidateTablePruneCode>() {
               {
                 put("c1_statetable", CandidateTablePruneCause.CandidateTablePruneCode.NO_PARTITIONS);
+                put("c6_statetable", CandidateTablePruneCause.CandidateTablePruneCode.UNSUPPORTED_STORAGE);
               }
             }))
           );
@@ -1391,7 +1390,7 @@ public class TestCubeRewriter extends TestQueryRewrite {
     Date nextToNextDay = DateUtils.addDays(nextDay, 1);
     HashSet<String> storageTables = Sets.newHashSet();
     for (StorageCandidate sc : CandidateUtil.getStorageCandidates(candidate)) {
-      storageTables.add(sc.getName());
+      storageTables.add(sc.getStorageTable());
     }
     TreeSet<FactPartition> expectedPartsQueried = Sets.newTreeSet();
     for (TimePartition p : Iterables.concat(

http://git-wip-us.apache.org/repos/asf/lens/blob/cb5e2a77/lens-cube/src/test/java/org/apache/lens/cube/parse/TestDenormalizationResolver.java
----------------------------------------------------------------------
diff --git a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestDenormalizationResolver.java b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestDenormalizationResolver.java
index 7874a66..d97c0e6 100644
--- a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestDenormalizationResolver.java
+++ b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestDenormalizationResolver.java
@@ -19,13 +19,13 @@
 
 package org.apache.lens.cube.parse;
 
-import static com.google.common.collect.Lists.newArrayList;
-import static com.google.common.collect.Sets.newHashSet;
-
 import static org.apache.lens.cube.metadata.DateFactory.*;
 import static org.apache.lens.cube.parse.CandidateTablePruneCause.columnNotFound;
 import static org.apache.lens.cube.parse.CubeTestSetup.*;
 
+import static com.google.common.collect.Lists.newArrayList;
+import static com.google.common.collect.Sets.newHashSet;
+
 import java.util.*;
 
 import org.apache.lens.cube.error.NoCandidateFactAvailableException;
@@ -194,7 +194,7 @@ public class TestDenormalizationResolver extends TestQueryRewrite {
       "select dim2big2, max(msr3)," + " msr2 from testCube" + " where " + TWO_DAYS_RANGE, tconf);
     NoCandidateFactAvailableException ne = (NoCandidateFactAvailableException) e;
     PruneCauses.BriefAndDetailedError error = ne.getJsonMessage();
-    Assert.assertEquals(error.getBrief(), CandidateTablePruneCode.UNSUPPORTED_STORAGE.errorFormat);
+    Assert.assertEquals(error.getBrief(), CandidateTablePruneCode.INVALID_DENORM_TABLE.errorFormat);
 
     Map<HashSet<String>, List<CandidateTablePruneCause>> enhanced = error.enhanced();
     Map<Set<String>, List<CandidateTablePruneCause>> expected = Maps.newHashMap();
@@ -343,7 +343,7 @@ public class TestDenormalizationResolver extends TestQueryRewrite {
     CubeQueryContext cubeql = rewriteCtx("select citydim.zipcode, citydim.statename from" + " citydim", tConf);
     Set<String> candidateDims = new HashSet<>();
     for (CandidateDim cdim : cubeql.getCandidateDims().get(cubeql.getMetastoreClient().getDimension("citydim"))) {
-      candidateDims.add(cdim.getName());
+      candidateDims.add(cdim.getStorageTable());
     }
     // city_table2 contains stateid, but not zipcode - it should have been removed.
     Assert.assertFalse(candidateDims.contains("city_table2"));

http://git-wip-us.apache.org/repos/asf/lens/blob/cb5e2a77/lens-cube/src/test/java/org/apache/lens/cube/parse/TestTimeRangeResolver.java
----------------------------------------------------------------------
diff --git a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestTimeRangeResolver.java b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestTimeRangeResolver.java
index d4ffefe..d3938c1 100644
--- a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestTimeRangeResolver.java
+++ b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestTimeRangeResolver.java
@@ -19,23 +19,14 @@
 
 package org.apache.lens.cube.parse;
 
-import static com.google.common.collect.Sets.newHashSet;
 import static org.apache.lens.cube.metadata.DateFactory.*;
-import static org.apache.lens.cube.parse.CandidateTablePruneCause.CandidateTablePruneCode.COLUMN_NOT_FOUND;
-import static org.apache.lens.cube.parse.CandidateTablePruneCause.CandidateTablePruneCode.PART_COL_DOES_NOT_EXIST;
-import static
-  org.apache.lens.cube.parse.CandidateTablePruneCause.CandidateTablePruneCode.STORAGE_NOT_AVAILABLE_IN_RANGE;
 import static org.apache.lens.cube.parse.CandidateTablePruneCause.CandidateTablePruneCode.TIME_RANGE_NOT_ANSWERABLE;
 import static org.apache.lens.cube.parse.CandidateTablePruneCause.CandidateTablePruneCode.UNSUPPORTED_STORAGE;
 
 import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertTrue;
 
 import java.util.*;
-import java.util.stream.Collectors;
 
-import org.apache.lens.cube.error.NoCandidateFactAvailableException;
-import org.apache.lens.cube.metadata.TimeRange;
 import org.apache.lens.server.api.LensConfConstants;
 import org.apache.lens.server.api.error.LensException;
 
@@ -47,7 +38,6 @@ import org.joda.time.DateTime;
 import org.testng.annotations.BeforeTest;
 import org.testng.annotations.Test;
 
-import com.google.common.collect.Sets;
 
 public class TestTimeRangeResolver extends TestQueryRewrite {
 
@@ -72,16 +62,9 @@ public class TestTimeRangeResolver extends TestQueryRewrite {
 
   @Test
   public void testFactValidity() throws ParseException, LensException, HiveException, ClassNotFoundException {
-    LensException e =
-      getLensExceptionInRewrite("select msr2 from " + cubeName + " where " + LAST_YEAR_RANGE,
-        getConf());
-    NoCandidateFactAvailableException ne = (NoCandidateFactAvailableException) e;
-    PruneCauses.BriefAndDetailedError causes = ne.getJsonMessage();
-    assertTrue(causes.getBrief().contains("No storages available for all of these time ranges: "
-          + "[dt [2016-01-01-00:00:00,000 to 2017-01-01-00:00:00,000)]"), causes.getBrief());
-    assertEquals(causes.getDetails().values().stream().flatMap(Collection::stream)
-        .map(CandidateTablePruneCause::getCause).collect(Collectors.toSet()), newHashSet(COLUMN_NOT_FOUND,
-      PART_COL_DOES_NOT_EXIST, UNSUPPORTED_STORAGE, STORAGE_NOT_AVAILABLE_IN_RANGE));
+    String query = "select msr2 from " + cubeName + " where "  + LAST_YEAR_RANGE;
+    LensException e = getLensExceptionInRewrite(query, getConf());
+    assertEquals(e.getErrorInfo().getErrorName(), "NO_UNION_CANDIDATE_AVAILABLE");
   }
 
   @Test
@@ -118,14 +101,9 @@ public class TestTimeRangeResolver extends TestQueryRewrite {
     Configuration conf = getConf();
     DateTime dt = new DateTime(1990, 3, 23, 12, 0, 0, 0);
     conf.setLong(LensConfConstants.QUERY_CURRENT_TIME_IN_MILLIS, dt.getMillis());
-    NoCandidateFactAvailableException e =
-      (NoCandidateFactAvailableException)getLensExceptionInRewrite(
-        "select msr12 from basecube where time_range_in(d_time, 'now.day-275days','now')", conf);
-    TimeRange timeRange = e.getCubeQueryContext().getTimeRanges().get(0);
-    // Month starts from zero.
-    Calendar from = new GregorianCalendar(1989, 5, 21, 0, 0, 0);
-    assertEquals(timeRange.getFromDate(), from.getTime());
-    assertEquals(timeRange.getToDate(), dt.toDate());
+    String query = "select msr12 from basecube where time_range_in(d_time, 'now.day-275days','now')";
+    LensException e = getLensExceptionInRewrite(query, conf);
+    assertEquals(e.getMessage(), "NO_CANDIDATE_FACT_AVAILABLE[Range not answerable]");
   }
 
   /**
@@ -137,7 +115,7 @@ public class TestTimeRangeResolver extends TestQueryRewrite {
   private static List<CandidateTablePruneCause> findPruningMessagesForStorage(String stoargeName,
     PruneCauses<StorageCandidate> allStoragePruningMsgs) {
     for (StorageCandidate sc : allStoragePruningMsgs.keySet()) {
-      if (sc.getName().equals(stoargeName)) {
+      if (sc.getStorageTable().equals(stoargeName)) {
         return allStoragePruningMsgs.get(sc);
       }
     }

http://git-wip-us.apache.org/repos/asf/lens/blob/cb5e2a77/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 f5f7f3e..0119f2e 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
@@ -25,8 +25,6 @@ import static org.apache.lens.cube.parse.TestCubeRewriter.compareContains;
 
 import static org.testng.Assert.*;
 
-import jodd.util.StringUtil;
-import org.apache.hadoop.util.StringUtils;
 import org.apache.lens.server.api.LensServerAPITestUtil;
 import org.apache.lens.server.api.error.LensException;
 
@@ -36,6 +34,8 @@ import org.apache.hadoop.hive.ql.parse.ParseException;
 import org.testng.annotations.BeforeTest;
 import org.testng.annotations.Test;
 
+import jodd.util.StringUtil;
+
 public class TestUnionAndJoinCandidates extends TestQueryRewrite {
 
   private Configuration conf;
@@ -76,7 +76,7 @@ public class TestUnionAndJoinCandidates extends TestQueryRewrite {
     assertEquals(StringUtil.count(rewrittenQuery, "sum((basecube.union_join_ctx_msr1))"), 2);
   }
 
-    @Test
+  @Test
   public void testFinalCandidateRewrittenQuery() throws ParseException, LensException {
     try {
       // Query with non projected measure in having clause.
@@ -85,12 +85,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`, sum(0.0) as `alias1`, "
+      String expectedInnerSelect1 = "SELECT (basecube.union_join_ctx_cityid) as `alias0`, 0.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`, sum(0.0) as `alias1`, "
+      String expectedInnerSelect2 = "SELECT (basecube.union_join_ctx_cityid) as `alias0`, 0.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`, sum(0.0) as `alias2` "
+          + "sum((basecube.union_join_ctx_msr2)) as `alias1`, 0.0 as `alias2` "
           + "FROM TestQueryRewrite.c1_union_join_ctx_fact3 basecube ";
       String outerHaving = "HAVING (sum((basecube.alias2)) > 100)";
       compareContains(expectedInnerSelect1, rewrittenQuery);
@@ -111,14 +111,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`, "
-          + "sum(0.0) as `alias4` FROM TestQueryRewrite.c1_union_join_ctx_fact1 basecube";
+          + "0.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`, "
-          + "sum(0.0) as `alias4` FROM TestQueryRewrite.c1_union_join_ctx_fact2";
+          + "0.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`, sum(0.0) as `alias3`, "
+          + "(basecube.union_join_ctx_cityid) end as `alias2`, 0.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);
@@ -142,12 +142,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`, "
-          + "sum(0.0) as `alias3`, sum(0.0) as `alias4` FROM";
+          + "0.0 as `alias3`, 0.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`, "
-          + "sum(0.0) as `alias3`, sum(0.0) as `alias4` FROM";
+          + "0.0 as `alias3`, 0.0 as `alias4` FROM";
       expectedInnerSelect3 = "SELECT (basecube.union_join_ctx_cityid) as `alias0`, (cubecityjoinunionctx.name) "
-          + "as `alias1`, sum(0.0) as `alias2`, sum((basecube.union_join_ctx_msr2)) as `alias3`, "
+          + "as `alias1`, 0.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)";