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]