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

zstan pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


The following commit(s) were added to refs/heads/main by this push:
     new bccf0ee2f2 IGNITE-23201 Sql. Fix workaround for "rexList" 
serialization (#4385)
bccf0ee2f2 is described below

commit bccf0ee2f22542d9244f95fc5a151bccad64045e
Author: Evgeniy Stanilovskiy <[email protected]>
AuthorDate: Fri Sep 13 17:27:48 2024 +0300

    IGNITE-23201 Sql. Fix workaround for "rexList" serialization (#4385)
---
 .../apache/ignite/internal/sql/engine/externalize/RelJson.java    | 8 +-------
 .../ignite/internal/sql/engine/externalize/RelJsonReader.java     | 6 +++---
 2 files changed, 4 insertions(+), 10 deletions(-)

diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/externalize/RelJson.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/externalize/RelJson.java
index 88a0e2c853..f2e414ec59 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/externalize/RelJson.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/externalize/RelJson.java
@@ -20,7 +20,6 @@ package org.apache.ignite.internal.sql.engine.externalize;
 import static org.apache.calcite.sql.type.SqlTypeUtil.isApproximateNumeric;
 import static org.apache.ignite.internal.lang.IgniteStringFormatter.format;
 import static 
org.apache.ignite.internal.sql.engine.util.Commons.FRAMEWORK_CONFIG;
-import static org.apache.ignite.internal.sql.engine.util.Commons.rexBuilder;
 import static org.apache.ignite.internal.util.ArrayUtils.asList;
 import static org.apache.ignite.internal.util.IgniteUtils.igniteClassLoader;
 import static org.apache.ignite.lang.ErrorGroups.Common.INTERNAL_ERR;
@@ -99,7 +98,6 @@ import org.apache.calcite.sql.SqlOperator;
 import org.apache.calcite.sql.SqlSelectKeyword;
 import org.apache.calcite.sql.SqlSyntax;
 import org.apache.calcite.sql.SqlWindow;
-import org.apache.calcite.sql.fun.SqlLiteralAggFunction;
 import org.apache.calcite.sql.fun.SqlTrimFunction;
 import org.apache.calcite.sql.parser.SqlParserPos;
 import org.apache.calcite.sql.type.SqlTypeFamily;
@@ -342,11 +340,7 @@ class RelJson {
         map.put("operands", node.getArgList());
         map.put("filter", node.filterArg);
         map.put("name", node.getName());
-        // workaround for https://issues.apache.org/jira/browse/CALCITE-5969
-        if (node.getAggregation() == SqlLiteralAggFunction.INSTANCE) {
-            RexNode boolLiteral = rexBuilder().makeLiteral(true);
-            map.put("rexList", toJson(boolLiteral));
-        }
+        map.put("rexList", toJson(node.rexList));
         return map;
     }
 
diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/externalize/RelJsonReader.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/externalize/RelJsonReader.java
index 130a2d908c..c4e06423f0 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/externalize/RelJsonReader.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/externalize/RelJsonReader.java
@@ -402,11 +402,11 @@ public class RelJsonReader {
             RelDataType type = relJson.toType(Commons.typeFactory(), 
jsonAggCall.get("type"));
             String name = (String) jsonAggCall.get("name");
 
-            Object rexList = jsonAggCall.get("rexList");
-            RexNode r0 = relJson.toRex(this, rexList);
+            List<RexNode> rexList = Commons.transform((List<Object>) 
jsonAggCall.get("rexList"),
+                    node -> relJson.toRex(this, node));
 
             return AggregateCall.create(aggregation, distinct, false, false,
-                    r0 == null ? ImmutableList.of() : List.of(r0), operands, 
filterOperand == null ? -1 : filterOperand,
+                    rexList, operands, filterOperand == null ? -1 : 
filterOperand,
                     null, RelCollations.EMPTY, type, name);
         }
     }

Reply via email to