ilicmarkodb commented on code in PR #51001: URL: https://github.com/apache/spark/pull/51001#discussion_r2115391176
########## sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/ApplyDefaultCollationToStringType.scala: ########## @@ -168,22 +168,86 @@ object ApplyDefaultCollationToStringType extends Rule[LogicalPlan] { case p if isCreateOrAlterPlan(p) || AnalysisContext.get.collation.isDefined => transformPlan(p, newType) - case addCols: AddColumns => + case addCols@AddColumns(_: ResolvedTable, _) => addCols.copy(columnsToAdd = replaceColumnTypes(addCols.columnsToAdd, newType)) - case replaceCols: ReplaceColumns => + case replaceCols@ReplaceColumns(_: ResolvedTable, _) => replaceCols.copy(columnsToAdd = replaceColumnTypes(replaceCols.columnsToAdd, newType)) - case a @ AlterColumns(_, specs: Seq[AlterColumnSpec]) => + case a @ AlterColumns(ResolvedTable(_, _, table: Table, _), specs: Seq[AlterColumnSpec]) => val newSpecs = specs.map { - case spec if spec.newDataType.isDefined && hasDefaultStringType(spec.newDataType.get) => + case spec if shouldApplyDefaultCollationToAlterColumn(spec, table) => Review Comment: this part applies default collation to `dataType`. `resolveAlterColumnsDataType` just removed `dataType` if `alter column` was noop. `resolveAlterColumnsDataType` isn't really best name since it doesn't fully resolve `dataType`, so I changed name -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org