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