diff options
author | Liwei Lin <lwlin7@gmail.com> | 2017-01-29 13:00:50 -0800 |
---|---|---|
committer | gatorsmile <gatorsmile@gmail.com> | 2017-01-29 13:00:50 -0800 |
commit | ade075aed483cdfc71bdbe8da912679771cef49c (patch) | |
tree | a511569975143ba1e5e589e03b8ff4bc2cbd23cc /python | |
parent | e2e7b12ce8fdf9d0bf0b7fce9283018c7d805988 (diff) | |
download | spark-ade075aed483cdfc71bdbe8da912679771cef49c.tar.gz spark-ade075aed483cdfc71bdbe8da912679771cef49c.tar.bz2 spark-ade075aed483cdfc71bdbe8da912679771cef49c.zip |
[SPARK-19385][SQL] During canonicalization, `NOT(...(l, r))` should not expect such cases that l.hashcode > r.hashcode
## What changes were proposed in this pull request?
During canonicalization, `NOT(...(l, r))` should not expect such cases that `l.hashcode > r.hashcode`.
Take the rule `case NOT(GreaterThan(l, r)) if l.hashcode > r.hashcode` for example, it should never be matched since `GreaterThan(l, r)` itself would be re-written as `GreaterThan(r, l)` given `l.hashcode > r.hashcode` after canonicalization.
This patch consolidates rules like `case NOT(GreaterThan(l, r)) if l.hashcode > r.hashcode` and `case NOT(GreaterThan(l, r))`.
## How was this patch tested?
This patch expanded the `NOT` test case to cover both cases where:
- `l.hashcode > r.hashcode`
- `l.hashcode < r.hashcode`
Author: Liwei Lin <lwlin7@gmail.com>
Closes #16719 from lw-lin/canonicalize.
Diffstat (limited to 'python')
0 files changed, 0 insertions, 0 deletions