Github user kunal642 commented on a diff in the pull request:
https://github.com/apache/carbondata/pull/2451#discussion_r200894716
--- Diff:
integration/spark2/src/main/scala/org/apache/spark/sql/execution/command/preaaggregate/PreAggregateTableHelper.scala
---
@@ -136,14 +136,33 @@ case class PreAggregateTableHelper(
parentTable.getTableInfo.getFactTable.getTableProperties.asScala
.getOrElse(CarbonCommonConstants.LOCAL_DICTIONARY_THRESHOLD,
CarbonCommonConstants.LOCAL_DICTIONARY_THRESHOLD_DEFAULT))
- tableProperties
- .put(CarbonCommonConstants.LOCAL_DICTIONARY_INCLUDE,
- parentTable.getTableInfo.getFactTable.getTableProperties.asScala
- .getOrElse(CarbonCommonConstants.LOCAL_DICTIONARY_INCLUDE, ""))
- tableProperties
- .put(CarbonCommonConstants.LOCAL_DICTIONARY_EXCLUDE,
- parentTable.getTableInfo.getFactTable.getTableProperties.asScala
- .getOrElse(CarbonCommonConstants.LOCAL_DICTIONARY_EXCLUDE, ""))
+ val parentDictInclude =
parentTable.getTableInfo.getFactTable.getTableProperties.asScala
+ .getOrElse(CarbonCommonConstants.LOCAL_DICTIONARY_INCLUDE,
"").split(",")
+
+ val parentDictExclude =
parentTable.getTableInfo.getFactTable.getTableProperties.asScala
+ .getOrElse(CarbonCommonConstants.LOCAL_DICTIONARY_EXCLUDE,
"").split(",")
+
+ var newDictInclude = Seq[String]()
+ var newDictExclude = Seq[String]()
+ parentDictInclude.foreach(parentcol =>
+ fields.filter(col => fieldRelationMap(col).aggregateFunction.isEmpty
&&
+ parentcol.equals(fieldRelationMap(col).
+
columnTableRelationList.get.head.parentColumnName))
+ .map(cols => newDictInclude :+= cols.column))
+ parentDictExclude.foreach(parentcol =>
+ fields.filter(col => fieldRelationMap(col).aggregateFunction.isEmpty
&&
+ parentcol.equals(fieldRelationMap(col).
+
columnTableRelationList.get.head.parentColumnName))
+ .map(cols => newDictExclude :+= cols.column))
--- End diff --
change .filter(..).map(..) to .collect
---