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 2016/10/14 01:21:21 UTC
[jira] [Created] (CALCITE-1439) Handling errors during constant
reduction
Julian Hyde created CALCITE-1439:
------------------------------------
Summary: Handling 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
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.4#6332)