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

lgbo-ustc pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/gluten.git


The following commit(s) were added to refs/heads/main by this push:
     new 11fd185c7a Fix IN predicate with string values in Gluten-Flink planner 
(#12267)
11fd185c7a is described below

commit 11fd185c7aad596014b0e2bf9a717ade2dd7a693
Author: GGboom <[email protected]>
AuthorDate: Thu Jun 25 15:24:12 2026 +0800

    Fix IN predicate with string values in Gluten-Flink planner (#12267)
---
 .../src/main/java/org/apache/gluten/rexnode/RexNodeConverter.java   | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git 
a/gluten-flink/planner/src/main/java/org/apache/gluten/rexnode/RexNodeConverter.java
 
b/gluten-flink/planner/src/main/java/org/apache/gluten/rexnode/RexNodeConverter.java
index 337300c592..519f36d6e1 100644
--- 
a/gluten-flink/planner/src/main/java/org/apache/gluten/rexnode/RexNodeConverter.java
+++ 
b/gluten-flink/planner/src/main/java/org/apache/gluten/rexnode/RexNodeConverter.java
@@ -23,6 +23,7 @@ import org.apache.gluten.util.LogicalTypeConverter;
 import io.github.zhztheplayer.velox4j.expression.ConstantTypedExpr;
 import io.github.zhztheplayer.velox4j.expression.FieldAccessTypedExpr;
 import io.github.zhztheplayer.velox4j.expression.TypedExpr;
+import io.github.zhztheplayer.velox4j.type.ArrayType;
 import io.github.zhztheplayer.velox4j.type.Type;
 import io.github.zhztheplayer.velox4j.variant.ArrayValue;
 import io.github.zhztheplayer.velox4j.variant.BigIntValue;
@@ -144,7 +145,7 @@ public class RexNodeConverter {
       values.add(toVariant(range.lowerEndpoint(), 
relDataType.getSqlTypeName()));
     }
     Variant arrayValue = new ArrayValue(values);
-    return ConstantTypedExpr.create(arrayValue);
+    return new ConstantTypedExpr(ArrayType.create(toType(relDataType)), 
arrayValue, null);
   }
 
   public static List<TypedExpr> toTypedExpr(Range range, RelDataType 
relDataType) {
@@ -164,6 +165,9 @@ public class RexNodeConverter {
       case INTEGER:
         return new IntegerValue(((BigDecimal) comparable).intValue());
       case VARCHAR:
+        if (comparable instanceof NlsString) {
+          return new VarCharValue(((NlsString) comparable).getValue());
+        }
         return new VarCharValue(comparable.toString());
       case CHAR:
         return new VarCharValue(((NlsString) comparable).getValue());


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to