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)