Xavier FH Leong created CALCITE-647:
---------------------------------------

             Summary: Avatica cursor type cast for number cause exception in 
AvaticaResultSet
                 Key: CALCITE-647
                 URL: https://issues.apache.org/jira/browse/CALCITE-647
             Project: Calcite
          Issue Type: Bug
    Affects Versions: 1.1.0-incubating
            Reporter: Xavier FH Leong
            Assignee: Julian Hyde


After the result are deserialized from JSON on remote side, the object is not 
with it's original type, forcing casing of box type Long on Integer raise 
exception. 

For all box number, it will type cast to Number and extract using the Number 
method instead.

2015-03-26 15:49:48,154 [Thread-10] ERROR 
net.sourceforge.squirrel_sql.fw.sql.ResultSetReader  - Error reading column 
data, column index = 3
java.lang.ClassCastException: java.lang.Integer incompatible with java.lang.Long
        at 
org.apache.calcite.avatica.util.AbstractCursor$LongAccessor.getLong(AbstractCursor.java:483)
        at 
org.apache.calcite.avatica.AvaticaResultSet.getLong(AvaticaResultSet.java:252)
        at 
net.sourceforge.squirrel_sql.fw.datasetviewer.cellcomponent.DataTypeLong.readResultSet(DataTypeLong.java:365)
        at 
net.sourceforge.squirrel_sql.fw.datasetviewer.cellcomponent.CellComponentFactory.readResultSet(CellComponentFactory.java:488)
        at 
net.sourceforge.squirrel_sql.fw.sql.ResultSetReader.doContentTabRead(ResultSetReader.java:613)
        at 
net.sourceforge.squirrel_sql.fw.sql.ResultSetReader.readRow(ResultSetReader.java:184)
        at 
net.sourceforge.squirrel_sql.fw.datasetviewer.ResultSetDataSet.createRow(ResultSetDataSet.java:237)
        at 
net.sourceforge.squirrel_sql.fw.datasetviewer.ResultSetDataSet._setResultSet(ResultSetDataSet.java:203)
        at 
net.sourceforge.squirrel_sql.fw.datasetviewer.ResultSetDataSet.setSqlExecutionTabResultSet(ResultSetDataSet.java:126)
        at 
net.sourceforge.squirrel_sql.client.session.mainpanel.SQLExecutionHandler.sqlResultSetAvailable(SQLExecutionHandler.java:410)
        at 
net.sourceforge.squirrel_sql.client.session.SQLExecuterTask.processResultSet(SQLExecuterTask.java:542)
        at 
net.sourceforge.squirrel_sql.client.session.SQLExecuterTask.processQuery(SQLExecuterTask.java:407)
        at 
net.sourceforge.squirrel_sql.client.session.SQLExecuterTask.run(SQLExecuterTask.java:205)
        at 
net.sourceforge.squirrel_sql.fw.util.TaskExecuter.run(TaskExecuter.java:82)
        at java.lang.Thread.run(Thread.java:853)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to