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

rubenql pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/calcite.git


The following commit(s) were added to refs/heads/master by this push:
     new 94e2f98  [CALCITE-4741] AbstractRelNode#getId can overflow into a 
negative value causing CompileException in certain Enumerable implement methods
94e2f98 is described below

commit 94e2f98d9769ea17b9e8a6a478802f78a745e3f0
Author: rubenada <rube...@gmail.com>
AuthorDate: Tue Aug 17 13:18:43 2021 +0100

    [CALCITE-4741] AbstractRelNode#getId can overflow into a negative value 
causing CompileException in certain Enumerable implement methods
---
 .../calcite/adapter/enumerable/EnumerableBatchNestedLoopJoin.java       | 2 +-
 .../org/apache/calcite/adapter/enumerable/EnumerableMergeUnion.java     | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git 
a/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableBatchNestedLoopJoin.java
 
b/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableBatchNestedLoopJoin.java
index 4dd3e1b..15e211a 100644
--- 
a/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableBatchNestedLoopJoin.java
+++ 
b/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableBatchNestedLoopJoin.java
@@ -167,7 +167,7 @@ public class EnumerableBatchNestedLoopJoin extends Join 
implements EnumerableRel
     ParameterExpression corrArg;
     final ParameterExpression corrArgList =
         Expressions.parameter(Modifier.FINAL,
-            List.class, "corrList" + this.getId());
+            List.class, "corrList" + Integer.toUnsignedString(this.getId()));
 
     // Declare batchSize correlation variables
     if (!Primitive.is(corrVarType)) {
diff --git 
a/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableMergeUnion.java
 
b/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableMergeUnion.java
index 182e0a5..b5a617a 100644
--- 
a/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableMergeUnion.java
+++ 
b/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableMergeUnion.java
@@ -73,7 +73,7 @@ public class EnumerableMergeUnion extends EnumerableUnion {
 
     final ParameterExpression inputListExp = Expressions.parameter(
         List.class,
-        builder.newName("mergeUnionInputs" + getId()));
+        builder.newName("mergeUnionInputs" + 
Integer.toUnsignedString(this.getId())));
     builder.add(Expressions.declare(0, inputListExp, 
Expressions.new_(ArrayList.class)));
 
     for (Ord<RelNode> ord : Ord.zip(inputs)) {

Reply via email to