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

Thomas Rebele updated CALCITE-7295:
-----------------------------------
    Description: 
The SQL standard states that arithmetic operations with a NULL argument should 
evaluate to NULL. If one of the arguments is NULL, the division will not be 
carried out, so there is no risk of division-by-zero. So RexSimplify could 
simplify expressions if one of their arguments is NULL. Here some examples:
 * {{null + a/4}}
 * {{a/null}}
 * {{{}null/0{}}}, which gets simplified to {{null}} by PostgreSQL, Oracle, 
SQLite, MariaDB, and MySQL.

This ticket aims to improve RexSimplify to support these kind of statements.

  was:
Some expressions, such as
 * {{null + a/4}}
 * {{a/null}}
 * {{null/0}}, which gets simplified to {{null}} by PostgreSQL, Oracle, SQLite, 
MariaDB, and MySQL,

are not simplified. This ticket aims to improve RexSimplify to support these 
kind of statements.


> RexSimplify should simplify a division with a NULL argument
> -----------------------------------------------------------
>
>                 Key: CALCITE-7295
>                 URL: https://issues.apache.org/jira/browse/CALCITE-7295
>             Project: Calcite
>          Issue Type: Task
>            Reporter: Thomas Rebele
>            Assignee: Thomas Rebele
>            Priority: Major
>              Labels: pull-request-available
>
> The SQL standard states that arithmetic operations with a NULL argument 
> should evaluate to NULL. If one of the arguments is NULL, the division will 
> not be carried out, so there is no risk of division-by-zero. So RexSimplify 
> could simplify expressions if one of their arguments is NULL. Here some 
> examples:
>  * {{null + a/4}}
>  * {{a/null}}
>  * {{{}null/0{}}}, which gets simplified to {{null}} by PostgreSQL, Oracle, 
> SQLite, MariaDB, and MySQL.
> This ticket aims to improve RexSimplify to support these kind of statements.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to