diff options
author | Dongjoon Hyun <dongjoon@apache.org> | 2016-11-26 14:57:48 -0800 |
---|---|---|
committer | Herman van Hovell <hvanhovell@databricks.com> | 2016-11-26 14:57:48 -0800 |
commit | 9c03c564605783d8e94f6795432bb59c33933e52 (patch) | |
tree | cba4cfdaae34c80125365438e3d7ca404ec1b19e /sql/hive/src/test | |
parent | f4a98e421e14434fddc3f9f1018a17124d660ef0 (diff) | |
download | spark-9c03c564605783d8e94f6795432bb59c33933e52.tar.gz spark-9c03c564605783d8e94f6795432bb59c33933e52.tar.bz2 spark-9c03c564605783d8e94f6795432bb59c33933e52.zip |
[SPARK-17251][SQL] Improve `OuterReference` to be `NamedExpression`
## What changes were proposed in this pull request?
Currently, `OuterReference` is not `NamedExpression`. So, it raises 'ClassCastException` when it used in projection lists of IN correlated subqueries. This PR aims to support that by making `OuterReference` as `NamedExpression` to show correct error messages.
```scala
scala> sql("CREATE TEMPORARY VIEW t1 AS SELECT * FROM VALUES 1, 2 AS t1(a)")
scala> sql("CREATE TEMPORARY VIEW t2 AS SELECT * FROM VALUES 1 AS t2(b)")
scala> sql("SELECT a FROM t1 WHERE a IN (SELECT a FROM t2)").show
java.lang.ClassCastException: org.apache.spark.sql.catalyst.expressions.OuterReference cannot be cast to org.apache.spark.sql.catalyst.expressions.NamedExpression
```
## How was this patch tested?
Pass the Jenkins test with new test cases.
Author: Dongjoon Hyun <dongjoon@apache.org>
Closes #16015 from dongjoon-hyun/SPARK-17251-2.
Diffstat (limited to 'sql/hive/src/test')
0 files changed, 0 insertions, 0 deletions