This is an automated email from the ASF dual-hosted git repository.
krisztiankasa pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git
The following commit(s) were added to refs/heads/master by this push:
new 84376bc9b5f HIVE-28774 Refactor NullOrder usage in iceberg write oder
function (Zoltan Ratkai, reviewed by Krisztian Kasa)
84376bc9b5f is described below
commit 84376bc9b5f9b0f6ba2cf299b3462580b5acb9fc
Author: Zoltan Ratkai <[email protected]>
AuthorDate: Thu Feb 27 09:42:31 2025 +0100
HIVE-28774 Refactor NullOrder usage in iceberg write oder function (Zoltan
Ratkai, reviewed by Krisztian Kasa)
Change-Id: Ic313562fbb5d92bb9f42ea7c718ca44c52e99b8e
---
.../org/apache/iceberg/mr/hive/HiveIcebergMetaHook.java | 3 ++-
.../hadoop/hive/ql/ddl/misc/sortoder/SortFieldDesc.java | 14 ++++++--------
.../org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java | 2 +-
3 files changed, 9 insertions(+), 10 deletions(-)
diff --git
a/iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/HiveIcebergMetaHook.java
b/iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/HiveIcebergMetaHook.java
index 45b83911076..534afe11afe 100644
---
a/iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/HiveIcebergMetaHook.java
+++
b/iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/HiveIcebergMetaHook.java
@@ -72,6 +72,7 @@
import org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc;
import org.apache.hadoop.hive.ql.session.SessionState;
import org.apache.hadoop.hive.ql.session.SessionStateUtil;
+import org.apache.hadoop.hive.ql.util.NullOrdering;
import org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector;
import org.apache.hadoop.hive.serde2.typeinfo.ListTypeInfo;
import org.apache.hadoop.hive.serde2.typeinfo.MapTypeInfo;
@@ -301,7 +302,7 @@ private void
setSortOrder(org.apache.hadoop.hive.metastore.api.Table hmsTable, S
if (sortFields != null && !sortFields.getSortFields().isEmpty()) {
SortOrder.Builder sortOderBuilder = SortOrder.builderFor(schema);
sortFields.getSortFields().forEach(fieldDesc -> {
- NullOrder nullOrder = fieldDesc.getNullOrder() ==
SortFieldDesc.NullOrder.NULLS_FIRST ?
+ NullOrder nullOrder = fieldDesc.getNullOrdering() ==
NullOrdering.NULLS_FIRST ?
NullOrder.NULLS_FIRST : NullOrder.NULLS_LAST;
SortDirection sortDirection = fieldDesc.getDirection() ==
SortFieldDesc.SortDirection.ASC ?
SortDirection.ASC : SortDirection.DESC;
diff --git
a/ql/src/java/org/apache/hadoop/hive/ql/ddl/misc/sortoder/SortFieldDesc.java
b/ql/src/java/org/apache/hadoop/hive/ql/ddl/misc/sortoder/SortFieldDesc.java
index c110f5c970c..48e5c83eb9b 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/ddl/misc/sortoder/SortFieldDesc.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/ddl/misc/sortoder/SortFieldDesc.java
@@ -18,25 +18,23 @@
package org.apache.hadoop.hive.ql.ddl.misc.sortoder;
+import org.apache.hadoop.hive.ql.util.NullOrdering;
+
public class SortFieldDesc {
private String columnName;
- private NullOrder nullOrder;
+ private NullOrdering nullOrder;
private SortDirection direction;
public SortFieldDesc() {
}
- public SortFieldDesc(String columnName, SortDirection direction, NullOrder
nullOrder) {
+ public SortFieldDesc(String columnName, SortDirection direction,
NullOrdering nullOrder) {
this.columnName = columnName;
this.direction = direction;
this.nullOrder = nullOrder;
}
- public enum NullOrder {
- NULLS_FIRST, NULLS_LAST;
- }
-
public enum SortDirection {
ASC,
DESC;
@@ -46,7 +44,7 @@ public String getColumnName() {
return columnName;
}
- public NullOrder getNullOrder() {
+ public NullOrdering getNullOrdering() {
return nullOrder;
}
@@ -58,7 +56,7 @@ public void setColumnName(String columnName) {
this.columnName = columnName;
}
- public void setNullOrder(NullOrder nullOrder) {
+ public void setNullOrdering(NullOrdering nullOrder) {
this.nullOrder = nullOrder;
}
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
b/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
index e8f0bd380e2..08739d9f5b4 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
@@ -16132,7 +16132,7 @@ private String getSortOrderJson(ASTNode ast) {
.getType() == HiveParser.TOK_TABSORTCOLNAMEDESC ?
SortFieldDesc.SortDirection.DESC : SortFieldDesc.SortDirection.ASC;
child = (ASTNode) child.getChild(0);
String name =
unescapeIdentifier(child.getChild(0).getText()).toLowerCase();
- SortFieldDesc.NullOrder nullOrder = child.getToken().getType() ==
HiveParser.TOK_NULLS_FIRST ? SortFieldDesc.NullOrder.NULLS_FIRST :
SortFieldDesc.NullOrder.NULLS_LAST;
+ NullOrdering nullOrder =
NullOrdering.fromToken(child.getToken().getType());
sortFieldDescList.add(new SortFieldDesc(name, sortDirection, nullOrder));
}
try {