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);
}
}