This is an automated email from the ASF dual-hosted git repository.

wanghailin pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/seatunnel.git


The following commit(s) were added to refs/heads/dev by this push:
     new d07948d7b9 [Improve] Improve AlterTableSchemaEventHandler (#8050)
d07948d7b9 is described below

commit d07948d7b98415d3339090fb4fe398b354d72c97
Author: hailin0 <[email protected]>
AuthorDate: Mon Nov 18 18:26:00 2024 +0800

    [Improve] Improve AlterTableSchemaEventHandler (#8050)
---
 .../table/schema/handler/AlterTableSchemaEventHandler.java  | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git 
a/seatunnel-api/src/main/java/org/apache/seatunnel/api/table/schema/handler/AlterTableSchemaEventHandler.java
 
b/seatunnel-api/src/main/java/org/apache/seatunnel/api/table/schema/handler/AlterTableSchemaEventHandler.java
index 6c65e05467..43f92a0a3e 100644
--- 
a/seatunnel-api/src/main/java/org/apache/seatunnel/api/table/schema/handler/AlterTableSchemaEventHandler.java
+++ 
b/seatunnel-api/src/main/java/org/apache/seatunnel/api/table/schema/handler/AlterTableSchemaEventHandler.java
@@ -30,10 +30,10 @@ import 
org.apache.seatunnel.api.table.schema.event.AlterTableNameEvent;
 import org.apache.seatunnel.api.table.schema.event.SchemaChangeEvent;
 import org.apache.seatunnel.api.table.type.SeaTunnelDataType;
 
-import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.LinkedList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 public class AlterTableSchemaEventHandler implements 
TableSchemaChangeEventHandler {
     private TableSchema schema;
@@ -117,14 +117,11 @@ public class AlterTableSchemaEventHandler implements 
TableSchemaChangeEventHandl
 
     private TableSchema applyDropColumn(
             TableSchema schema, AlterTableDropColumnEvent dropColumnEvent) {
-        String[] fieldNames = schema.getFieldNames();
+        List<Column> newColumns =
+                schema.getColumns().stream()
+                        .filter(c -> 
!c.getName().equals(dropColumnEvent.getColumn()))
+                        .collect(Collectors.toList());
 
-        List<Column> newColumns = new ArrayList<>(schema.getColumns());
-        for (int i = 0; i < fieldNames.length; i++) {
-            if (fieldNames[i].equals(dropColumnEvent.getColumn())) {
-                newColumns.remove(i);
-            }
-        }
         return TableSchema.builder()
                 .columns(newColumns)
                 .primaryKey(schema.getPrimaryKey())

Reply via email to