mxm commented on code in PR #14728:
URL: https://github.com/apache/iceberg/pull/14728#discussion_r2588317371


##########
flink/v2.1/flink/src/main/java/org/apache/iceberg/flink/sink/dynamic/CompareSchemasVisitor.java:
##########
@@ -97,6 +101,11 @@ public Result struct(Types.StructType struct, Integer 
tableSchemaId, List<Result
     }
 
     if (struct.fields().size() != 
tableSchemaType.asStructType().fields().size()) {
+      if (dropUnusedColumns
+          && struct.fields().size() < 
tableSchemaType.asStructType().fields().size()) {
+        // We need to drop fields
+        return Result.SCHEMA_UPDATE_NEEDED;

Review Comment:
   When we receive R5 with S3, we drop the column and write the associated 
RowData using the resulting schema. When we receive R6 with S3, we won't drop a 
column but write directly with that table schema which has the column dropped.
   
   >Why do we want to change the row?
   
   I think the misunderstanding stems from this question. The code here is not 
about changing RowData. It's about triggering to change the table schema.
   



-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to