aboutsummaryrefslogtreecommitdiff
path: root/sql/catalyst
diff options
context:
space:
mode:
authorAndrew Ray <ray.andrew@gmail.com>2015-12-08 10:52:17 -0800
committerYin Huai <yhuai@databricks.com>2015-12-08 10:52:17 -0800
commit4bcb894948c1b7294d84e2bf58abb1d79e6759c6 (patch)
tree71dd231854efc677012ae85152b2cea5563b4593 /sql/catalyst
parent872a2ee281d84f40a786f765bf772cdb06e8c956 (diff)
downloadspark-4bcb894948c1b7294d84e2bf58abb1d79e6759c6.tar.gz
spark-4bcb894948c1b7294d84e2bf58abb1d79e6759c6.tar.bz2
spark-4bcb894948c1b7294d84e2bf58abb1d79e6759c6.zip
[SPARK-12205][SQL] Pivot fails Analysis when aggregate is UnresolvedFunction
Delays application of ResolvePivot until all aggregates are resolved to prevent problems with UnresolvedFunction and adds unit test Author: Andrew Ray <ray.andrew@gmail.com> Closes #10202 from aray/sql-pivot-unresolved-function.
Diffstat (limited to 'sql/catalyst')
-rw-r--r--sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/Analyzer.scala2
1 files changed, 1 insertions, 1 deletions
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 d3163dcd4d..ca00a5e49f 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
@@ -259,7 +259,7 @@ class Analyzer(
object ResolvePivot extends Rule[LogicalPlan] {
def apply(plan: LogicalPlan): LogicalPlan = plan transform {
- case p: Pivot if !p.childrenResolved => p
+ case p: Pivot if !p.childrenResolved | !p.aggregates.forall(_.resolved) => p
case Pivot(groupByExprs, pivotColumn, pivotValues, aggregates, child) =>
val singleAgg = aggregates.size == 1
val pivotAggregates: Seq[NamedExpression] = pivotValues.flatMap { value =>