[
https://issues.apache.org/jira/browse/CALCITE-7054?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
xiong duan resolved CALCITE-7054.
---------------------------------
Resolution: Fixed
> 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
> Priority: Minor
> Labels: pull-request-available
> 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)