[
https://issues.apache.org/jira/browse/SPARK-51113?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dongjoon Hyun updated SPARK-51113:
----------------------------------
Fix Version/s: (was: 4.0.0)
> Correctness issue with UNION/EXCEPT/INTERSECT inside a view or EXECUTE
> IMMEDIATE
> --------------------------------------------------------------------------------
>
> Key: SPARK-51113
> URL: https://issues.apache.org/jira/browse/SPARK-51113
> Project: Spark
> Issue Type: Sub-task
> Components: SQL
> Affects Versions: 4.0.0
> Reporter: Vladimir Golubev
> Priority: Blocker
> Labels: pull-request-available
> Attachments: screenshot-1.png, screenshot-2.png, screenshot-3.png,
> screenshot-4.png, screenshot-5.png
>
>
> There's a parser issue where for trivial UNION/EXCEPT/INTERSECT queries
> inside views a keyword is considered an alias:
> ```
> spark.sql("CREATE OR REPLACE VIEW v1 AS SELECT 1 AS col1 UNION SELECT 2 UNION
> SELECT 3 UNION SELECT 4")
> spark.sql("SELECT * FROM v1").show()
> spark.sql("SELECT * FROM v1").queryExecution.analyzed
> spark.sql("CREATE OR REPLACE VIEW v1 AS SELECT 1 AS col1 EXCEPT SELECT 2
> EXCEPT SELECT 1 EXCEPT SELECT 2")
> spark.sql("SELECT * FROM v1").show()
> spark.sql("SELECT * FROM v1").queryExecution.analyzed
> spark.sql("CREATE OR REPLACE VIEW t1 AS SELECT 1 AS col1 INTERSECT SELECT 1
> INTERSECT SELECT 2 INTERSECT SELECT 2")
> spark.sql("SELECT * FROM v1").show()
> spark.sql("SELECT * FROM v1").queryExecution.analyzed
> ```
> !screenshot-1.png!
> !screenshot-3.png!
> !screenshot-4.png!
> Same issue for `EXECUTE IMMEDIATE`:
> ```
> spark.sql("DECLARE v INT")
> spark.sql("EXECUTE IMMEDIATE 'SELECT 1 UNION SELECT 2 UNION SELECT 3' INTO v")
> spark.sql("EXECUTE IMMEDIATE 'SELECT 1 UNION SELECT 2 UNION SELECT 3' INTO
> v").queryExecution.analyzed
> spark.sql("SELECT v").show()
> ```
> !screenshot-5.png!
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]