xiarixiaoyao commented on a change in pull request #3808:
URL: https://github.com/apache/hudi/pull/3808#discussion_r740693786



##########
File path: 
hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/AbstractHoodieWriteClient.java
##########
@@ -1078,4 +1088,138 @@ public void close() {
     this.heartbeatClient.stop();
     this.txnManager.close();
   }
+
+  /**
+   * add columns to table.
+   *
+   * @param colName col name to be added. if we want to add col to a nested 
filed, the fullName should be specify
+   * @param schema col type to be added.
+   * @param doc col doc to be added.
+   * @param position col position to be added
+   * @param positionType col position change type. now support three change 
types: first/after/before
+   */
+  public void addCol(String colName, Schema schema, String doc, String 
position, TableChange.ColumnPositionChange.ColumnPositionType positionType) {
+    Pair<InternalSchema, HoodieTableMetaClient> pair = 
getInternalSchemaAndMetaClient();
+    InternalSchema newSchema = SchemaChangePersistHelper
+        .applyAddChange(pair.getLeft(), colName, 
AvroInternalSchemaConverter.convertToField(schema), doc, position, 
positionType);
+    commitTableChange(newSchema, pair.getRight());
+  }
+
+  public void addCol(String colName, Schema schema) {
+    addCol(colName, schema, null, null, null);

Review comment:
       
   This is because such operations as hive / spark / MySQL use string as a 
parameter。 eg: alter table xxx add columns(name string **after**/**before** id 
.     i think it will be better to use  after/before/first as param




-- 
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]


Reply via email to