[ 
https://issues.apache.org/jira/browse/CALCITE-7054?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17964595#comment-17964595
 ] 

Zhen Chen commented on CALCITE-7054:
------------------------------------

Is there any way or test to verify that depth-first does not require garbage 
collection? Although according to the comments it probably does not.

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

Reply via email to