diff options
author | Yash Datta <Yash.Datta@guavus.com> | 2015-09-11 14:55:15 -0700 |
---|---|---|
committer | Michael Armbrust <michael@databricks.com> | 2015-09-11 14:55:15 -0700 |
commit | 1eede3b254ee3793841c92971707094ac8afee35 (patch) | |
tree | a33172a0593fa034bf09d13686e3e9a13c8b2bcd | |
parent | d5d647380f93f4773f9cb85ea6544892d409b5a1 (diff) | |
download | spark-1eede3b254ee3793841c92971707094ac8afee35.tar.gz spark-1eede3b254ee3793841c92971707094ac8afee35.tar.bz2 spark-1eede3b254ee3793841c92971707094ac8afee35.zip |
[SPARK-7142] [SQL] Minor enhancement to BooleanSimplification Optimizer rule. Incorporate review comments
Adding changes suggested by cloud-fan in #5700
cc marmbrus
Author: Yash Datta <Yash.Datta@guavus.com>
Closes #8716 from saucam/bool_simp.
-rw-r--r-- | sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/optimizer/Optimizer.scala | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/optimizer/Optimizer.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/optimizer/Optimizer.scala index d9b50f3c97..0f4caec745 100644 --- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/optimizer/Optimizer.scala +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/optimizer/Optimizer.scala @@ -435,10 +435,10 @@ object BooleanSimplification extends Rule[LogicalPlan] with PredicateHelper { // a && a => a case (l, r) if l fastEquals r => l // a && (not(a) || b) => a && b - case (l, Or(l1, r)) if (Not(l) fastEquals l1) => And(l, r) - case (l, Or(r, l1)) if (Not(l) fastEquals l1) => And(l, r) - case (Or(l, l1), r) if (l1 fastEquals Not(r)) => And(l, r) - case (Or(l1, l), r) if (l1 fastEquals Not(r)) => And(l, r) + case (l, Or(l1, r)) if (Not(l) == l1) => And(l, r) + case (l, Or(r, l1)) if (Not(l) == l1) => And(l, r) + case (Or(l, l1), r) if (l1 == Not(r)) => And(l, r) + case (Or(l1, l), r) if (l1 == Not(r)) => And(l, r) // (a || b) && (a || c) => a || (b && c) case _ => // 1. Split left and right to get the disjunctive predicates, |