Github user ravipesala commented on a diff in the pull request:

    https://github.com/apache/carbondata/pull/1544#discussion_r154671553
  
    --- Diff: 
integration/spark2/src/main/scala/org/apache/spark/sql/hive/CarbonPreAggregateRules.scala
 ---
    @@ -741,17 +1037,38 @@ case class 
CarbonPreAggregateQueryRules(sparkSession: SparkSession) extends Rule
           dataType: String = "",
           isChangedDataType: Boolean = false,
           isFilterColumn: Boolean = false): QueryColumn = {
    -    val columnSchema = carbonTable.getColumnByName(tableName,
    -      columnName.toLowerCase).getColumnSchema
    -    if (isChangedDataType) {
    -      new QueryColumn(columnSchema, columnSchema.getDataType.getName,
    -        aggFunction.toLowerCase, isFilterColumn)
    +    val columnSchema = carbonTable.getColumnByName(tableName, 
columnName.toLowerCase)
    +    if(null == columnSchema) {
    +      null
         } else {
    -      new QueryColumn(columnSchema,
    +      if (isChangedDataType) {
    +        new QueryColumn(columnSchema.getColumnSchema,
    +          columnSchema.getDataType.getName,
    +          aggFunction.toLowerCase,
    +          isFilterColumn)
    +      } else {
    +        new QueryColumn(columnSchema.getColumnSchema,
             CarbonScalaUtil.convertSparkToCarbonSchemaDataType(dataType),
             aggFunction.toLowerCase, isFilterColumn)
    +      }
         }
       }
    +
    +  def createChildSelectQuery(tableSchema: TableSchema): String = {
    +    val aggregateColumns = 
scala.collection.mutable.ArrayBuffer.empty[String]
    +    val groupingExpressions = 
scala.collection.mutable.ArrayBuffer.empty[String]
    +    tableSchema.getListOfColumns.asScala.foreach {
    +      a => if (a.getAggFunction.nonEmpty) {
    --- End diff --
    
    move up `a =>`


---

Reply via email to