You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Michael Armbrust (JIRA)" <ji...@apache.org> on 2015/10/09 21:01:05 UTC

[jira] [Created] (SPARK-11032) Failure to resolve having correctly

Michael Armbrust created SPARK-11032:
----------------------------------------

             Summary: Failure to resolve having correctly
                 Key: SPARK-11032
                 URL: https://issues.apache.org/jira/browse/SPARK-11032
             Project: Spark
          Issue Type: Bug
          Components: SQL
    Affects Versions: 1.5.1, 1.6.0
            Reporter: Michael Armbrust
            Priority: Blocker


This is a regression from Spark 1.4

{code}
Seq(("michael", 30)).toDF("name", "age").registerTempTable("people")
sql("SELECT MIN(t0.age) FROM (SELECT * FROM PEOPLE WHERE age > 0) t0 HAVING(COUNT(1) > 0)").explain(true)
== Parsed Logical Plan ==
'Filter cast(('COUNT(1) > 0) as boolean)
 'Project [unresolvedalias('MIN('t0.age))]
  'Subquery t0
   'Project [unresolvedalias(*)]
    'Filter ('age > 0)
     'UnresolvedRelation [PEOPLE], None

== Analyzed Logical Plan ==
_c0: int
Filter cast((count(1) > cast(0 as bigint)) as boolean)
 Aggregate [min(age#6) AS _c0#9]
  Subquery t0
   Project [name#5,age#6]
    Filter (age#6 > 0)
     Subquery people
      Project [_1#3 AS name#5,_2#4 AS age#6]
       LocalRelation [_1#3,_2#4], [[michael,30]]

== Optimized Logical Plan ==
Filter (count(1) > 0)
 Aggregate [min(age#6) AS _c0#9]
  Project [_2#4 AS age#6]
   Filter (_2#4 > 0)
    LocalRelation [_1#3,_2#4], [[michael,30]]

== Physical Plan ==
Filter (count(1) > 0)
 TungstenAggregate(key=[], functions=[(min(age#6),mode=Final,isDistinct=false)], output=[_c0#9])
  TungstenExchange SinglePartition
   TungstenAggregate(key=[], functions=[(min(age#6),mode=Partial,isDistinct=false)], output=[min#12])
    TungstenProject [_2#4 AS age#6]
     Filter (_2#4 > 0)
      LocalTableScan [_1#3,_2#4], [[michael,30]]

Code Generation: true
{code}

{code}
Caused by: java.lang.UnsupportedOperationException: Cannot evaluate expression: count(1)
	at org.apache.spark.sql.catalyst.expressions.Unevaluable$class.eval(Expression.scala:188)
	at org.apache.spark.sql.catalyst.expressions.Count.eval(aggregates.scala:156)
	at org.apache.spark.sql.catalyst.expressions.BinaryExpression.eval(Expression.scala:327)
	at org.apache.spark.sql.catalyst.expressions.InterpretedPredicate$$anonfun$create$2.apply(predicates.scala:38)
	at org.apache.spark.sql.catalyst.expressions.InterpretedPredicate$$anonfun$create$2.apply(predicates.scala:38)
	at org.apache.spark.sql.execution.Filter$$anonfun$4$$anonfun$apply$4.apply(basicOperators.scala:117)
	at org.apache.spark.sql.execution.Filter$$anonfun$4$$anonfun$apply$4.apply(basicOperators.scala:115)
	at scala.collection.Iterator$$anon$14.hasNext(Iterator.scala:390)
	at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:327)
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org