Skip to content

Commit 841cb16

Browse files
committed
[Improve] Improve AlterTableSchemaEventHandler
1 parent 16cf632 commit 841cb16

File tree

1 file changed

+5
-8
lines changed

1 file changed

+5
-8
lines changed

seatunnel-api/src/main/java/org/apache/seatunnel/api/table/schema/handler/AlterTableSchemaEventHandler.java

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,10 @@
3030
import org.apache.seatunnel.api.table.schema.event.SchemaChangeEvent;
3131
import org.apache.seatunnel.api.table.type.SeaTunnelDataType;
3232

33-
import java.util.ArrayList;
3433
import java.util.Arrays;
3534
import java.util.LinkedList;
3635
import java.util.List;
36+
import java.util.stream.Collectors;
3737

3838
public class AlterTableSchemaEventHandler implements TableSchemaChangeEventHandler {
3939
private TableSchema schema;
@@ -117,14 +117,11 @@ private TableSchema applyAddColumn(
117117

118118
private TableSchema applyDropColumn(
119119
TableSchema schema, AlterTableDropColumnEvent dropColumnEvent) {
120-
String[] fieldNames = schema.getFieldNames();
120+
List<Column> newColumns =
121+
schema.getColumns().stream()
122+
.filter(c -> !c.getName().equals(dropColumnEvent.getColumn()))
123+
.collect(Collectors.toList());
121124

122-
List<Column> newColumns = new ArrayList<>(schema.getColumns());
123-
for (int i = 0; i < fieldNames.length; i++) {
124-
if (fieldNames[i].equals(dropColumnEvent.getColumn())) {
125-
newColumns.remove(i);
126-
}
127-
}
128125
return TableSchema.builder()
129126
.columns(newColumns)
130127
.primaryKey(schema.getPrimaryKey())

0 commit comments

Comments
 (0)