Repository: incubator-lens
Updated Branches:
  refs/heads/master 683516c95 -> 803448a18


http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/803448a1/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 3c96062..0669074 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
@@ -271,8 +271,9 @@ public class TestCubeRewriter extends TestQueryRewrite {
 
   @Test
   public void testCubeWhereQuery() throws Exception {
-    String hqlQuery = rewrite("select SUM(msr2) from testCube" + " where " + 
TWO_DAYS_RANGE, getConf());
-    String expected =
+    String hqlQuery, expected;
+    hqlQuery = rewrite("select SUM(msr2) from testCube" + " where " + 
TWO_DAYS_RANGE, getConf());
+    expected =
       getExpectedQuery(cubeName, "select sum(testcube.msr2) FROM ", null, null,
         getWhereForDailyAndHourly2days(cubeName, "C2_testfact"));
     compareQueries(expected, hqlQuery);
@@ -1192,8 +1193,13 @@ public class TestCubeRewriter extends TestQueryRewrite {
 
     Configuration conf = getConf();
     conf.set(CubeQueryConfUtil.PROCESS_TIME_PART_COL, "pt");
+    conf.setClass(CubeQueryConfUtil.TIME_RANGE_WRITER_CLASS, 
AbridgedTimeRangeWriter.class, TimeRangeWriter.class);
     String hqlQuery = rewrite("select dim1, max(msr3)," + " msr2 from 
testCube" + " where " + twoDaysITRange, conf);
     System.out.println("Query With process time col:" + hqlQuery);
+    String expected = getExpectedQuery(cubeName, "select testcube.dim1, 
max(testcube.msr3), sum(testcube.msr2) FROM ",
+      null, " GROUP BY ( testcube . dim1 )",
+      getWhereForDailyAndHourly2daysWithTimeDim(cubeName, "it", "C2_summary1"),
+      getNotLatestConditions(cubeName, "it", "C2_summary1"));
     // TODO compare queries
     // compareQueries(expected, hqlQuery);
     hqlQuery =
@@ -1480,8 +1486,7 @@ public class TestCubeRewriter extends TestQueryRewrite {
     // Run explain on this command, it should pass successfully.
     CommandProcessorResponse inExplainResponse = runExplain(hqlWithInClause, 
conf);
     Assert.assertNotNull(inExplainResponse);
-    Assert.assertTrue(hqlWithInClause.contains("in")
-      && (hqlWithInClause.contains("OR") || hqlWithInClause.contains("or")));
+    Assert.assertTrue(hqlWithInClause.contains("in"));
 
     // Test 2 - check for single part column
     // Verify for large number of partitions, single column. This is just to 
check if we don't see

http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/803448a1/lens-cube/src/test/java/org/apache/lens/cube/parse/TestStorageUtil.java
----------------------------------------------------------------------
diff --git 
a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestStorageUtil.java 
b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestStorageUtil.java
index 911bcef..1a31121 100644
--- a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestStorageUtil.java
+++ b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestStorageUtil.java
@@ -21,6 +21,7 @@ package org.apache.lens.cube.parse;
 
 import java.util.*;
 
+import org.apache.lens.cube.metadata.FactPartition;
 import org.apache.lens.cube.metadata.UpdatePeriod;
 
 import org.apache.hadoop.conf.Configuration;

http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/803448a1/lens-cube/src/test/java/org/apache/lens/cube/parse/TestTimeRangeWriter.java
----------------------------------------------------------------------
diff --git 
a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestTimeRangeWriter.java 
b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestTimeRangeWriter.java
index 418fb08..106660e 100644
--- 
a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestTimeRangeWriter.java
+++ 
b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestTimeRangeWriter.java
@@ -24,6 +24,7 @@ import java.text.SimpleDateFormat;
 import java.util.LinkedHashSet;
 import java.util.Set;
 
+import org.apache.lens.cube.metadata.FactPartition;
 import org.apache.lens.cube.metadata.UpdatePeriod;
 
 import org.apache.hadoop.hive.ql.ErrorMsg;

http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/803448a1/lens-server/src/main/java/org/apache/lens/server/metastore/CubeMetastoreServiceImpl.java
----------------------------------------------------------------------
diff --git 
a/lens-server/src/main/java/org/apache/lens/server/metastore/CubeMetastoreServiceImpl.java
 
b/lens-server/src/main/java/org/apache/lens/server/metastore/CubeMetastoreServiceImpl.java
index 4047e0c..87b12fe 100644
--- 
a/lens-server/src/main/java/org/apache/lens/server/metastore/CubeMetastoreServiceImpl.java
+++ 
b/lens-server/src/main/java/org/apache/lens/server/metastore/CubeMetastoreServiceImpl.java
@@ -1343,41 +1343,8 @@ public class CubeMetastoreServiceImpl extends 
LensService implements CubeMetasto
       throw new BadRequestException("cubeName : " + cubeName + " is not a base 
cube.");
     }
     Cube c = (Cube) ci;
-    String partitionColumn = c.getPartitionColumnOfTimeDim(timeDimension);
-
-    // getting all facts->storages->partitions and iterating over them to get
-    // latest date
-    List<XFactTable> factTables = getAllFactsOfCube(sessionid, cubeName);
-
-    Date latestDate = null;
-    if (factTables != null && !factTables.isEmpty()) {
-      for (XFactTable factTable : factTables) {
-        List<String> storages = getStoragesOfFact(sessionid, 
factTable.getName());
-
-        if (storages != null && !storages.isEmpty()) {
-          for (String storage : storages) {
-            String storageTableName = 
MetastoreUtil.getFactStorageTableName(factTable.getName(), storage);
-            List<Partition> parts = new LinkedList<Partition>();
-            try {
-              parts = 
getClient(sessionid).getPartitionsByFilter(storageTableName,
-                StorageConstants.getLatestPartFilter(partitionColumn));
-            } catch (HiveException e) {
-              LOG.info("Storage Table " + storageTableName + " skipped while 
finding latestDate due to exception: ", e);
-            }
-            if (parts.size() == 1) {
-              Date tmpDate = 
getClient(sessionid).getLatestTimeStamp(parts.get(0), partitionColumn);
-              if (latestDate == null || latestDate.before(tmpDate)) {
-                latestDate = tmpDate;
-              }
-            } else if (parts.size() > 1) {
-              throw new LensException("CubeMetastoreClient return more than 1 
partitions for filter "
-                + partitionColumn + "='latest'");
-            }
-          }
-        }
-      }
-    }
+    Date latest = getClient(sessionid).getLatestDateOfCube(c, timeDimension);
     release(sessionid);
-    return latestDate;
+    return latest;
   }
 }

http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/803448a1/lens-server/src/test/java/org/apache/lens/server/metastore/TestMetastoreService.java
----------------------------------------------------------------------
diff --git 
a/lens-server/src/test/java/org/apache/lens/server/metastore/TestMetastoreService.java
 
b/lens-server/src/test/java/org/apache/lens/server/metastore/TestMetastoreService.java
index 9f4595f..1c63861 100644
--- 
a/lens-server/src/test/java/org/apache/lens/server/metastore/TestMetastoreService.java
+++ 
b/lens-server/src/test/java/org/apache/lens/server/metastore/TestMetastoreService.java
@@ -273,7 +273,6 @@ public class TestMetastoreService extends LensJerseyTest {
     cube.setMeasures(new XMeasures());
     cube.setJoinChains(new XJoinChains());
     cube.setProperties(new XProperties());
-
     XDimAttribute xd1 = cubeObjectFactory.createXDimAttribute();
     xd1.setName("dim1");
     xd1.setType("STRING");
@@ -1795,6 +1794,7 @@ public class TestMetastoreService extends LensJerseyTest {
       XFactTable f = createFactTable(table);
       f.getStorageTables().getStorageTable().add(createStorageTblElement("S1", 
table, "HOURLY"));
       f.getStorageTables().getStorageTable().add(createStorageTblElement("S2", 
table, "DAILY"));
+      f.getStorageTables().getStorageTable().add(createStorageTblElement("S2", 
table, "HOURLY"));
       final FormDataMultiPart mp = new FormDataMultiPart();
       mp.bodyPart(new 
FormDataBodyPart(FormDataContentDisposition.name("sessionid").build(),
         lensSessionId, medType));
@@ -1830,7 +1830,7 @@ public class TestMetastoreService extends LensJerseyTest {
 
       XPartitionList partitions = partitionsElement.getValue();
       assertNotNull(partitions);
-      assertEquals(partitions.getPartition().size(), 2);
+      assertEquals(partitions.getPartition().size(), 1);
 
       DateTime date =
         
target().path("metastore/cubes").path("testCube").path("latestdate").queryParam("timeDimension",
 "dt")
@@ -1875,7 +1875,7 @@ public class TestMetastoreService extends LensJerseyTest {
 
       partitions = partitionsElement.getValue();
       assertNotNull(partitions);
-      assertEquals(partitions.getPartition().size(), 2);
+      assertEquals(partitions.getPartition().size(), 1);
 
       // Drop again by values
       String[] val = new 
String[]{UpdatePeriod.HOURLY.format().format(partDate)};

Reply via email to