diff options
Diffstat (limited to 'sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/ColumnPruningSuite.scala')
-rw-r--r-- | sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/ColumnPruningSuite.scala | 43 |
1 files changed, 10 insertions, 33 deletions
diff --git a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/ColumnPruningSuite.scala b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/ColumnPruningSuite.scala index 52b574c0e6..b5664a5e69 100644 --- a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/ColumnPruningSuite.scala +++ b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/ColumnPruningSuite.scala @@ -24,7 +24,6 @@ import org.apache.spark.sql.catalyst.dsl.expressions._ import org.apache.spark.sql.catalyst.dsl.plans._ import org.apache.spark.sql.catalyst.encoders.ExpressionEncoder import org.apache.spark.sql.catalyst.expressions._ -import org.apache.spark.sql.catalyst.expressions.aggregate.{AggregateExpression, Complete, Count} import org.apache.spark.sql.catalyst.plans.{Inner, PlanTest} import org.apache.spark.sql.catalyst.plans.logical._ import org.apache.spark.sql.catalyst.rules.RuleExecutor @@ -267,17 +266,11 @@ class ColumnPruningSuite extends PlanTest { test("Column pruning on Window with useless aggregate functions") { val input = LocalRelation('a.int, 'b.string, 'c.double, 'd.int) + val winSpec = windowSpec('a :: Nil, 'b.asc :: Nil, UnspecifiedFrame) + val winExpr = windowExpr(count('b), winSpec) - val originalQuery = - input.groupBy('a, 'c, 'd)('a, 'c, 'd, - WindowExpression( - AggregateExpression(Count('b), Complete, isDistinct = false), - WindowSpecDefinition( 'a :: Nil, - SortOrder('b, Ascending) :: Nil, - UnspecifiedFrame)).as('window)).select('a, 'c) - + val originalQuery = input.groupBy('a, 'c, 'd)('a, 'c, 'd, winExpr.as('window)).select('a, 'c) val correctAnswer = input.select('a, 'c, 'd).groupBy('a, 'c, 'd)('a, 'c).analyze - val optimized = Optimize.execute(originalQuery.analyze) comparePlans(optimized, correctAnswer) @@ -285,25 +278,15 @@ class ColumnPruningSuite extends PlanTest { test("Column pruning on Window with selected agg expressions") { val input = LocalRelation('a.int, 'b.string, 'c.double, 'd.int) + val winSpec = windowSpec('a :: Nil, 'b.asc :: Nil, UnspecifiedFrame) + val winExpr = windowExpr(count('b), winSpec) val originalQuery = - input.select('a, 'b, 'c, 'd, - WindowExpression( - AggregateExpression(Count('b), Complete, isDistinct = false), - WindowSpecDefinition( 'a :: Nil, - SortOrder('b, Ascending) :: Nil, - UnspecifiedFrame)).as('window)).where('window > 1).select('a, 'c) - + input.select('a, 'b, 'c, 'd, winExpr.as('window)).where('window > 1).select('a, 'c) val correctAnswer = input.select('a, 'b, 'c) - .window(WindowExpression( - AggregateExpression(Count('b), Complete, isDistinct = false), - WindowSpecDefinition( 'a :: Nil, - SortOrder('b, Ascending) :: Nil, - UnspecifiedFrame)).as('window) :: Nil, - 'a :: Nil, 'b.asc :: Nil) + .window(winExpr.as('window) :: Nil, 'a :: Nil, 'b.asc :: Nil) .where('window > 1).select('a, 'c).analyze - val optimized = Optimize.execute(originalQuery.analyze) comparePlans(optimized, correctAnswer) @@ -311,17 +294,11 @@ class ColumnPruningSuite extends PlanTest { test("Column pruning on Window in select") { val input = LocalRelation('a.int, 'b.string, 'c.double, 'd.int) + val winSpec = windowSpec('a :: Nil, 'b.asc :: Nil, UnspecifiedFrame) + val winExpr = windowExpr(count('b), winSpec) - val originalQuery = - input.select('a, 'b, 'c, 'd, - WindowExpression( - AggregateExpression(Count('b), Complete, isDistinct = false), - WindowSpecDefinition( 'a :: Nil, - SortOrder('b, Ascending) :: Nil, - UnspecifiedFrame)).as('window)).select('a, 'c) - + val originalQuery = input.select('a, 'b, 'c, 'd, winExpr.as('window)).select('a, 'c) val correctAnswer = input.select('a, 'c).analyze - val optimized = Optimize.execute(originalQuery.analyze) comparePlans(optimized, correctAnswer) |