Dongjoon Hyun created SPARK-14029:
-------------------------------------

             Summary: Improve BooleanSimplification optimization by 
implementing `Not` canonicalization
                 Key: SPARK-14029
                 URL: https://issues.apache.org/jira/browse/SPARK-14029
             Project: Spark
          Issue Type: Improvement
          Components: SQL
            Reporter: Dongjoon Hyun
            Priority: Minor


Currently, *BooleanSimplification* optimization can handle the following cases.

* a && (!'a || 'b ) ==> 'a && 'b
* a && ('b || !'a ) ==> 'a && 'b

However, it can not handle the followings cases since those equations fails at 
the comparisons between their canonicalized forms.

* a < 1 && (!('a < 1) || 'b)     ==> ('a < 1) && 'b
* a <= 1 && (!('a <= 1) || 'b) ==> ('a <= 1) && 'b
* a > 1 && (!('a > 1) || 'b)     ==> ('a > 1) && 'b
* a >= 1 && (!('a >= 1) || 'b) ==> ('a >= 1) && 'b

This issue aims to handle the above cases and extends toward the followings too.

* a < 1 && ('a >= 1 || 'b )   ==> ('a < 1) && 'b
* a <= 1 && ('a > 1 || 'b )   ==> ('a <= 1) && 'b
* a > 1 && (('a <= 1) || 'b)  ==> ('a > 1) && 'b
* a >= 1 && (('a < 1) || 'b)  ==> ('a >= 1) && 'b




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to