Yu Xu created CALCITE-7054:
------------------------------
Summary: Runtime conversion of DECIMAL MULTISET to INT MULTISET or
DECIMAL ARRAY to INT MULTISET fails with a ClassCastException
Key: CALCITE-7054
URL: https://issues.apache.org/jira/browse/CALCITE-7054
Project: Calcite
Issue Type: Bug
Components: core
Affects Versions: 1.40.0
Reporter: Yu Xu
Assignee: Yu Xu
Fix For: 1.41.0
test sql 1
multiset cast to multiset
{code:java}
SELECT CAST(CAST(MULTISET[CAST(1.1111 AS DECIMAL(2, 1)), CAST(3.06754 AS
DECIMAL(2, 1))] AS INTEGER MULTISET) as INTEGER MULTISET); {code}
exception:
{code:java}
> java.lang.ClassCastException: java.math.BigDecimal cannot be cast to
> java.lang.Integer
> at
> org.apache.calcite.avatica.util.AbstractCursor$IntAccessor.getInt(AbstractCursor.java:522)
> at
> org.apache.calcite.avatica.util.AbstractCursor$ArrayAccessor.convertValue(AbstractCursor.java:1405)
> at
> org.apache.calcite.avatica.util.AbstractCursor$ArrayAccessor.getObject(AbstractCursor.java:1386)
> at
> org.apache.calcite.avatica.util.AbstractCursor$ArrayAccessor.getArray(AbstractCursor.java:1441)
> at
> org.apache.calcite.avatica.util.AbstractCursor$ArrayAccessor.getString(AbstractCursor.java:1453)
> at
> org.apache.calcite.avatica.AvaticaResultSet.getString(AvaticaResultSet.java:241)
> at net.hydromatic.quidem.Quidem.format(Quidem.java:786) {code}
test sql 2
array cast to multiset :
{code:java}
SELECT CAST(CAST(ARRAY[CAST(1.1111 AS DECIMAL(2, 1)), CAST(3.06754 AS
DECIMAL(2, 1))] AS INTEGER ARRAY) as INTEGER MULTISET); {code}
exception:
{code:java}
> java.lang.ClassCastException: java.math.BigDecimal cannot be cast to
> java.lang.Integer > at
> org.apache.calcite.avatica.util.AbstractCursor$IntAccessor.getInt(AbstractCursor.java:522)
> > at
> org.apache.calcite.avatica.util.AbstractCursor$ArrayAccessor.convertValue(AbstractCursor.java:1405)
> > at
> org.apache.calcite.avatica.util.AbstractCursor$ArrayAccessor.getObject(AbstractCursor.java:1386)
> > at
> org.apache.calcite.avatica.util.AbstractCursor$ArrayAccessor.getArray(AbstractCursor.java:1441)
> > at
> org.apache.calcite.avatica.util.AbstractCursor$ArrayAccessor.getString(AbstractCursor.java:1453)
> > at
> org.apache.calcite.avatica.AvaticaResultSet.getString(AvaticaResultSet.java:241)
> > at net.hydromatic.quidem.Quidem.format(Quidem.java:786) {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)