You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Julian Hyde (JIRA)" <ji...@apache.org> on 2018/05/11 20:00:03 UTC

[jira] [Resolved] (CALCITE-2305) JDBC adapter generates invalid casts on PostgreSQL, because PostgreSQL does not have TINYINT and DOUBLE types

     [ https://issues.apache.org/jira/browse/CALCITE-2305?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Julian Hyde resolved CALCITE-2305.
----------------------------------
       Resolution: Fixed
    Fix Version/s: 1.17.0

Fixed in [4433b102|http://git-wip-us.apache.org/repos/asf/calcite/commit/4433b102]

> JDBC adapter generates invalid casts on PostgreSQL, because PostgreSQL does not have TINYINT and DOUBLE types
> -------------------------------------------------------------------------------------------------------------
>
>                 Key: CALCITE-2305
>                 URL: https://issues.apache.org/jira/browse/CALCITE-2305
>             Project: Calcite
>          Issue Type: Bug
>          Components: jdbc-adapter
>    Affects Versions: 1.16.0
>            Reporter: Chris Baynes
>            Assignee: Julian Hyde
>            Priority: Major
>             Fix For: 1.17.0
>
>
> The types `TINYINT` and `DOUBLE` do not exist in Postgres, so attempting to cast to them throws a runtime exception, e.g.
>  
> {code:java}
> // query
> select CAST("store_id" as TINYINT) from "foodmart"."expense_fact"
> // exception
> java.lang.RuntimeException: exception while executing [select CAST("store_id" as TINYINT) from "foodmart"."expense_fact"]
> at org.apache.calcite.test.JdbcAdapterTest.testCast(JdbcAdapterTest.java:478)
> Caused by: java.lang.RuntimeException: With materializationsEnabled=false, limit=0
> at org.apache.calcite.test.JdbcAdapterTest.testCast(JdbcAdapterTest.java:478)
> Caused by: java.sql.SQLException: 
> Error while executing SQL "select CAST("store_id" as TINYINT) from "foodmart"."expense_fact"": while executing SQL [SELECT CAST("store_id" AS TINYINT)
> FROM "public"."expense_fact"]
> at org.apache.calcite.test.JdbcAdapterTest.testCast(JdbcAdapterTest.java:478)
> Caused by: java.lang.RuntimeException: 
> while executing SQL [SELECT CAST("store_id" AS TINYINT)
> FROM "public"."expense_fact"]
> at org.apache.calcite.test.JdbcAdapterTest.testCast(JdbcAdapterTest.java:478)
> Caused by: org.postgresql.util.PSQLException: 
> ERROR: type "tinyint" does not exist
> Position: 27
> at org.apache.calcite.test.JdbcAdapterTest.testCast(JdbcAdapterTest.java:478)
> {code}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)