From fa65648ef2948651273c9cc87030f620a3e7e9a6 Mon Sep 17 00:00:00 2001 From: Daoyuan Wang Date: Sun, 6 Sep 2015 01:00:10 -0700 Subject: [PATCH 1/2] remove PromotePrecision during optimization --- .../apache/spark/sql/catalyst/optimizer/Optimizer.scala | 7 ++++--- 1 file changed, 4 insertions(+), 3 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 a430000bef653..fb34e98db514d 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 @@ -57,7 +57,7 @@ object DefaultOptimizer extends Optimizer { ConstantFolding, LikeSimplification, BooleanSimplification, - RemovePositive, + RemoveDispensable, SimplifyFilters, SimplifyCasts, SimplifyCaseConversionExpressions) :: @@ -732,11 +732,12 @@ object SimplifyCasts extends Rule[LogicalPlan] { } /** - * Removes [[UnaryPositive]] identify function + * Removes [[UnaryPositive]] identify function and [[PromotePrecision]] wrapper. */ -object RemovePositive extends Rule[LogicalPlan] { +object RemoveDispensable extends Rule[LogicalPlan] { def apply(plan: LogicalPlan): LogicalPlan = plan transformAllExpressions { case UnaryPositive(child) => child + case PromotePrecision(child) => child } } From 466c46adaa0dbe911b89d909c1d4a4ec76b62903 Mon Sep 17 00:00:00 2001 From: Daoyuan Wang Date: Tue, 20 Oct 2015 00:05:05 -0700 Subject: [PATCH 2/2] modify doc --- .../org/apache/spark/sql/catalyst/optimizer/Optimizer.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 fb34e98db514d..dfbd8fed00e2a 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 @@ -732,7 +732,7 @@ object SimplifyCasts extends Rule[LogicalPlan] { } /** - * Removes [[UnaryPositive]] identify function and [[PromotePrecision]] wrapper. + * Removes nodes that are not necessary. */ object RemoveDispensable extends Rule[LogicalPlan] { def apply(plan: LogicalPlan): LogicalPlan = plan transformAllExpressions {