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

    https://github.com/apache/carbondata/pull/2109#discussion_r178264718
  
    --- Diff: 
integration/spark2/src/main/scala/org/apache/spark/sql/execution/command/preaaggregate/PreAggregateTableHelper.scala
 ---
    @@ -59,8 +60,22 @@ case class PreAggregateTableHelper(
         val df = sparkSession.sql(updatedQuery)
         val fieldRelationMap = 
PreAggregateUtil.validateActualSelectPlanAndGetAttributes(
           df.logicalPlan, queryString)
    +    val partitionInfo = parentTable.getPartitionInfo
         val fields = fieldRelationMap.keySet.toSeq
         val tableProperties = mutable.Map[String, String]()
    +    val childPartitionColumns = if (partitionInfo != null &&
    +                              partitionInfo.getPartitionType == 
PartitionType.NATIVE_HIVE) {
    +      val parentPartitionColumns = 
partitionInfo.getColumnSchemaList.asScala.map(_.getColumnName)
    +      PreAggregateUtil
    +        .extractPartitionInfoForAggregateTable(df.logicalPlan, 
parentPartitionColumns)
    +    } else {Seq()}
    +    val partitionerFields = fieldRelationMap.collect {
    +      case (field, dataMapField) if childPartitionColumns
    +        .exists(childCol =>
    +          
childCol.equals(dataMapField.columnTableRelationList.get.head.parentColumnName) 
&&
    +          dataMapField.aggregateFunction.isEmpty) =>
    +      PartitionerField(field.name.get, field.dataType, field.columnComment)
    +    }.toSeq
    --- End diff --
    
    done


---

Reply via email to