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 2017/02/24 08:29:44 UTC

[jira] [Resolved] (CALCITE-1439) Handle errors during constant reduction

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

Julian Hyde resolved CALCITE-1439.
----------------------------------
    Resolution: Fixed

Fixed in http://git-wip-us.apache.org/repos/asf/calcite/commit/052f8545.

> Handle errors during constant reduction
> ---------------------------------------
>
>                 Key: CALCITE-1439
>                 URL: https://issues.apache.org/jira/browse/CALCITE-1439
>             Project: Calcite
>          Issue Type: Bug
>            Reporter: Julian Hyde
>            Assignee: Julian Hyde
>             Fix For: 1.12.0
>
>
> A literal is a constant, and so a cast of a literal is also a constant, but when we do constant reduction sometimes there are errors if the cast is not valid. For example, the query
> {code}
> values cast('' as integer)
> {code}
> gives {{ExceptionInInitializerError}} and, to make matters worse, the Avatica JDBC driver does not catch the exception (because it is a {{java.lang.Error}}) and wrap it as a {{java.sql.SQLException}} as it ought to.
> Note that {{cast('1.2' as integer)}} is also invalid but {{cast(' -1 ' as integer)}} is valid.
> This issue probably also applies to divide-by-zero and other exceptions evaluating scalar expressions.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)