carbondata-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ravipes...@apache.org
Subject [38/50] [abbrv] carbondata git commit: [CARBONDATA-2028] Select Query failed with preagg having timeseries and normal agg table together
Date Sun, 28 Jan 2018 06:46:07 GMT
[CARBONDATA-2028] Select Query failed with preagg having timeseries and normal agg table together

Select Query failed with preagg having timeseries and normal agg table together Root Cause:-
hasTimeSeriesDataMap(CarbonTable carbonTable) in CarbonUtil returns result based on 1st DataMap.
Solution:it should iterators all the DataMap and when finds timeseries datamap , then should
returns the true.

This closes #1804


Project: http://git-wip-us.apache.org/repos/asf/carbondata/repo
Commit: http://git-wip-us.apache.org/repos/asf/carbondata/commit/29c98558
Tree: http://git-wip-us.apache.org/repos/asf/carbondata/tree/29c98558
Diff: http://git-wip-us.apache.org/repos/asf/carbondata/diff/29c98558

Branch: refs/heads/fgdatamap
Commit: 29c985587952945c9f2f5c3082a733ef32df4686
Parents: 383b2ed
Author: BJangir <babulaljangir111@gmail.com>
Authored: Mon Jan 15 17:31:44 2018 +0530
Committer: kumarvishal <kumarvishal.1802@gmail.com>
Committed: Wed Jan 17 21:41:35 2018 +0530

----------------------------------------------------------------------
 .../apache/carbondata/core/util/CarbonUtil.java |  4 +++-
 .../TestPreAggregateTableSelection.scala        | 20 +++++++++++++++++++-
 2 files changed, 22 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/carbondata/blob/29c98558/core/src/main/java/org/apache/carbondata/core/util/CarbonUtil.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/carbondata/core/util/CarbonUtil.java b/core/src/main/java/org/apache/carbondata/core/util/CarbonUtil.java
index e272932..f1d474a 100644
--- a/core/src/main/java/org/apache/carbondata/core/util/CarbonUtil.java
+++ b/core/src/main/java/org/apache/carbondata/core/util/CarbonUtil.java
@@ -2305,7 +2305,9 @@ public final class CarbonUtil {
     List<DataMapSchema> dataMapSchemaList = carbonTable.getTableInfo().getDataMapSchemaList();
     for (DataMapSchema dataMapSchema : dataMapSchemaList) {
       if (dataMapSchema instanceof AggregationDataMapSchema) {
-        return ((AggregationDataMapSchema) dataMapSchema).isTimeseriesDataMap();
+        if (((AggregationDataMapSchema) dataMapSchema).isTimeseriesDataMap()) {
+          return true;
+        }
       }
     }
     return false;

http://git-wip-us.apache.org/repos/asf/carbondata/blob/29c98558/integration/spark-common-test/src/test/scala/org/apache/carbondata/integration/spark/testsuite/preaggregate/TestPreAggregateTableSelection.scala
----------------------------------------------------------------------
diff --git a/integration/spark-common-test/src/test/scala/org/apache/carbondata/integration/spark/testsuite/preaggregate/TestPreAggregateTableSelection.scala
b/integration/spark-common-test/src/test/scala/org/apache/carbondata/integration/spark/testsuite/preaggregate/TestPreAggregateTableSelection.scala
index 559e91f..3fefbaf 100644
--- a/integration/spark-common-test/src/test/scala/org/apache/carbondata/integration/spark/testsuite/preaggregate/TestPreAggregateTableSelection.scala
+++ b/integration/spark-common-test/src/test/scala/org/apache/carbondata/integration/spark/testsuite/preaggregate/TestPreAggregateTableSelection.scala
@@ -262,11 +262,29 @@ class TestPreAggregateTableSelection extends QueryTest with BeforeAndAfterAll
{
     preAggTableValidator(df.queryExecution.analyzed, "maintable_agg0")
   }
 
-  test("Test query with math operation hitting fact table") {
+ test("Test query with math operation hitting fact table") {
     val df =  sql("select sum(id)+count(id) from maintable")
     preAggTableValidator(df.queryExecution.analyzed, "maintable")
   }
 
+test("test PreAggregate table selection with timeseries and normal together") {
+    sql("drop table if exists maintabletime")
+    sql(
+      "create table maintabletime(year int,month int,name string,salary int,dob timestamp)
stored" +
+      " by 'carbondata' tblproperties('sort_scope'='Global_sort','table_blocksize'='23',"
+
+      "'sort_columns'='month,year,name')")
+    sql("insert into maintabletime select 10,11,'babu',12,'2014-01-01 00:00:00'")
+    sql(
+      "create datamap agg0 on table maintabletime using 'preaggregate' as select dob,name
from " +
+      "maintabletime group by dob,name")
+    sql(
+      "create datamap agg1 on table maintabletime using 'preaggregate' DMPROPERTIES ('timeseries"
+
+      ".eventTime'='dob', 'timeseries.hierarchy'='hour=1,day=1,month=1,year=1') as select
dob," +
+      "name from maintabletime group by dob,name")
+    val df = sql("select timeseries(dob,'year') from maintabletime group by timeseries(dob,'year')")
+    preAggTableValidator(df.queryExecution.analyzed, "maintabletime_agg1_year")
+
+  }
   override def afterAll: Unit = {
     sql("drop table if exists mainTable")
     sql("drop table if exists lineitem")


Mime
View raw message