You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Dongjoon Hyun (JIRA)" <ji...@apache.org> on 2016/03/20 11:28:33 UTC

[jira] [Created] (SPARK-14029) Improve BooleanSimplification optimization by implementing `Not` canonicalization

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: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org