You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@carbondata.apache.org by ja...@apache.org on 2018/08/07 13:09:32 UTC
[08/50] [abbrv] carbondata git commit: [CARBONDATA-2794]Distinct
count fails on ArrayOfStruct
[CARBONDATA-2794]Distinct count fails on ArrayOfStruct
This PR fixes Code Generator Error thrown when Select filter contains more than one count of distinct of ArrayofStruct with group by Clause
This closes #2573
Project: http://git-wip-us.apache.org/repos/asf/carbondata/repo
Commit: http://git-wip-us.apache.org/repos/asf/carbondata/commit/3b9efed6
Tree: http://git-wip-us.apache.org/repos/asf/carbondata/tree/3b9efed6
Diff: http://git-wip-us.apache.org/repos/asf/carbondata/diff/3b9efed6
Branch: refs/heads/external-format
Commit: 3b9efed6282e504cb5c872caf9b70f4f08c0f93b
Parents: 91837a6
Author: Indhumathi27 <in...@gmail.com>
Authored: Fri Jul 27 23:39:50 2018 +0530
Committer: ravipesala <ra...@gmail.com>
Committed: Sun Jul 29 21:33:04 2018 +0530
----------------------------------------------------------------------
.../spark/testsuite/complexType/TestComplexDataType.scala | 10 ++++++++++
.../apache/spark/sql/optimizer/CarbonLateDecodeRule.scala | 2 +-
2 files changed, 11 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/carbondata/blob/3b9efed6/integration/spark-common-test/src/test/scala/org/apache/carbondata/integration/spark/testsuite/complexType/TestComplexDataType.scala
----------------------------------------------------------------------
diff --git a/integration/spark-common-test/src/test/scala/org/apache/carbondata/integration/spark/testsuite/complexType/TestComplexDataType.scala b/integration/spark-common-test/src/test/scala/org/apache/carbondata/integration/spark/testsuite/complexType/TestComplexDataType.scala
index e2884d8..2b3cfc0 100644
--- a/integration/spark-common-test/src/test/scala/org/apache/carbondata/integration/spark/testsuite/complexType/TestComplexDataType.scala
+++ b/integration/spark-common-test/src/test/scala/org/apache/carbondata/integration/spark/testsuite/complexType/TestComplexDataType.scala
@@ -675,6 +675,16 @@ class TestComplexDataType extends QueryTest with BeforeAndAfterAll {
CarbonCommonConstants.CARBON_TIMESTAMP_DEFAULT_FORMAT)
}
+ test("test arrayofstruct with count(distinct)") {
+ sql("DROP TABLE IF EXISTS test")
+ sql("create table test(cus_id string,array_of_struct array<struct<id:int,country:string," +
+ "state:string,city:string>>) stored by 'carbondata'")
+ sql("insert into test values('cus_01','123:abc:mno:xyz$1234:abc1:mno1:xyz1')")
+ checkAnswer(sql("select array_of_struct.state[0],count(distinct array_of_struct.id[0]) as count_country," +
+ "count(distinct array_of_struct.state[0]) as count_city from test group by array_of_struct" +
+ ".state[0]"), Seq(Row("mno", 1, 1)))
+ }
+
test("test struct complex type with filter") {
sql("DROP TABLE IF EXISTS test")
sql("create table test(id int,a struct<b:int,c:int>) stored by 'carbondata'")
http://git-wip-us.apache.org/repos/asf/carbondata/blob/3b9efed6/integration/spark2/src/main/scala/org/apache/spark/sql/optimizer/CarbonLateDecodeRule.scala
----------------------------------------------------------------------
diff --git a/integration/spark2/src/main/scala/org/apache/spark/sql/optimizer/CarbonLateDecodeRule.scala b/integration/spark2/src/main/scala/org/apache/spark/sql/optimizer/CarbonLateDecodeRule.scala
index 9738ab0..ccdf034 100644
--- a/integration/spark2/src/main/scala/org/apache/spark/sql/optimizer/CarbonLateDecodeRule.scala
+++ b/integration/spark2/src/main/scala/org/apache/spark/sql/optimizer/CarbonLateDecodeRule.scala
@@ -743,7 +743,7 @@ class CarbonLateDecodeRule extends Rule[LogicalPlan] with PredicateHelper {
attrName.contains(n)
})
case ar : ArrayType =>
- attrName.contains(a.name + "[")
+ attrName.contains(a.name + "[") || attrName.contains(a.name + ".")
case _ => false
}
}