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

vinoth pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-hudi.git


The following commit(s) were added to refs/heads/master by this push:
     new 4482304  [HUDI-362] Adds a check for the existence of field (#1047)
4482304 is described below

commit 44823041a37601fed8163502272a8fcb7a5be45d
Author: hongdd <[email protected]>
AuthorDate: Tue Nov 26 03:31:07 2019 +0800

    [HUDI-362] Adds a check for the existence of field (#1047)
---
 hudi-cli/src/main/java/org/apache/hudi/cli/HoodiePrintHelper.java | 4 ++++
 hudi-cli/src/main/java/org/apache/hudi/cli/TableHeader.java       | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/hudi-cli/src/main/java/org/apache/hudi/cli/HoodiePrintHelper.java 
b/hudi-cli/src/main/java/org/apache/hudi/cli/HoodiePrintHelper.java
index 635097f..3cce301 100644
--- a/hudi-cli/src/main/java/org/apache/hudi/cli/HoodiePrintHelper.java
+++ b/hudi-cli/src/main/java/org/apache/hudi/cli/HoodiePrintHelper.java
@@ -59,6 +59,10 @@ public class HoodiePrintHelper {
       return HoodiePrintHelper.print(rowHeader);
     }
 
+    if (!sortByField.isEmpty() && !rowHeader.containsField(sortByField)) {
+      return String.format("Field[%s] is not in table, given columns[%s]", 
sortByField, rowHeader.getFieldNames());
+    }
+
     Table table =
         new Table(rowHeader, fieldNameToConverterMap, 
Option.ofNullable(sortByField.isEmpty() ? null : sortByField),
             Option.ofNullable(isDescending), Option.ofNullable(limit <= 0 ? 
null : limit)).addAllRows(rows).flip();
diff --git a/hudi-cli/src/main/java/org/apache/hudi/cli/TableHeader.java 
b/hudi-cli/src/main/java/org/apache/hudi/cli/TableHeader.java
index 0472b0f..e257e36 100644
--- a/hudi-cli/src/main/java/org/apache/hudi/cli/TableHeader.java
+++ b/hudi-cli/src/main/java/org/apache/hudi/cli/TableHeader.java
@@ -68,4 +68,8 @@ public class TableHeader {
   public int getNumFields() {
     return fieldNames.size();
   }
+
+  public boolean containsField(String fieldName) {
+    return fieldNames.contains(fieldName);
+  }
 }

Reply via email to