xiedeyantu commented on code in PR #4364:
URL: https://github.com/apache/calcite/pull/4364#discussion_r2093810463
##########
core/src/main/java/org/apache/calcite/rex/RexBuilder.java:
##########
@@ -1871,10 +1872,28 @@ && areAssignable(arg, Arrays.asList(lower, upper))) {
switch (point.getKind()) {
case LITERAL:
final RexLiteral literal = (RexLiteral) point;
+ if (literal.getValue() instanceof AbstractFlatList) {
+ AbstractFlatList list = (AbstractFlatList) literal.getValue();
Review Comment:
When constructing MultiSet, there is this logic that uses `FlatLists.of`,
which stores `RexLiteral`. So there needs to be an additional layer of
processing here, but it is not limited to `Int`.
```
if (allowCast) {
return makeCall(SqlStdOperatorTable.MULTISET_VALUE, operands);
} else {
return new RexLiteral((Comparable) FlatLists.of(operands), type,
sqlTypeName);
}
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]