You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Dongjoon Hyun (Jira)" <ji...@apache.org> on 2025/02/12 15:59:00 UTC

[jira] [Commented] (SPARK-51113) Correctness issue with UNION/EXCEPT/INTERSECT inside a view or EXECUTE IMMEDIATE

    [ https://issues.apache.org/jira/browse/SPARK-51113?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17926446#comment-17926446 ] 

Dongjoon Hyun commented on SPARK-51113:
---------------------------------------

I raised the priority to `Blocker` and set the target version, `4.0.0` in order to include your patch to Apache Spark 4.0.0, [~vladimir.golubev] .

> 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: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org