[
https://issues.apache.org/jira/browse/CALCITE-4602?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17342588#comment-17342588
]
Sergey Nuyanzin commented on CALCITE-4602:
------------------------------------------
I made an extra commit fixing this issue within a PR
https://github.com/apache/calcite-avatica/pull/143
for issue https://issues.apache.org/jira/browse/CALCITE-4600
the reason I did this is the fact that within both fixes I had to change
{{org.apache.calcite.avatica.AvaticaResultSetConversionsTest}} by adding a
separate column for test data.
To avoid merge issues with changing index of column it is simpler to have both
fixes one after another
> ClassCastException for arrays with int and decimal elements within one array
> ----------------------------------------------------------------------------
>
> Key: CALCITE-4602
> URL: https://issues.apache.org/jira/browse/CALCITE-4602
> Project: Calcite
> Issue Type: Bug
> Components: avatica
> Affects Versions: avatica-1.17.0
> Reporter: Sergey Nuyanzin
> Priority: Major
>
> Cases to reproduce: any query with array containing both int and bigdecimal
> elements for instance
> {code:sql}
> select array[1, 1.1];
> select array[1.1, 1];
> {code}
> which leads to ClassCastException
> {noformat}
> class java.lang.Integer cannot be cast to class java.math.BigDecimal
> (java.lang.Integer and java.math.BigDecimal are in module java.base of loader
> 'bootstrap')
> java.lang.ClassCastException: class java.lang.Integer cannot be cast to class
> java.math.BigDecimal (java.lang.Integer and java.math.BigDecimal are in
> module java.base of loader 'bootstrap')
> at
> org.apache.calcite.avatica.util.AbstractCursor$BigDecimalAccessor.getBigDecimal(AbstractCursor.java:701)
> at
> org.apache.calcite.avatica.util.AbstractCursor$ArrayAccessor.convertValue(AbstractCursor.java:1338)
> at
> org.apache.calcite.avatica.util.AbstractCursor$ArrayAccessor.getObject(AbstractCursor.java:1299)
> at
> org.apache.calcite.avatica.util.AbstractCursor$ArrayAccessor.getArray(AbstractCursor.java:1352)
> at
> org.apache.calcite.avatica.util.AbstractCursor$ArrayAccessor.getString(AbstractCursor.java:1364)
> at
> org.apache.calcite.avatica.AvaticaResultSet.getString(AvaticaResultSet.java:239)
> {noformat}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)