retikulum commented on code in PR #3824:
URL: https://github.com/apache/arrow-datafusion/pull/3824#discussion_r996326507
##########
datafusion/optimizer/src/simplify_expressions.rs:
##########
@@ -794,13 +794,20 @@ impl<'a, S: SimplifyInfo> ExprRewriter for Simplifier<'a,
S> {
op: Divide,
right,
} if is_null(&right) => *right,
- // A / A --> 1 (if a is not nullable)
+ // 0 / 0 -> null
Review Comment:
> I think the expected behavior of a rewrite rule is the same behavior as
the current expression evaluator.
>
> One way to check the existing behavior is to use `datafusion-cli`. In this
case the result of `0/0` is null:
>
> ```shell
> $ datafusion-cli
> DataFusion CLI v13.0.0
> ❯ select 0 / 0
> ;
> +---------------------+
> | Int64(0) / Int64(0) |
> +---------------------+
> | |
> +---------------------+
> ```
Thank you for your valuable feedback. If my understanding is wrong please
correct me, we should return `null` for `0 / 0` to provide the same behavior
with the current expression evaluator. So no changes are needed for this.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]