-
- Downloads
[SPARK-20690][SQL] Subqueries in FROM should have alias names
## What changes were proposed in this pull request? We add missing attributes into Filter in Analyzer. But we shouldn't do it through subqueries like this: select 1 from (select 1 from onerow t1 LIMIT 1) where t1.c1=1 This query works in current codebase. However, the outside where clause shouldn't be able to refer `t1.c1` attribute. The root cause is we allow subqueries in FROM have no alias names previously, it is confusing and isn't supported by various databases such as MySQL, Postgres, Oracle. We shouldn't support it too. ## How was this patch tested? Jenkins tests. Please review http://spark.apache.org/contributing.html before opening a pull request. Author: Liang-Chi Hsieh <viirya@gmail.com> Closes #17935 from viirya/SPARK-20690.
Showing
- sql/catalyst/src/main/antlr4/org/apache/spark/sql/catalyst/parser/SqlBase.g4 1 addition, 1 deletion...in/antlr4/org/apache/spark/sql/catalyst/parser/SqlBase.g4
- sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/Analyzer.scala 2 additions, 2 deletions...ala/org/apache/spark/sql/catalyst/analysis/Analyzer.scala
- sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/parser/AstBuilder.scala 2 additions, 3 deletions...ala/org/apache/spark/sql/catalyst/parser/AstBuilder.scala
- sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/basicLogicalOperators.scala 6 additions, 0 deletions...rk/sql/catalyst/plans/logical/basicLogicalOperators.scala
- sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/parser/PlanParserSuite.scala 11 additions, 0 deletions...rg/apache/spark/sql/catalyst/parser/PlanParserSuite.scala
- sql/core/src/test/resources/sql-tests/inputs/group-by.sql 1 addition, 1 deletionsql/core/src/test/resources/sql-tests/inputs/group-by.sql
- sql/core/src/test/resources/sql-tests/inputs/limit.sql 1 addition, 1 deletionsql/core/src/test/resources/sql-tests/inputs/limit.sql
- sql/core/src/test/resources/sql-tests/inputs/string-functions.sql 1 addition, 1 deletion.../src/test/resources/sql-tests/inputs/string-functions.sql
- sql/core/src/test/resources/sql-tests/inputs/subquery/in-subquery/in-set-operations.sql 1 addition, 1 deletion...l-tests/inputs/subquery/in-subquery/in-set-operations.sql
- sql/core/src/test/resources/sql-tests/inputs/subquery/negative-cases/invalid-correlation.sql 1 addition, 1 deletion...ts/inputs/subquery/negative-cases/invalid-correlation.sql
- sql/core/src/test/resources/sql-tests/inputs/subquery/scalar-subquery/scalar-subquery-predicate.sql 1 addition, 1 deletion...ts/subquery/scalar-subquery/scalar-subquery-predicate.sql
- sql/core/src/test/resources/sql-tests/inputs/union.sql 2 additions, 2 deletionssql/core/src/test/resources/sql-tests/inputs/union.sql
- sql/core/src/test/resources/sql-tests/results/group-by.sql.out 1 addition, 1 deletion...ore/src/test/resources/sql-tests/results/group-by.sql.out
- sql/core/src/test/resources/sql-tests/results/limit.sql.out 1 addition, 1 deletionsql/core/src/test/resources/sql-tests/results/limit.sql.out
- sql/core/src/test/resources/sql-tests/results/string-functions.sql.out 7 additions, 5 deletions...test/resources/sql-tests/results/string-functions.sql.out
- sql/core/src/test/resources/sql-tests/results/subquery/in-subquery/in-set-operations.sql.out 1 addition, 1 deletion...ts/results/subquery/in-subquery/in-set-operations.sql.out
- sql/core/src/test/resources/sql-tests/results/subquery/negative-cases/invalid-correlation.sql.out 1 addition, 1 deletion...sults/subquery/negative-cases/invalid-correlation.sql.out
- sql/core/src/test/resources/sql-tests/results/subquery/scalar-subquery/scalar-subquery-predicate.sql.out 1 addition, 1 deletion...ubquery/scalar-subquery/scalar-subquery-predicate.sql.out
- sql/core/src/test/resources/sql-tests/results/union.sql.out 2 additions, 2 deletionssql/core/src/test/resources/sql-tests/results/union.sql.out
- sql/core/src/test/scala/org/apache/spark/sql/CachedTableSuite.scala 9 additions, 9 deletions...rc/test/scala/org/apache/spark/sql/CachedTableSuite.scala
Loading
Please register or sign in to comment