[
https://issues.apache.org/jira/browse/CALCITE-4600?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Julian Hyde resolved CALCITE-4600.
----------------------------------
Resolution: Fixed
Fixed in
[820edf6f|https://github.com/apache/calcite-avatica/commit/820edf6f653607afb5a2a280a32f315aff1f64cb];
thanks for the PR, [~Sergey Nuyanzin], and also much thanks to [~asolimando]
for reviewing, rebasing, fixing bugs, and getting this and other PRs into a
shape where they can be merged.
> ClassCastException retrieving from an ARRAY that has DATE, TIME or TIMESTAMP
> elements
> -------------------------------------------------------------------------------------
>
> Key: CALCITE-4600
> URL: https://issues.apache.org/jira/browse/CALCITE-4600
> Project: Calcite
> Issue Type: Bug
> Components: avatica
> Affects Versions: avatica-1.17.0
> Reporter: Sergey Nuyanzin
> Assignee: Sergey Nuyanzin
> Priority: Major
> Labels: pull-request-available
> Fix For: avatica-1.19.0
>
> Time Spent: 2h 20m
> Remaining Estimate: 0h
>
> cases to reproduce
> {code:sql}
> select array[current_date];
> select array[cast('1900-1-1' as date)];
> select array[current_timestamp];
> select array[current_time];
> {code}
> each query fails with {{ClassCastException}} mentioned below.
> It seems the reason is that date/time/timestamp could be both int/long and
> java_sql_*.
> {noformat}
> class java.sql.Date cannot be cast to class java.lang.Number (java.sql.Date
> is in module java.sql of loader 'platform'; java.lang.Number is in module
> java.base of loader 'bootstrap')
> java.lang.ClassCastException: class java.sql.Date cannot be cast to class
> java.lang.Number (java.sql.Date is in module java.sql of loader 'platform';
> java.lang.Number is in module java.base of loader 'bootstrap')
> at
> org.apache.calcite.avatica.util.AbstractCursor$NumberAccessor.getNumber(AbstractCursor.java:722)
> at
> org.apache.calcite.avatica.util.AbstractCursor$DateFromNumberAccessor.getString(AbstractCursor.java:928)
> at org.apache.calcite.avatica.util.ArrayImpl.toString(ArrayImpl.java:62)
> at
> org.apache.calcite.avatica.util.AbstractCursor$ArrayAccessor.getString(AbstractCursor.java:1365)
> at
> org.apache.calcite.avatica.AvaticaResultSet.getString(AvaticaResultSet.java:239)
> {noformat}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)