This is an automated email from the ASF dual-hosted git repository.
lzljs3620320 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-paimon.git
The following commit(s) were added to refs/heads/master by this push:
new 776ff57e1 [core] Add addColumn refactoring method for SchemaChange
class (#981)
776ff57e1 is described below
commit 776ff57e1d6e0773b56a7341c4b88a01f53b94bc
Author: s7monk <[email protected]>
AuthorDate: Tue May 9 11:19:47 2023 +0800
[core] Add addColumn refactoring method for SchemaChange class (#981)
---
.../src/main/java/org/apache/paimon/schema/SchemaChange.java | 4 ++++
.../test/java/org/apache/paimon/catalog/CatalogTestBase.java | 10 ++++++++--
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git
a/paimon-core/src/main/java/org/apache/paimon/schema/SchemaChange.java
b/paimon-core/src/main/java/org/apache/paimon/schema/SchemaChange.java
index ff30d48ef..574a3c8f2 100644
--- a/paimon-core/src/main/java/org/apache/paimon/schema/SchemaChange.java
+++ b/paimon-core/src/main/java/org/apache/paimon/schema/SchemaChange.java
@@ -47,6 +47,10 @@ public interface SchemaChange extends Serializable {
return addColumn(fieldName, dataType, null, null);
}
+ static SchemaChange addColumn(String fieldName, DataType dataType, String
comment) {
+ return new AddColumn(fieldName, dataType, comment, null);
+ }
+
static SchemaChange addColumn(String fieldName, DataType dataType, String
comment, Move move) {
return new AddColumn(fieldName, dataType, comment, move);
}
diff --git
a/paimon-core/src/test/java/org/apache/paimon/catalog/CatalogTestBase.java
b/paimon-core/src/test/java/org/apache/paimon/catalog/CatalogTestBase.java
index 684d0d675..f2cb60c19 100644
--- a/paimon-core/src/test/java/org/apache/paimon/catalog/CatalogTestBase.java
+++ b/paimon-core/src/test/java/org/apache/paimon/catalog/CatalogTestBase.java
@@ -409,13 +409,19 @@ public abstract class CatalogTestBase {
false);
catalog.alterTable(
identifier,
- Lists.newArrayList(SchemaChange.addColumn("col2",
DataTypes.DATE())),
+ Lists.newArrayList(
+ SchemaChange.addColumn("col2", DataTypes.DATE()),
+ SchemaChange.addColumn("col3", DataTypes.STRING(),
"col3 field")),
false);
Table table = catalog.getTable(identifier);
- assertThat(table.rowType().getFields()).hasSize(2);
+ assertThat(table.rowType().getFields()).hasSize(3);
int index = table.rowType().getFieldIndex("col2");
+ int index2 = table.rowType().getFieldIndex("col3");
assertThat(index).isEqualTo(1);
+ assertThat(index2).isEqualTo(2);
assertThat(table.rowType().getTypeAt(index)).isEqualTo(DataTypes.DATE());
+
assertThat(table.rowType().getTypeAt(index2)).isEqualTo(DataTypes.STRING());
+
assertThat(table.rowType().getFields().get(2).description()).isEqualTo("col3
field");
// Alter table throws Exception when table is system table
assertThatExceptionOfType(IllegalArgumentException.class)