You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by "Sergey Nuyanzin (Jira)" <ji...@apache.org> on 2021/05/10 00:58:00 UTC

[jira] [Created] (CALCITE-4600) ClassCastException for arrays with date/time/timestamp elements

Sergey Nuyanzin created CALCITE-4600:
----------------------------------------

             Summary: ClassCastException for arrays with date/time/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


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)