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

    https://github.com/apache/carbondata/pull/1476#discussion_r150493381
  
    --- Diff: 
integration/spark2/src/main/scala/org/apache/spark/sql/execution/command/preaaggregate/PreAggregateListeners.scala
 ---
    @@ -79,3 +79,190 @@ object LoadPostAggregateListener extends 
OperationEventListener {
         }
       }
     }
    +
    +object PreAggregateDataTypeChangePreListener extends 
OperationEventListener {
    +  /**
    +   * Called on a specified event occurrence
    +   *
    +   * @param event
    +   * @param operationContext
    +   */
    +  override def onEvent(event: Event, operationContext: OperationContext): 
Unit = {
    +    val dataTypeChangePreListener = 
event.asInstanceOf[AlterTableDataTypeChangePreEvent]
    +    val carbonTable = dataTypeChangePreListener.carbonTable
    +    val alterTableDataTypeChangeModel = 
dataTypeChangePreListener.alterTableDataTypeChangeModel
    +    val columnToBeAltered: String = 
alterTableDataTypeChangeModel.columnName
    +    val dataMapSchemas = carbonTable.getTableInfo.getDataMapSchemaList
    +    if (dataMapSchemas != null && !dataMapSchemas.isEmpty) {
    +      dataMapSchemas.asScala.foreach {
    +        dataMapSchema =>
    +          val childColumns = dataMapSchema.getChildSchema.getListOfColumns
    +          if (childColumns.asScala.exists(_.getColumnName == 
columnToBeAltered)) {
    --- End diff --
    
    I think it is better use equalsIgnorecase


---

Reply via email to