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

Claude Brisson updated CALCITE-6622:
------------------------------------
    Description: 
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 
logarithms 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.

 

  was:
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.

 


> Negative logarithms 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
>            Priority: Minor
>
> 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 
> logarithms 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)

Reply via email to