[jira] [Assigned] (SPARK-23802) PropagateEmptyRelation can leave query plan in unresolved state

2018-03-27 Thread Apache Spark (JIRA)

 [ 
https://issues.apache.org/jira/browse/SPARK-23802?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Apache Spark reassigned SPARK-23802:


Assignee: (was: Apache Spark)

> PropagateEmptyRelation can leave query plan in unresolved state
> ---
>
> Key: SPARK-23802
> URL: https://issues.apache.org/jira/browse/SPARK-23802
> Project: Spark
>  Issue Type: Bug
>  Components: SQL
>Affects Versions: 2.3.0
>Reporter: Robert Kruszewski
>Priority: Minor
>
> Since [https://github.com/apache/spark/pull/19825] PropagateEmptyRelation has 
> been taught to handle more cases it can cause the optimized query plan to be 
> unresolved.
> Simple repro is to run following through the optimizer
> {code:java}
> LocalRelation.fromExternalRows(Seq('a.int), data = Seq(Row(1))) 
> .join(LocalRelation('a.int, 'b.int), UsingJoin(FullOuter, "a" :: Nil), 
> None){code}
> Which results in
> {code:java}
> Project [coalesce(a#0, null) AS a#7, null AS b#6]
> +- LocalRelation [a#0]{code}
> This then fails type check on coalesce expression since `a` and null have 
> different type.
>  
> Simple, targeted fix is to change PropagateEmptyRelation to add casts around 
> nulls. More comprehensive fix would be to run type coercion at the end of 
> optimization so it can fix cases like those. Alternatively the type checking 
> code could treat NullType as equal to any other type and not fail the type 
> check in the first place.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Assigned] (SPARK-23802) PropagateEmptyRelation can leave query plan in unresolved state

2018-03-27 Thread Apache Spark (JIRA)

 [ 
https://issues.apache.org/jira/browse/SPARK-23802?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Apache Spark reassigned SPARK-23802:


Assignee: Apache Spark

> PropagateEmptyRelation can leave query plan in unresolved state
> ---
>
> Key: SPARK-23802
> URL: https://issues.apache.org/jira/browse/SPARK-23802
> Project: Spark
>  Issue Type: Bug
>  Components: SQL
>Affects Versions: 2.3.0
>Reporter: Robert Kruszewski
>Assignee: Apache Spark
>Priority: Minor
>
> Since [https://github.com/apache/spark/pull/19825] PropagateEmptyRelation has 
> been taught to handle more cases it can cause the optimized query plan to be 
> unresolved.
> Simple repro is to run following through the optimizer
> {code:java}
> LocalRelation.fromExternalRows(Seq('a.int), data = Seq(Row(1))) 
> .join(LocalRelation('a.int, 'b.int), UsingJoin(FullOuter, "a" :: Nil), 
> None){code}
> Which results in
> {code:java}
> Project [coalesce(a#0, null) AS a#7, null AS b#6]
> +- LocalRelation [a#0]{code}
> This then fails type check on coalesce expression since `a` and null have 
> different type.
>  
> Simple, targeted fix is to change PropagateEmptyRelation to add casts around 
> nulls. More comprehensive fix would be to run type coercion at the end of 
> optimization so it can fix cases like those. Alternatively the type checking 
> code could treat NullType as equal to any other type and not fail the type 
> check in the first place.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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