Repository: spark
Updated Branches:
  refs/heads/master a35b9d971 -> 379b0b0bb


[SPARK-20283][SQL] Add preOptimizationBatches

## What changes were proposed in this pull request?
We currently have postHocOptimizationBatches, but not preOptimizationBatches. 
This patch adds preOptimizationBatches so the optimizer debugging extensions 
are symmetric.

## How was this patch tested?
N/A

Author: Reynold Xin <r...@databricks.com>

Closes #17595 from rxin/SPARK-20283.


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

Branch: refs/heads/master
Commit: 379b0b0bbdbba2278ce3bcf471bd75f6ffd9cf0d
Parents: a35b9d9
Author: Reynold Xin <r...@databricks.com>
Authored: Mon Apr 10 14:14:09 2017 -0700
Committer: Reynold Xin <r...@databricks.com>
Committed: Mon Apr 10 14:14:09 2017 -0700

----------------------------------------------------------------------
 .../org/apache/spark/sql/execution/SparkOptimizer.scala      | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/spark/blob/379b0b0b/sql/core/src/main/scala/org/apache/spark/sql/execution/SparkOptimizer.scala
----------------------------------------------------------------------
diff --git 
a/sql/core/src/main/scala/org/apache/spark/sql/execution/SparkOptimizer.scala 
b/sql/core/src/main/scala/org/apache/spark/sql/execution/SparkOptimizer.scala
index 2cdfb7a..1de4f50 100644
--- 
a/sql/core/src/main/scala/org/apache/spark/sql/execution/SparkOptimizer.scala
+++ 
b/sql/core/src/main/scala/org/apache/spark/sql/execution/SparkOptimizer.scala
@@ -30,7 +30,7 @@ class SparkOptimizer(
     experimentalMethods: ExperimentalMethods)
   extends Optimizer(catalog, conf) {
 
-  override def batches: Seq[Batch] = (super.batches :+
+  override def batches: Seq[Batch] = (preOptimizationBatches ++ super.batches 
:+
     Batch("Optimize Metadata Only Query", Once, 
OptimizeMetadataOnlyQuery(catalog, conf)) :+
     Batch("Extract Python UDF from Aggregate", Once, 
ExtractPythonUDFFromAggregate) :+
     Batch("Prune File Source Table Partitions", Once, 
PruneFileSourcePartitions)) ++
@@ -38,6 +38,12 @@ class SparkOptimizer(
     Batch("User Provided Optimizers", fixedPoint, 
experimentalMethods.extraOptimizations: _*)
 
   /**
+   * Optimization batches that are executed before the regular optimization 
batches (also before
+   * the finish analysis batch).
+   */
+  def preOptimizationBatches: Seq[Batch] = Nil
+
+  /**
    * Optimization batches that are executed after the regular optimization 
batches, but before the
    * batch executing the [[ExperimentalMethods]] optimizer rules. This hook 
can be used to add
    * custom optimizer batches to the Spark optimizer.


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

Reply via email to