Claude Brisson created CALCITE-6622:
---------------------------------------
Summary: Negative algorithms should throw an ArithmeticException,
not an IllegalArgumentException
Key: CALCITE-6622
URL: https://issues.apache.org/jira/browse/CALCITE-6622
Project: Calcite
Issue Type: Bug
Components: core
Affects Versions: 1.38.0
Reporter: Claude Brisson
Since |CALCITE-6312], {{log}} functions in {{SqlFunctions}} do throw an
{{{}IllegalArgumentException{}}}, instead as an {{ArithmeticException}} as
before.
In terms of errors categorization, it is more precise to revert to the former
behavior, as {{IllegalArgumentException}} is more suited to structural errors
which do not depend on the actual values, whereas we would expect negative
algorithms to throw the same kind of error as an integer division by zero for
instance.
An engine implementation could choose to have a different behaviors depending
on the thrown errors, for instance to just abort the constants reduction for an
illegal argument versus letting the arithmetic exception propagate to alert the
user.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)