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)