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

diqiu50 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/gravitino.git


The following commit(s) were added to refs/heads/main by this push:
     new ffadbfcf26 [#8322] improvement: fix sort direction parsing bug and add 
test case (#8366)
ffadbfcf26 is described below

commit ffadbfcf26d66b2e5b95ba883cc83728204bc116
Author: 박용현 <[email protected]>
AuthorDate: Tue Sep 2 15:21:46 2025 +0900

    [#8322] improvement: fix sort direction parsing bug and add test case 
(#8366)
    
    ### What changes were proposed in this pull request?
    
    - Fixed incorrect group index in `ExpressionUtil.parseSortOrder()`
    method and added test case to verify the fix.
    
    ### Why are the changes needed?
    
    - The bug caused "ASC" and "DESC" keywords to be incorrectly
    interpreted.
    
    Fix: #8322
    
    ### Does this PR introduce _any_ user-facing change?
    
    - No.
    
    ### How was this patch tested?
    
    - Added test case for "f1 ASC" parsing to
    `testSortOrderFiledToExpression()` method.
---
 .../gravitino/trino/connector/catalog/iceberg/ExpressionUtil.java    | 2 +-
 .../trino/connector/catalog/iceberg/TestExpressionUtil.java          | 5 +++++
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git 
a/trino-connector/trino-connector/src/main/java/org/apache/gravitino/trino/connector/catalog/iceberg/ExpressionUtil.java
 
b/trino-connector/trino-connector/src/main/java/org/apache/gravitino/trino/connector/catalog/iceberg/ExpressionUtil.java
index 5642b81cb3..6c5cafe3e7 100644
--- 
a/trino-connector/trino-connector/src/main/java/org/apache/gravitino/trino/connector/catalog/iceberg/ExpressionUtil.java
+++ 
b/trino-connector/trino-connector/src/main/java/org/apache/gravitino/trino/connector/catalog/iceberg/ExpressionUtil.java
@@ -297,7 +297,7 @@ public class ExpressionUtil {
                 (m) -> {
                   NamedReference.FieldReference sortField = 
NamedReference.field(m.group(1));
                   SortDirection sortDirection =
-                      m.group(1).equalsIgnoreCase(SORT_DIRECTION_ASC)
+                      m.group(2).equalsIgnoreCase(SORT_DIRECTION_ASC)
                           ? SortDirection.ASCENDING
                           : SortDirection.DESCENDING;
                   NullOrdering nullOrdering =
diff --git 
a/trino-connector/trino-connector/src/test/java/org/apache/gravitino/trino/connector/catalog/iceberg/TestExpressionUtil.java
 
b/trino-connector/trino-connector/src/test/java/org/apache/gravitino/trino/connector/catalog/iceberg/TestExpressionUtil.java
index 086429f213..0b7f4975f7 100644
--- 
a/trino-connector/trino-connector/src/test/java/org/apache/gravitino/trino/connector/catalog/iceberg/TestExpressionUtil.java
+++ 
b/trino-connector/trino-connector/src/test/java/org/apache/gravitino/trino/connector/catalog/iceberg/TestExpressionUtil.java
@@ -270,6 +270,11 @@ public class TestExpressionUtil {
         SortOrders.of(
             NamedReference.field("F4"), SortDirection.DESCENDING, 
NullOrdering.NULLS_FIRST),
         sortOrders[3]);
+
+    sortOrderFiled = List.of("f1 ASC");
+    sortOrders = ExpressionUtil.sortOrderFiledToExpression(sortOrderFiled);
+    Assertions.assertEquals(1, sortOrders.length);
+    Assertions.assertEquals(SortOrders.ascending(NamedReference.field("f1")), 
sortOrders[0]);
   }
 
   @Test

Reply via email to