You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Marc Prud'hommeaux (JIRA)" <ji...@apache.org> on 2015/09/16 23:35:45 UTC
[jira] [Created] (CALCITE-887) MySQL error when concatenating:
"java.lang.Long cannot be cast to java.lang.String"
Marc Prud'hommeaux created CALCITE-887:
------------------------------------------
Summary: MySQL error when concatenating: "java.lang.Long cannot be cast to java.lang.String"
Key: CALCITE-887
URL: https://issues.apache.org/jira/browse/CALCITE-887
Project: Calcite
Issue Type: Bug
Affects Versions: 1.5.0-incubating
Environment: MySQL
Reporter: Marc Prud'hommeaux
Assignee: Julian Hyde
{noformat}
0: jdbc:calcite:model=inline:{"version":1.0,"> select "name" from "category";
+--------------+
| name |
+--------------+
| Action |
| Animation |
| Children |
...
16 rows selected (0.055 seconds)
0: jdbc:calcite:model=inline:{"version":1.0,"> select "name"||"name" from "category";
java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.String
at org.apache.calcite.avatica.util.AbstractCursor$StringAccessor.getString(AbstractCursor.java:689)
at org.apache.calcite.avatica.AvaticaResultSet.getString(AvaticaResultSet.java:233)
at sqlline.SqlLine$Rows$Row.<init>(Unknown Source)
at sqlline.SqlLine$BufferedRows.<init>(Unknown Source)
at sqlline.SqlLine.print(Unknown Source)
at sqlline.SqlLine$Commands.execute(Unknown Source)
at sqlline.SqlLine$Commands.sql(Unknown Source)
at sqlline.SqlLine.dispatch(Unknown Source)
at sqlline.SqlLine.begin(Unknown Source)
at sqlline.SqlLine.mainWithInputRedirection(Unknown Source)
at sqlline.SqlLine.main(Unknown Source)
{noformat}
FTR, a similar concat function works fine with Derby:
{noformat}
0: jdbc:derby:jar:(/opt/src/glimpse/glimpse/G> select "sales_region"||"sales_region" from "SA"."region";
+-------------------------------+
| 1 |
+-------------------------------+
| No RegionNo Region |
| Central WestCentral West |
| Mexico CentralMexico Central |
...
{noformat}
Putting aside the question of why Calcite is getting back a Long, I don't think a JDBC driver should ever throw a java.lang.ClassCastException. Perhaps it could just stringify whatever the result is, or else return null if it can't.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)