Julian Hyde created CALCITE-525:
-----------------------------------

             Summary: Exception-handling in built-in functions
                 Key: CALCITE-525
                 URL: https://issues.apache.org/jira/browse/CALCITE-525
             Project: Calcite
          Issue Type: Bug
            Reporter: Julian Hyde
            Assignee: Julian Hyde


The standard calls for certain built-in functions to throw exceptions.

Examples:
* 1 / 0
* MOD(1, 0)
* OVERLAY('foo' PLACING 'x' FROM -1)
* 'x' NOT LIKE 'x' ESCAPE 'x'

First, these exceptions should occur at run time. They should cause the current 
value to become null, or the row to be omitted, but should not abort the query. 
(Actual behavior TBD.)

Second, EnumerableCalc does constant reduction and generates code like 'static 
final int X = 0 / 0'. This code blows up when the class is loaded. It should 
not. The code should give errors for each row, as described above.

While fixing this bug, see SqlOperatorBaseTest.testArgumentBounds and remove 
restrictions related to /, MOD and OVERLAY, LIKE.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to