Repository: spark
Updated Branches:
  refs/heads/master 161ba7eaa -> 0fa4dbe4f


[SPARK-22141][FOLLOWUP][SQL] Add comments for the order of batches

## What changes were proposed in this pull request?
Add comments for specifying the position of  batch "Check Cartesian Products", 
as rxin suggested in https://github.com/apache/spark/pull/19362 .

## How was this patch tested?
Unit test

Author: Wang Gengliang <ltn...@gmail.com>

Closes #19379 from gengliangwang/SPARK-22141-followup.


Project: http://git-wip-us.apache.org/repos/asf/spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/0fa4dbe4
Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/0fa4dbe4
Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/0fa4dbe4

Branch: refs/heads/master
Commit: 0fa4dbe4f4d7b988be2105b46590b5207f7c8121
Parents: 161ba7e
Author: Wang Gengliang <ltn...@gmail.com>
Authored: Thu Sep 28 23:23:30 2017 -0700
Committer: gatorsmile <gatorsm...@gmail.com>
Committed: Thu Sep 28 23:23:30 2017 -0700

----------------------------------------------------------------------
 .../org/apache/spark/sql/catalyst/optimizer/Optimizer.scala      | 4 ++++
 1 file changed, 4 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/spark/blob/0fa4dbe4/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/optimizer/Optimizer.scala
----------------------------------------------------------------------
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 a391c51..b9fa39d 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
@@ -134,6 +134,7 @@ abstract class Optimizer(sessionCatalog: SessionCatalog)
     Batch("LocalRelation", fixedPoint,
       ConvertToLocalRelation,
       PropagateEmptyRelation) ::
+    // The following batch should be executed after batch "Join Reorder" and 
"LocalRelation".
     Batch("Check Cartesian Products", Once,
       CheckCartesianProducts) ::
     Batch("OptimizeCodegen", Once,
@@ -1089,6 +1090,9 @@ object CombineLimits extends Rule[LogicalPlan] {
  * SELECT * from R, S where R.r = S.s,
  * the join between R and S is not a cartesian product and therefore should be 
allowed.
  * The predicate R.r = S.s is not recognized as a join condition until the 
ReorderJoin rule.
+ *
+ * This rule must be run AFTER the batch "LocalRelation", since a join with 
empty relation should
+ * not be a cartesian product.
  */
 object CheckCartesianProducts extends Rule[LogicalPlan] with PredicateHelper {
   /**


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@spark.apache.org
For additional commands, e-mail: commits-h...@spark.apache.org

Reply via email to