You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spark.apache.org by rx...@apache.org on 2016/02/21 20:31:49 UTC
spark git commit: [SPARK-13420][SQL] Rename Subquery logical plan to
SubqueryAlias
Repository: spark
Updated Branches:
refs/heads/master 1a340da8d -> 0947f0989
[SPARK-13420][SQL] Rename Subquery logical plan to SubqueryAlias
## What changes were proposed in this pull request?
This patch renames logical.Subquery to logical.SubqueryAlias, which is a more appropriate name for this operator (versus subqueries as expressions).
## How was the this patch tested?
Unit tests.
Author: Reynold Xin <rx...@databricks.com>
Closes #11288 from rxin/SPARK-13420.
Project: http://git-wip-us.apache.org/repos/asf/spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/0947f098
Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/0947f098
Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/0947f098
Branch: refs/heads/master
Commit: 0947f0989b136841fa0601295fc09b36f16cb933
Parents: 1a340da
Author: Reynold Xin <rx...@databricks.com>
Authored: Sun Feb 21 11:31:46 2016 -0800
Committer: Reynold Xin <rx...@databricks.com>
Committed: Sun Feb 21 11:31:46 2016 -0800
----------------------------------------------------------------------
.../apache/spark/sql/catalyst/CatalystQl.scala | 4 +-
.../spark/sql/catalyst/analysis/Analyzer.scala | 12 ++--
.../spark/sql/catalyst/analysis/Catalog.scala | 10 +--
.../apache/spark/sql/catalyst/dsl/package.scala | 7 +-
.../sql/catalyst/expressions/subquery.scala | 4 +-
.../sql/catalyst/optimizer/Optimizer.scala | 4 +-
.../spark/sql/catalyst/plans/QueryPlan.scala | 2 +-
.../catalyst/plans/logical/LogicalPlan.scala | 4 +-
.../catalyst/plans/logical/basicOperators.scala | 4 +-
.../spark/sql/catalyst/CatalystQlSuite.scala | 4 +-
.../sql/catalyst/analysis/AnalysisSuite.scala | 4 +-
.../sql/catalyst/analysis/AnalysisTest.scala | 4 +-
.../optimizer/BooleanSimplificationSuite.scala | 2 +-
.../optimizer/CollapseProjectSuite.scala | 4 +-
.../optimizer/ConstantFoldingSuite.scala | 5 +-
.../optimizer/EliminateSubQueriesSuite.scala | 69 --------------------
.../EliminateSubqueryAliasesSuite.scala | 69 ++++++++++++++++++++
.../optimizer/FilterPushdownSuite.scala | 19 +++---
.../sql/catalyst/optimizer/JoinOrderSuite.scala | 6 +-
.../catalyst/optimizer/LimitPushdownSuite.scala | 4 +-
.../catalyst/optimizer/OptimizeInSuite.scala | 5 +-
.../optimizer/OuterJoinEliminationSuite.scala | 4 +-
.../catalyst/optimizer/SetOperationSuite.scala | 4 +-
.../scala/org/apache/spark/sql/DataFrame.scala | 2 +-
.../scala/org/apache/spark/sql/Dataset.scala | 2 +-
.../spark/sql/execution/datasources/rules.scala | 4 +-
.../org/apache/spark/sql/hive/HiveContext.scala | 2 +-
.../spark/sql/hive/HiveMetastoreCatalog.scala | 10 +--
.../org/apache/spark/sql/hive/SQLBuilder.scala | 8 +--
.../spark/sql/hive/execution/commands.scala | 4 +-
.../sql/hive/execution/SQLQuerySuite.scala | 4 +-
31 files changed, 145 insertions(+), 145 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/spark/blob/0947f098/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/CatalystQl.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/CatalystQl.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/CatalystQl.scala
index b16025a..069c665 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/CatalystQl.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/CatalystQl.scala
@@ -243,7 +243,7 @@ https://cwiki.apache.org/confluence/display/Hive/Enhanced+Aggregation%2C+Cube%2C
queryArgs match {
case Token("TOK_CTE", ctes) :: Token("TOK_FROM", from) :: inserts =>
val cteRelations = ctes.map { node =>
- val relation = nodeToRelation(node).asInstanceOf[Subquery]
+ val relation = nodeToRelation(node).asInstanceOf[SubqueryAlias]
relation.alias -> relation
}
(Some(from.head), inserts, Some(cteRelations.toMap))
@@ -454,7 +454,7 @@ https://cwiki.apache.org/confluence/display/Hive/Enhanced+Aggregation%2C+Cube%2C
protected def nodeToRelation(node: ASTNode): LogicalPlan = {
node match {
case Token("TOK_SUBQUERY", query :: Token(alias, Nil) :: Nil) =>
- Subquery(cleanIdentifier(alias), nodeToPlan(query))
+ SubqueryAlias(cleanIdentifier(alias), nodeToPlan(query))
case Token(laterViewToken(isOuter), selectClause :: relationClause :: Nil) =>
nodeToGenerate(
http://git-wip-us.apache.org/repos/asf/spark/blob/0947f098/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/Analyzer.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/Analyzer.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/Analyzer.scala
index e153f4d..562711a 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/Analyzer.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/Analyzer.scala
@@ -118,7 +118,7 @@ class Analyzer(
// see https://github.com/apache/spark/pull/4929#discussion_r27186638 for more info
case u : UnresolvedRelation =>
val substituted = cteRelations.get(u.tableIdentifier.table).map { relation =>
- val withAlias = u.alias.map(Subquery(_, relation))
+ val withAlias = u.alias.map(SubqueryAlias(_, relation))
withAlias.getOrElse(relation)
}
substituted.getOrElse(u)
@@ -357,7 +357,7 @@ class Analyzer(
def apply(plan: LogicalPlan): LogicalPlan = plan resolveOperators {
case i @ InsertIntoTable(u: UnresolvedRelation, _, _, _, _) =>
- i.copy(table = EliminateSubQueries(getTable(u)))
+ i.copy(table = EliminateSubqueryAliases(getTable(u)))
case u: UnresolvedRelation =>
try {
getTable(u)
@@ -688,7 +688,7 @@ class Analyzer(
resolved
} else {
plan match {
- case u: UnaryNode if !u.isInstanceOf[Subquery] =>
+ case u: UnaryNode if !u.isInstanceOf[SubqueryAlias] =>
resolveExpressionRecursively(resolved, u.child)
case other => resolved
}
@@ -1372,12 +1372,12 @@ class Analyzer(
}
/**
- * Removes [[Subquery]] operators from the plan. Subqueries are only required to provide
+ * Removes [[SubqueryAlias]] operators from the plan. Subqueries are only required to provide
* scoping information for attributes and can be removed once analysis is complete.
*/
-object EliminateSubQueries extends Rule[LogicalPlan] {
+object EliminateSubqueryAliases extends Rule[LogicalPlan] {
def apply(plan: LogicalPlan): LogicalPlan = plan transformUp {
- case Subquery(_, child) => child
+ case SubqueryAlias(_, child) => child
}
}
http://git-wip-us.apache.org/repos/asf/spark/blob/0947f098/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/Catalog.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/Catalog.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/Catalog.scala
index f2f9ec5..67edab5 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/Catalog.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/Catalog.scala
@@ -25,7 +25,7 @@ import scala.collection.mutable.ArrayBuffer
import org.apache.spark.sql.AnalysisException
import org.apache.spark.sql.catalyst.{CatalystConf, EmptyConf, TableIdentifier}
-import org.apache.spark.sql.catalyst.plans.logical.{LogicalPlan, Subquery}
+import org.apache.spark.sql.catalyst.plans.logical.{LogicalPlan, SubqueryAlias}
/**
* Thrown by a catalog when a table cannot be found. The analyzer will rethrow the exception
@@ -110,12 +110,12 @@ class SimpleCatalog(val conf: CatalystConf) extends Catalog {
if (table == null) {
throw new AnalysisException("Table not found: " + tableName)
}
- val tableWithQualifiers = Subquery(tableName, table)
+ val tableWithQualifiers = SubqueryAlias(tableName, table)
// If an alias was specified by the lookup, wrap the plan in a subquery so that attributes are
// properly qualified with this alias.
alias
- .map(a => Subquery(a, tableWithQualifiers))
+ .map(a => SubqueryAlias(a, tableWithQualifiers))
.getOrElse(tableWithQualifiers)
}
@@ -158,11 +158,11 @@ trait OverrideCatalog extends Catalog {
getOverriddenTable(tableIdent) match {
case Some(table) =>
val tableName = getTableName(tableIdent)
- val tableWithQualifiers = Subquery(tableName, table)
+ val tableWithQualifiers = SubqueryAlias(tableName, table)
// If an alias was specified by the lookup, wrap the plan in a sub-query so that attributes
// are properly qualified with this alias.
- alias.map(a => Subquery(a, tableWithQualifiers)).getOrElse(tableWithQualifiers)
+ alias.map(a => SubqueryAlias(a, tableWithQualifiers)).getOrElse(tableWithQualifiers)
case None => super.lookupRelation(tableIdent, alias)
}
http://git-wip-us.apache.org/repos/asf/spark/blob/0947f098/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/dsl/package.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/dsl/package.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/dsl/package.scala
index 5ac1984..1a2ec7e 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/dsl/package.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/dsl/package.scala
@@ -21,7 +21,7 @@ import java.sql.{Date, Timestamp}
import scala.language.implicitConversions
-import org.apache.spark.sql.catalyst.analysis.{EliminateSubQueries, UnresolvedAttribute, UnresolvedExtractValue}
+import org.apache.spark.sql.catalyst.analysis.{EliminateSubqueryAliases, UnresolvedAttribute, UnresolvedExtractValue}
import org.apache.spark.sql.catalyst.expressions._
import org.apache.spark.sql.catalyst.expressions.aggregate._
import org.apache.spark.sql.catalyst.plans.{Inner, JoinType}
@@ -268,7 +268,7 @@ package object dsl {
Aggregate(groupingExprs, aliasedExprs, logicalPlan)
}
- def subquery(alias: Symbol): LogicalPlan = Subquery(alias.name, logicalPlan)
+ def subquery(alias: Symbol): LogicalPlan = SubqueryAlias(alias.name, logicalPlan)
def except(otherPlan: LogicalPlan): LogicalPlan = Except(logicalPlan, otherPlan)
@@ -290,7 +290,8 @@ package object dsl {
analysis.UnresolvedRelation(TableIdentifier(tableName)),
Map.empty, logicalPlan, overwrite, false)
- def analyze: LogicalPlan = EliminateSubQueries(analysis.SimpleAnalyzer.execute(logicalPlan))
+ def analyze: LogicalPlan =
+ EliminateSubqueryAliases(analysis.SimpleAnalyzer.execute(logicalPlan))
}
}
}
http://git-wip-us.apache.org/repos/asf/spark/blob/0947f098/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/subquery.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/subquery.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/subquery.scala
index a8f5e1f..d0c44b0 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/subquery.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/subquery.scala
@@ -19,7 +19,7 @@ package org.apache.spark.sql.catalyst.expressions
import org.apache.spark.sql.catalyst.analysis.TypeCheckResult
import org.apache.spark.sql.catalyst.plans.QueryPlan
-import org.apache.spark.sql.catalyst.plans.logical.{LogicalPlan, Subquery}
+import org.apache.spark.sql.catalyst.plans.logical.{LogicalPlan, SubqueryAlias}
import org.apache.spark.sql.types.DataType
/**
@@ -56,7 +56,7 @@ case class ScalarSubquery(
exprId: ExprId = NamedExpression.newExprId)
extends SubqueryExpression with Unevaluable {
- override def plan: LogicalPlan = Subquery(toString, query)
+ override def plan: LogicalPlan = SubqueryAlias(toString, query)
override lazy val resolved: Boolean = query.resolved
http://git-wip-us.apache.org/repos/asf/spark/blob/0947f098/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 202f6b5..1554382 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
@@ -19,7 +19,7 @@ package org.apache.spark.sql.catalyst.optimizer
import scala.collection.immutable.HashSet
-import org.apache.spark.sql.catalyst.analysis.{CleanupAliases, EliminateSubQueries}
+import org.apache.spark.sql.catalyst.analysis.{CleanupAliases, EliminateSubqueryAliases}
import org.apache.spark.sql.catalyst.expressions._
import org.apache.spark.sql.catalyst.expressions.aggregate._
import org.apache.spark.sql.catalyst.expressions.Literal.{FalseLiteral, TrueLiteral}
@@ -40,7 +40,7 @@ abstract class Optimizer extends RuleExecutor[LogicalPlan] {
// However, because we also use the analyzer to canonicalized queries (for view definition),
// we do not eliminate subqueries or compute current time in the analyzer.
Batch("Finish Analysis", Once,
- EliminateSubQueries,
+ EliminateSubqueryAliases,
ComputeCurrentTime) ::
//////////////////////////////////////////////////////////////////////////////////////////
// Optimizer rules start here
http://git-wip-us.apache.org/repos/asf/spark/blob/0947f098/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/plans/QueryPlan.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/plans/QueryPlan.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/plans/QueryPlan.scala
index 86bd33f..5e7d144 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/plans/QueryPlan.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/plans/QueryPlan.scala
@@ -18,7 +18,7 @@
package org.apache.spark.sql.catalyst.plans
import org.apache.spark.sql.catalyst.expressions._
-import org.apache.spark.sql.catalyst.plans.logical.Subquery
+import org.apache.spark.sql.catalyst.plans.logical.SubqueryAlias
import org.apache.spark.sql.catalyst.trees.TreeNode
import org.apache.spark.sql.types.{DataType, StructType}
http://git-wip-us.apache.org/repos/asf/spark/blob/0947f098/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/LogicalPlan.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/LogicalPlan.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/LogicalPlan.scala
index 35e0f5d..35df242 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/LogicalPlan.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/LogicalPlan.scala
@@ -128,8 +128,8 @@ abstract class LogicalPlan extends QueryPlan[LogicalPlan] with Logging {
* can do better should override this function.
*/
def sameResult(plan: LogicalPlan): Boolean = {
- val cleanLeft = EliminateSubQueries(this)
- val cleanRight = EliminateSubQueries(plan)
+ val cleanLeft = EliminateSubqueryAliases(this)
+ val cleanRight = EliminateSubqueryAliases(plan)
cleanLeft.getClass == cleanRight.getClass &&
cleanLeft.children.size == cleanRight.children.size && {
http://git-wip-us.apache.org/repos/asf/spark/blob/0947f098/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/basicOperators.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/basicOperators.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/basicOperators.scala
index a19ba38..70ecbce 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/basicOperators.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/basicOperators.scala
@@ -350,7 +350,7 @@ case class InsertIntoTable(
* key is the alias of the CTE definition,
* value is the CTE definition.
*/
-case class With(child: LogicalPlan, cteRelations: Map[String, Subquery]) extends UnaryNode {
+case class With(child: LogicalPlan, cteRelations: Map[String, SubqueryAlias]) extends UnaryNode {
override def output: Seq[Attribute] = child.output
}
@@ -623,7 +623,7 @@ case class LocalLimit(limitExpr: Expression, child: LogicalPlan) extends UnaryNo
}
}
-case class Subquery(alias: String, child: LogicalPlan) extends UnaryNode {
+case class SubqueryAlias(alias: String, child: LogicalPlan) extends UnaryNode {
override def output: Seq[Attribute] = child.output.map(_.withQualifiers(alias :: Nil))
}
http://git-wip-us.apache.org/repos/asf/spark/blob/0947f098/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/CatalystQlSuite.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/CatalystQlSuite.scala b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/CatalystQlSuite.scala
index ed71218..42147f5 100644
--- a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/CatalystQlSuite.scala
+++ b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/CatalystQlSuite.scala
@@ -51,7 +51,7 @@ class CatalystQlSuite extends PlanTest {
val parsed2 = parser.parsePlan("SELECT * FROM t0 UNION DISTINCT SELECT * FROM t1")
val expected =
Project(UnresolvedAlias(UnresolvedStar(None)) :: Nil,
- Subquery("u_1",
+ SubqueryAlias("u_1",
Distinct(
Union(
Project(UnresolvedAlias(UnresolvedStar(None)) :: Nil,
@@ -66,7 +66,7 @@ class CatalystQlSuite extends PlanTest {
val parsed = parser.parsePlan("SELECT * FROM t0 UNION ALL SELECT * FROM t1")
val expected =
Project(UnresolvedAlias(UnresolvedStar(None)) :: Nil,
- Subquery("u_1",
+ SubqueryAlias("u_1",
Union(
Project(UnresolvedAlias(UnresolvedStar(None)) :: Nil,
UnresolvedRelation(TableIdentifier("t0"), None)),
http://git-wip-us.apache.org/repos/asf/spark/blob/0947f098/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/analysis/AnalysisSuite.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/analysis/AnalysisSuite.scala b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/analysis/AnalysisSuite.scala
index 92db029..aa1d2b0 100644
--- a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/analysis/AnalysisSuite.scala
+++ b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/analysis/AnalysisSuite.scala
@@ -344,8 +344,8 @@ class AnalysisSuite extends AnalysisTest {
val query =
Project(Seq($"x.key", $"y.key"),
Join(
- Project(Seq($"x.key"), Subquery("x", input)),
- Project(Seq($"y.key"), Subquery("y", input)),
+ Project(Seq($"x.key"), SubqueryAlias("x", input)),
+ Project(Seq($"y.key"), SubqueryAlias("y", input)),
Inner, None))
assertAnalysisSuccess(query)
http://git-wip-us.apache.org/repos/asf/spark/blob/0947f098/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/analysis/AnalysisTest.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/analysis/AnalysisTest.scala b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/analysis/AnalysisTest.scala
index 2756c46..e0a95ba 100644
--- a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/analysis/AnalysisTest.scala
+++ b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/analysis/AnalysisTest.scala
@@ -35,10 +35,10 @@ trait AnalysisTest extends PlanTest {
caseInsensitiveCatalog.registerTable(TableIdentifier("TaBlE"), TestRelations.testRelation)
new Analyzer(caseSensitiveCatalog, EmptyFunctionRegistry, caseSensitiveConf) {
- override val extendedResolutionRules = EliminateSubQueries :: Nil
+ override val extendedResolutionRules = EliminateSubqueryAliases :: Nil
} ->
new Analyzer(caseInsensitiveCatalog, EmptyFunctionRegistry, caseInsensitiveConf) {
- override val extendedResolutionRules = EliminateSubQueries :: Nil
+ override val extendedResolutionRules = EliminateSubqueryAliases :: Nil
}
}
http://git-wip-us.apache.org/repos/asf/spark/blob/0947f098/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/BooleanSimplificationSuite.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/BooleanSimplificationSuite.scala b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/BooleanSimplificationSuite.scala
index 6932f18..3e52441 100644
--- a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/BooleanSimplificationSuite.scala
+++ b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/BooleanSimplificationSuite.scala
@@ -31,7 +31,7 @@ class BooleanSimplificationSuite extends PlanTest with PredicateHelper {
object Optimize extends RuleExecutor[LogicalPlan] {
val batches =
Batch("AnalysisNodes", Once,
- EliminateSubQueries) ::
+ EliminateSubqueryAliases) ::
Batch("Constant Folding", FixedPoint(50),
NullPropagation,
ConstantFolding,
http://git-wip-us.apache.org/repos/asf/spark/blob/0947f098/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/CollapseProjectSuite.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/CollapseProjectSuite.scala b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/CollapseProjectSuite.scala
index f5fd5ca..833f054 100644
--- a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/CollapseProjectSuite.scala
+++ b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/CollapseProjectSuite.scala
@@ -17,7 +17,7 @@
package org.apache.spark.sql.catalyst.optimizer
-import org.apache.spark.sql.catalyst.analysis.EliminateSubQueries
+import org.apache.spark.sql.catalyst.analysis.EliminateSubqueryAliases
import org.apache.spark.sql.catalyst.dsl.expressions._
import org.apache.spark.sql.catalyst.dsl.plans._
import org.apache.spark.sql.catalyst.expressions.Rand
@@ -28,7 +28,7 @@ import org.apache.spark.sql.catalyst.rules.RuleExecutor
class CollapseProjectSuite extends PlanTest {
object Optimize extends RuleExecutor[LogicalPlan] {
val batches =
- Batch("Subqueries", FixedPoint(10), EliminateSubQueries) ::
+ Batch("Subqueries", FixedPoint(10), EliminateSubqueryAliases) ::
Batch("CollapseProject", Once, CollapseProject) :: Nil
}
http://git-wip-us.apache.org/repos/asf/spark/blob/0947f098/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/ConstantFoldingSuite.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/ConstantFoldingSuite.scala b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/ConstantFoldingSuite.scala
index 48f9ac7..641c898 100644
--- a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/ConstantFoldingSuite.scala
+++ b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/ConstantFoldingSuite.scala
@@ -17,8 +17,7 @@
package org.apache.spark.sql.catalyst.optimizer
-import org.apache.spark.sql.catalyst.analysis.{EliminateSubQueries, UnresolvedExtractValue}
-// For implicit conversions
+import org.apache.spark.sql.catalyst.analysis.{EliminateSubqueryAliases, UnresolvedExtractValue}
import org.apache.spark.sql.catalyst.dsl.expressions._
import org.apache.spark.sql.catalyst.dsl.plans._
import org.apache.spark.sql.catalyst.expressions._
@@ -32,7 +31,7 @@ class ConstantFoldingSuite extends PlanTest {
object Optimize extends RuleExecutor[LogicalPlan] {
val batches =
Batch("AnalysisNodes", Once,
- EliminateSubQueries) ::
+ EliminateSubqueryAliases) ::
Batch("ConstantFolding", Once,
OptimizeIn,
ConstantFolding,
http://git-wip-us.apache.org/repos/asf/spark/blob/0947f098/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/EliminateSubQueriesSuite.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/EliminateSubQueriesSuite.scala b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/EliminateSubQueriesSuite.scala
deleted file mode 100644
index e0d4300..0000000
--- a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/EliminateSubQueriesSuite.scala
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.spark.sql.catalyst.optimizer
-
-import org.apache.spark.sql.catalyst.analysis
-import org.apache.spark.sql.catalyst.analysis.EliminateSubQueries
-import org.apache.spark.sql.catalyst.dsl.expressions._
-import org.apache.spark.sql.catalyst.dsl.plans._
-import org.apache.spark.sql.catalyst.expressions._
-import org.apache.spark.sql.catalyst.expressions.Literal.TrueLiteral
-import org.apache.spark.sql.catalyst.plans.PlanTest
-import org.apache.spark.sql.catalyst.plans.logical._
-import org.apache.spark.sql.catalyst.rules._
-
-
-class EliminateSubQueriesSuite extends PlanTest with PredicateHelper {
-
- object Optimize extends RuleExecutor[LogicalPlan] {
- val batches = Batch("EliminateSubQueries", Once, EliminateSubQueries) :: Nil
- }
-
- private def assertEquivalent(e1: Expression, e2: Expression): Unit = {
- val correctAnswer = Project(Alias(e2, "out")() :: Nil, OneRowRelation).analyze
- val actual = Optimize.execute(Project(Alias(e1, "out")() :: Nil, OneRowRelation).analyze)
- comparePlans(actual, correctAnswer)
- }
-
- private def afterOptimization(plan: LogicalPlan): LogicalPlan = {
- Optimize.execute(analysis.SimpleAnalyzer.execute(plan))
- }
-
- test("eliminate top level subquery") {
- val input = LocalRelation('a.int, 'b.int)
- val query = Subquery("a", input)
- comparePlans(afterOptimization(query), input)
- }
-
- test("eliminate mid-tree subquery") {
- val input = LocalRelation('a.int, 'b.int)
- val query = Filter(TrueLiteral, Subquery("a", input))
- comparePlans(
- afterOptimization(query),
- Filter(TrueLiteral, LocalRelation('a.int, 'b.int)))
- }
-
- test("eliminate multiple subqueries") {
- val input = LocalRelation('a.int, 'b.int)
- val query = Filter(TrueLiteral, Subquery("c", Subquery("b", Subquery("a", input))))
- comparePlans(
- afterOptimization(query),
- Filter(TrueLiteral, LocalRelation('a.int, 'b.int)))
- }
-
-}
http://git-wip-us.apache.org/repos/asf/spark/blob/0947f098/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/EliminateSubqueryAliasesSuite.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/EliminateSubqueryAliasesSuite.scala b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/EliminateSubqueryAliasesSuite.scala
new file mode 100644
index 0000000..9b6d68a
--- /dev/null
+++ b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/EliminateSubqueryAliasesSuite.scala
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.spark.sql.catalyst.optimizer
+
+import org.apache.spark.sql.catalyst.analysis
+import org.apache.spark.sql.catalyst.analysis.EliminateSubqueryAliases
+import org.apache.spark.sql.catalyst.dsl.expressions._
+import org.apache.spark.sql.catalyst.dsl.plans._
+import org.apache.spark.sql.catalyst.expressions._
+import org.apache.spark.sql.catalyst.expressions.Literal.TrueLiteral
+import org.apache.spark.sql.catalyst.plans.PlanTest
+import org.apache.spark.sql.catalyst.plans.logical._
+import org.apache.spark.sql.catalyst.rules._
+
+
+class EliminateSubqueryAliasesSuite extends PlanTest with PredicateHelper {
+
+ object Optimize extends RuleExecutor[LogicalPlan] {
+ val batches = Batch("EliminateSubqueryAliases", Once, EliminateSubqueryAliases) :: Nil
+ }
+
+ private def assertEquivalent(e1: Expression, e2: Expression): Unit = {
+ val correctAnswer = Project(Alias(e2, "out")() :: Nil, OneRowRelation).analyze
+ val actual = Optimize.execute(Project(Alias(e1, "out")() :: Nil, OneRowRelation).analyze)
+ comparePlans(actual, correctAnswer)
+ }
+
+ private def afterOptimization(plan: LogicalPlan): LogicalPlan = {
+ Optimize.execute(analysis.SimpleAnalyzer.execute(plan))
+ }
+
+ test("eliminate top level subquery") {
+ val input = LocalRelation('a.int, 'b.int)
+ val query = SubqueryAlias("a", input)
+ comparePlans(afterOptimization(query), input)
+ }
+
+ test("eliminate mid-tree subquery") {
+ val input = LocalRelation('a.int, 'b.int)
+ val query = Filter(TrueLiteral, SubqueryAlias("a", input))
+ comparePlans(
+ afterOptimization(query),
+ Filter(TrueLiteral, LocalRelation('a.int, 'b.int)))
+ }
+
+ test("eliminate multiple subqueries") {
+ val input = LocalRelation('a.int, 'b.int)
+ val query = Filter(TrueLiteral,
+ SubqueryAlias("c", SubqueryAlias("b", SubqueryAlias("a", input))))
+ comparePlans(
+ afterOptimization(query),
+ Filter(TrueLiteral, LocalRelation('a.int, 'b.int)))
+ }
+}
http://git-wip-us.apache.org/repos/asf/spark/blob/0947f098/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/FilterPushdownSuite.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/FilterPushdownSuite.scala b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/FilterPushdownSuite.scala
index b49ca92..7805723 100644
--- a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/FilterPushdownSuite.scala
+++ b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/FilterPushdownSuite.scala
@@ -18,7 +18,7 @@
package org.apache.spark.sql.catalyst.optimizer
import org.apache.spark.sql.catalyst.analysis
-import org.apache.spark.sql.catalyst.analysis.EliminateSubQueries
+import org.apache.spark.sql.catalyst.analysis.EliminateSubqueryAliases
import org.apache.spark.sql.catalyst.dsl.expressions._
import org.apache.spark.sql.catalyst.dsl.plans._
import org.apache.spark.sql.catalyst.expressions._
@@ -32,7 +32,7 @@ class FilterPushdownSuite extends PlanTest {
object Optimize extends RuleExecutor[LogicalPlan] {
val batches =
Batch("Subqueries", Once,
- EliminateSubQueries) ::
+ EliminateSubqueryAliases) ::
Batch("Filter Pushdown", Once,
SamplePushDown,
CombineFilters,
@@ -481,7 +481,7 @@ class FilterPushdownSuite extends PlanTest {
}
val optimized = Optimize.execute(originalQuery.analyze)
- comparePlans(analysis.EliminateSubQueries(originalQuery.analyze), optimized)
+ comparePlans(analysis.EliminateSubqueryAliases(originalQuery.analyze), optimized)
}
test("joins: conjunctive predicates") {
@@ -500,7 +500,7 @@ class FilterPushdownSuite extends PlanTest {
left.join(right, condition = Some("x.b".attr === "y.b".attr))
.analyze
- comparePlans(optimized, analysis.EliminateSubQueries(correctAnswer))
+ comparePlans(optimized, analysis.EliminateSubqueryAliases(correctAnswer))
}
test("joins: conjunctive predicates #2") {
@@ -519,7 +519,7 @@ class FilterPushdownSuite extends PlanTest {
left.join(right, condition = Some("x.b".attr === "y.b".attr))
.analyze
- comparePlans(optimized, analysis.EliminateSubQueries(correctAnswer))
+ comparePlans(optimized, analysis.EliminateSubqueryAliases(correctAnswer))
}
test("joins: conjunctive predicates #3") {
@@ -543,7 +543,7 @@ class FilterPushdownSuite extends PlanTest {
condition = Some("z.a".attr === "x.b".attr))
.analyze
- comparePlans(optimized, analysis.EliminateSubQueries(correctAnswer))
+ comparePlans(optimized, analysis.EliminateSubqueryAliases(correctAnswer))
}
val testRelationWithArrayType = LocalRelation('a.int, 'b.int, 'c_arr.array(IntegerType))
@@ -619,7 +619,7 @@ class FilterPushdownSuite extends PlanTest {
x.select('a)
.sortBy(SortOrder('a, Ascending)).analyze
- comparePlans(optimized, analysis.EliminateSubQueries(correctAnswer))
+ comparePlans(optimized, analysis.EliminateSubqueryAliases(correctAnswer))
// push down invalid
val originalQuery1 = {
@@ -634,7 +634,7 @@ class FilterPushdownSuite extends PlanTest {
.sortBy(SortOrder('a, Ascending))
.select('b).analyze
- comparePlans(optimized1, analysis.EliminateSubQueries(correctAnswer1))
+ comparePlans(optimized1, analysis.EliminateSubqueryAliases(correctAnswer1))
}
test("push project and filter down into sample") {
@@ -642,7 +642,8 @@ class FilterPushdownSuite extends PlanTest {
val originalQuery =
Sample(0.0, 0.6, false, 11L, x).select('a)
- val originalQueryAnalyzed = EliminateSubQueries(analysis.SimpleAnalyzer.execute(originalQuery))
+ val originalQueryAnalyzed =
+ EliminateSubqueryAliases(analysis.SimpleAnalyzer.execute(originalQuery))
val optimized = Optimize.execute(originalQueryAnalyzed)
http://git-wip-us.apache.org/repos/asf/spark/blob/0947f098/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/JoinOrderSuite.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/JoinOrderSuite.scala b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/JoinOrderSuite.scala
index 858a0d8..a5b487b 100644
--- a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/JoinOrderSuite.scala
+++ b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/JoinOrderSuite.scala
@@ -18,7 +18,7 @@
package org.apache.spark.sql.catalyst.optimizer
import org.apache.spark.sql.catalyst.analysis
-import org.apache.spark.sql.catalyst.analysis.EliminateSubQueries
+import org.apache.spark.sql.catalyst.analysis.EliminateSubqueryAliases
import org.apache.spark.sql.catalyst.dsl.expressions._
import org.apache.spark.sql.catalyst.dsl.plans._
import org.apache.spark.sql.catalyst.expressions.Expression
@@ -33,7 +33,7 @@ class JoinOrderSuite extends PlanTest {
object Optimize extends RuleExecutor[LogicalPlan] {
val batches =
Batch("Subqueries", Once,
- EliminateSubQueries) ::
+ EliminateSubqueryAliases) ::
Batch("Filter Pushdown", Once,
CombineFilters,
PushPredicateThroughProject,
@@ -90,6 +90,6 @@ class JoinOrderSuite extends PlanTest {
.join(y, condition = Some("y.d".attr === "z.a".attr))
.analyze
- comparePlans(optimized, analysis.EliminateSubQueries(correctAnswer))
+ comparePlans(optimized, analysis.EliminateSubqueryAliases(correctAnswer))
}
}
http://git-wip-us.apache.org/repos/asf/spark/blob/0947f098/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/LimitPushdownSuite.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/LimitPushdownSuite.scala b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/LimitPushdownSuite.scala
index fc1e994..dcbc793 100644
--- a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/LimitPushdownSuite.scala
+++ b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/LimitPushdownSuite.scala
@@ -17,7 +17,7 @@
package org.apache.spark.sql.catalyst.optimizer
-import org.apache.spark.sql.catalyst.analysis.EliminateSubQueries
+import org.apache.spark.sql.catalyst.analysis.EliminateSubqueryAliases
import org.apache.spark.sql.catalyst.dsl.expressions._
import org.apache.spark.sql.catalyst.dsl.plans._
import org.apache.spark.sql.catalyst.expressions.Add
@@ -30,7 +30,7 @@ class LimitPushdownSuite extends PlanTest {
private object Optimize extends RuleExecutor[LogicalPlan] {
val batches =
Batch("Subqueries", Once,
- EliminateSubQueries) ::
+ EliminateSubqueryAliases) ::
Batch("Limit pushdown", FixedPoint(100),
LimitPushDown,
CombineLimits,
http://git-wip-us.apache.org/repos/asf/spark/blob/0947f098/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/OptimizeInSuite.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/OptimizeInSuite.scala b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/OptimizeInSuite.scala
index 3e384e4..17255ec 100644
--- a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/OptimizeInSuite.scala
+++ b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/OptimizeInSuite.scala
@@ -19,8 +19,7 @@ package org.apache.spark.sql.catalyst.optimizer
import scala.collection.immutable.HashSet
-import org.apache.spark.sql.catalyst.analysis.{EliminateSubQueries, UnresolvedAttribute}
-// For implicit conversions
+import org.apache.spark.sql.catalyst.analysis.{EliminateSubqueryAliases, UnresolvedAttribute}
import org.apache.spark.sql.catalyst.dsl.expressions._
import org.apache.spark.sql.catalyst.dsl.plans._
import org.apache.spark.sql.catalyst.expressions._
@@ -34,7 +33,7 @@ class OptimizeInSuite extends PlanTest {
object Optimize extends RuleExecutor[LogicalPlan] {
val batches =
Batch("AnalysisNodes", Once,
- EliminateSubQueries) ::
+ EliminateSubqueryAliases) ::
Batch("ConstantFolding", FixedPoint(10),
NullPropagation,
ConstantFolding,
http://git-wip-us.apache.org/repos/asf/spark/blob/0947f098/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/OuterJoinEliminationSuite.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/OuterJoinEliminationSuite.scala b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/OuterJoinEliminationSuite.scala
index a1dc836..5e6e54d 100644
--- a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/OuterJoinEliminationSuite.scala
+++ b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/OuterJoinEliminationSuite.scala
@@ -17,7 +17,7 @@
package org.apache.spark.sql.catalyst.optimizer
-import org.apache.spark.sql.catalyst.analysis.EliminateSubQueries
+import org.apache.spark.sql.catalyst.analysis.EliminateSubqueryAliases
import org.apache.spark.sql.catalyst.dsl.expressions._
import org.apache.spark.sql.catalyst.dsl.plans._
import org.apache.spark.sql.catalyst.plans._
@@ -28,7 +28,7 @@ class OuterJoinEliminationSuite extends PlanTest {
object Optimize extends RuleExecutor[LogicalPlan] {
val batches =
Batch("Subqueries", Once,
- EliminateSubQueries) ::
+ EliminateSubqueryAliases) ::
Batch("Outer Join Elimination", Once,
OuterJoinElimination,
PushPredicateThroughJoin) :: Nil
http://git-wip-us.apache.org/repos/asf/spark/blob/0947f098/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/SetOperationSuite.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/SetOperationSuite.scala b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/SetOperationSuite.scala
index b8ea32b..50f3b51 100644
--- a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/SetOperationSuite.scala
+++ b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/SetOperationSuite.scala
@@ -17,7 +17,7 @@
package org.apache.spark.sql.catalyst.optimizer
-import org.apache.spark.sql.catalyst.analysis.EliminateSubQueries
+import org.apache.spark.sql.catalyst.analysis.EliminateSubqueryAliases
import org.apache.spark.sql.catalyst.dsl.expressions._
import org.apache.spark.sql.catalyst.dsl.plans._
import org.apache.spark.sql.catalyst.plans.PlanTest
@@ -28,7 +28,7 @@ class SetOperationSuite extends PlanTest {
object Optimize extends RuleExecutor[LogicalPlan] {
val batches =
Batch("Subqueries", Once,
- EliminateSubQueries) ::
+ EliminateSubqueryAliases) ::
Batch("Union Pushdown", Once,
CombineUnions,
SetOperationPushDown,
http://git-wip-us.apache.org/repos/asf/spark/blob/0947f098/sql/core/src/main/scala/org/apache/spark/sql/DataFrame.scala
----------------------------------------------------------------------
diff --git a/sql/core/src/main/scala/org/apache/spark/sql/DataFrame.scala b/sql/core/src/main/scala/org/apache/spark/sql/DataFrame.scala
index 9674450..e3412f7 100644
--- a/sql/core/src/main/scala/org/apache/spark/sql/DataFrame.scala
+++ b/sql/core/src/main/scala/org/apache/spark/sql/DataFrame.scala
@@ -671,7 +671,7 @@ class DataFrame private[sql](
* @since 1.3.0
*/
def as(alias: String): DataFrame = withPlan {
- Subquery(alias, logicalPlan)
+ SubqueryAlias(alias, logicalPlan)
}
/**
http://git-wip-us.apache.org/repos/asf/spark/blob/0947f098/sql/core/src/main/scala/org/apache/spark/sql/Dataset.scala
----------------------------------------------------------------------
diff --git a/sql/core/src/main/scala/org/apache/spark/sql/Dataset.scala b/sql/core/src/main/scala/org/apache/spark/sql/Dataset.scala
index 3787632..ea7e725 100644
--- a/sql/core/src/main/scala/org/apache/spark/sql/Dataset.scala
+++ b/sql/core/src/main/scala/org/apache/spark/sql/Dataset.scala
@@ -142,7 +142,7 @@ class Dataset[T] private[sql](
* the same name after two Datasets have been joined.
* @since 1.6.0
*/
- def as(alias: String): Dataset[T] = withPlan(Subquery(alias, _))
+ def as(alias: String): Dataset[T] = withPlan(SubqueryAlias(alias, _))
/**
* Converts this strongly typed collection of data to generic Dataframe. In contrast to the
http://git-wip-us.apache.org/repos/asf/spark/blob/0947f098/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/rules.scala
----------------------------------------------------------------------
diff --git a/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/rules.scala b/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/rules.scala
index 9358c9c..2e41e88 100644
--- a/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/rules.scala
+++ b/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/rules.scala
@@ -40,7 +40,7 @@ private[sql] class ResolveDataSource(sqlContext: SQLContext) extends Rule[Logica
provider = u.tableIdentifier.database.get,
options = Map("path" -> u.tableIdentifier.table))
val plan = LogicalRelation(resolved.relation)
- u.alias.map(a => Subquery(u.alias.get, plan)).getOrElse(plan)
+ u.alias.map(a => SubqueryAlias(u.alias.get, plan)).getOrElse(plan)
} catch {
case e: ClassNotFoundException => u
case e: Exception =>
@@ -171,7 +171,7 @@ private[sql] case class PreWriteCheck(catalog: Catalog) extends (LogicalPlan =>
// the query. If so, we will throw an AnalysisException to let users know it is not allowed.
if (c.mode == SaveMode.Overwrite && catalog.tableExists(c.tableIdent)) {
// Need to remove SubQuery operator.
- EliminateSubQueries(catalog.lookupRelation(c.tableIdent)) match {
+ EliminateSubqueryAliases(catalog.lookupRelation(c.tableIdent)) match {
// Only do the check if the table is a data source table
// (the relation is a BaseRelation).
case l @ LogicalRelation(dest: BaseRelation, _, _) =>
http://git-wip-us.apache.org/repos/asf/spark/blob/0947f098/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveContext.scala
----------------------------------------------------------------------
diff --git a/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveContext.scala b/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveContext.scala
index ac174aa..88fda16 100644
--- a/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveContext.scala
+++ b/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveContext.scala
@@ -353,7 +353,7 @@ class HiveContext private[hive](
*/
def analyze(tableName: String) {
val tableIdent = sqlParser.parseTableIdentifier(tableName)
- val relation = EliminateSubQueries(catalog.lookupRelation(tableIdent))
+ val relation = EliminateSubqueryAliases(catalog.lookupRelation(tableIdent))
relation match {
case relation: MetastoreRelation =>
http://git-wip-us.apache.org/repos/asf/spark/blob/0947f098/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveMetastoreCatalog.scala
----------------------------------------------------------------------
diff --git a/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveMetastoreCatalog.scala b/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveMetastoreCatalog.scala
index 61d0d67..c222b00 100644
--- a/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveMetastoreCatalog.scala
+++ b/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveMetastoreCatalog.scala
@@ -416,17 +416,17 @@ private[hive] class HiveMetastoreCatalog(val client: HiveClient, hive: HiveConte
if (table.properties.get("spark.sql.sources.provider").isDefined) {
val dataSourceTable = cachedDataSourceTables(qualifiedTableName)
- val tableWithQualifiers = Subquery(qualifiedTableName.name, dataSourceTable)
+ val tableWithQualifiers = SubqueryAlias(qualifiedTableName.name, dataSourceTable)
// Then, if alias is specified, wrap the table with a Subquery using the alias.
// Otherwise, wrap the table with a Subquery using the table name.
- alias.map(a => Subquery(a, tableWithQualifiers)).getOrElse(tableWithQualifiers)
+ alias.map(a => SubqueryAlias(a, tableWithQualifiers)).getOrElse(tableWithQualifiers)
} else if (table.tableType == VirtualView) {
val viewText = table.viewText.getOrElse(sys.error("Invalid view without text."))
alias match {
// because hive use things like `_c0` to build the expanded text
// currently we cannot support view from "create view v1(c1) as ..."
- case None => Subquery(table.name, hive.parseSql(viewText))
- case Some(aliasText) => Subquery(aliasText, hive.parseSql(viewText))
+ case None => SubqueryAlias(table.name, hive.parseSql(viewText))
+ case Some(aliasText) => SubqueryAlias(aliasText, hive.parseSql(viewText))
}
} else {
MetastoreRelation(qualifiedTableName.database, qualifiedTableName.name, alias)(table)(hive)
@@ -564,7 +564,7 @@ private[hive] class HiveMetastoreCatalog(val client: HiveClient, hive: HiveConte
case relation: MetastoreRelation if hive.convertMetastoreParquet &&
relation.tableDesc.getSerdeClassName.toLowerCase.contains("parquet") =>
val parquetRelation = convertToParquetRelation(relation)
- Subquery(relation.alias.getOrElse(relation.tableName), parquetRelation)
+ SubqueryAlias(relation.alias.getOrElse(relation.tableName), parquetRelation)
}
}
}
http://git-wip-us.apache.org/repos/asf/spark/blob/0947f098/sql/hive/src/main/scala/org/apache/spark/sql/hive/SQLBuilder.scala
----------------------------------------------------------------------
diff --git a/sql/hive/src/main/scala/org/apache/spark/sql/hive/SQLBuilder.scala b/sql/hive/src/main/scala/org/apache/spark/sql/hive/SQLBuilder.scala
index 1dda39d..32f17f4 100644
--- a/sql/hive/src/main/scala/org/apache/spark/sql/hive/SQLBuilder.scala
+++ b/sql/hive/src/main/scala/org/apache/spark/sql/hive/SQLBuilder.scala
@@ -102,14 +102,14 @@ class SQLBuilder(logicalPlan: LogicalPlan, sqlContext: SQLContext) extends Loggi
val childrenSql = p.children.map(toSQL(_))
childrenSql.mkString(" UNION ALL ")
- case p: Subquery =>
+ case p: SubqueryAlias =>
p.child match {
// Persisted data source relation
case LogicalRelation(_, _, Some(TableIdentifier(table, Some(database)))) =>
s"${quoteIdentifier(database)}.${quoteIdentifier(table)}"
// Parentheses is not used for persisted data source relations
// e.g., select x.c1 from (t1) as x inner join (t1) as y on x.c1 = y.c1
- case Subquery(_, _: LogicalRelation | _: MetastoreRelation) =>
+ case SubqueryAlias(_, _: LogicalRelation | _: MetastoreRelation) =>
build(toSQL(p.child), "AS", p.alias)
case _ =>
build("(" + toSQL(p.child) + ")", "AS", p.alias)
@@ -215,7 +215,7 @@ class SQLBuilder(logicalPlan: LogicalPlan, sqlContext: SQLContext) extends Loggi
wrapChildWithSubquery(plan)
case plan @ Project(_,
- _: Subquery
+ _: SubqueryAlias
| _: Filter
| _: Join
| _: MetastoreRelation
@@ -237,7 +237,7 @@ class SQLBuilder(logicalPlan: LogicalPlan, sqlContext: SQLContext) extends Loggi
a.withQualifiers(alias :: Nil)
}.asInstanceOf[NamedExpression])
- Project(aliasedProjectList, Subquery(alias, child))
+ Project(aliasedProjectList, SubqueryAlias(alias, child))
}
}
}
http://git-wip-us.apache.org/repos/asf/spark/blob/0947f098/sql/hive/src/main/scala/org/apache/spark/sql/hive/execution/commands.scala
----------------------------------------------------------------------
diff --git a/sql/hive/src/main/scala/org/apache/spark/sql/hive/execution/commands.scala b/sql/hive/src/main/scala/org/apache/spark/sql/hive/execution/commands.scala
index e703ac0..246b52a 100644
--- a/sql/hive/src/main/scala/org/apache/spark/sql/hive/execution/commands.scala
+++ b/sql/hive/src/main/scala/org/apache/spark/sql/hive/execution/commands.scala
@@ -21,7 +21,7 @@ import org.apache.hadoop.hive.metastore.MetaStoreUtils
import org.apache.spark.sql._
import org.apache.spark.sql.catalyst.TableIdentifier
-import org.apache.spark.sql.catalyst.analysis.EliminateSubQueries
+import org.apache.spark.sql.catalyst.analysis.EliminateSubqueryAliases
import org.apache.spark.sql.catalyst.expressions.Attribute
import org.apache.spark.sql.catalyst.plans.logical.LogicalPlan
import org.apache.spark.sql.catalyst.util._
@@ -220,7 +220,7 @@ case class CreateMetastoreDataSourceAsSelect(
provider,
optionsWithPath)
val createdRelation = LogicalRelation(resolved.relation)
- EliminateSubQueries(sqlContext.catalog.lookupRelation(tableIdent)) match {
+ EliminateSubqueryAliases(sqlContext.catalog.lookupRelation(tableIdent)) match {
case l @ LogicalRelation(_: InsertableRelation | _: HadoopFsRelation, _, _) =>
if (l.relation != createdRelation.relation) {
val errorDescription =
http://git-wip-us.apache.org/repos/asf/spark/blob/0947f098/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/SQLQuerySuite.scala
----------------------------------------------------------------------
diff --git a/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/SQLQuerySuite.scala b/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/SQLQuerySuite.scala
index 75fa09d..6624494 100644
--- a/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/SQLQuerySuite.scala
+++ b/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/SQLQuerySuite.scala
@@ -23,7 +23,7 @@ import scala.collection.JavaConverters._
import org.apache.spark.sql._
import org.apache.spark.sql.catalyst.TableIdentifier
-import org.apache.spark.sql.catalyst.analysis.{EliminateSubQueries, FunctionRegistry}
+import org.apache.spark.sql.catalyst.analysis.{EliminateSubqueryAliases, FunctionRegistry}
import org.apache.spark.sql.execution.datasources.LogicalRelation
import org.apache.spark.sql.execution.datasources.parquet.ParquetRelation
import org.apache.spark.sql.functions._
@@ -264,7 +264,7 @@ class SQLQuerySuite extends QueryTest with SQLTestUtils with TestHiveSingleton {
test("CTAS without serde") {
def checkRelation(tableName: String, isDataSourceParquet: Boolean): Unit = {
- val relation = EliminateSubQueries(catalog.lookupRelation(TableIdentifier(tableName)))
+ val relation = EliminateSubqueryAliases(catalog.lookupRelation(TableIdentifier(tableName)))
relation match {
case LogicalRelation(r: ParquetRelation, _, _) =>
if (!isDataSourceParquet) {
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@spark.apache.org
For additional commands, e-mail: commits-help@spark.apache.org