-
Notifications
You must be signed in to change notification settings - Fork 28.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[SPARK-28228][SQL][TESTS] Refactoring for nested CTE tests
### What changes were proposed in this pull request? Split the nested CTE cases into a single file `cte-nested.sql`, which will be reused in cte-legacy.sql and cte-nonlegacy.sql. ### Why are the changes needed? Make the cases easy to maintain. ### Does this PR introduce any user-facing change? No. ### How was this patch tested? Existing UT. Closes #27667 from xuanyuanking/SPARK-28228-test. Authored-by: Yuanjian Li <xyliyuanjian@gmail.com> Signed-off-by: HyukjinKwon <gurwls223@apache.org>
- Loading branch information
1 parent
f152d2a
commit e45f2c7
Showing
8 changed files
with
285 additions
and
612 deletions.
There are no files selected for viewing
117 changes: 2 additions & 115 deletions
117
sql/core/src/test/resources/sql-tests/inputs/cte-legacy.sql
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,115 +1,2 @@ | ||
create temporary view t as select * from values 0, 1, 2 as t(id); | ||
create temporary view t2 as select * from values 0, 1 as t(id); | ||
|
||
-- CTE legacy substitution | ||
SET spark.sql.legacy.ctePrecedencePolicy=legacy; | ||
|
||
-- CTE in CTE definition | ||
WITH t as ( | ||
WITH t2 AS (SELECT 1) | ||
SELECT * FROM t2 | ||
) | ||
SELECT * FROM t; | ||
|
||
-- CTE in subquery | ||
SELECT max(c) FROM ( | ||
WITH t(c) AS (SELECT 1) | ||
SELECT * FROM t | ||
); | ||
|
||
-- CTE in subquery expression | ||
SELECT ( | ||
WITH t AS (SELECT 1) | ||
SELECT * FROM t | ||
); | ||
|
||
-- CTE in CTE definition shadows outer | ||
WITH | ||
t AS (SELECT 1), | ||
t2 AS ( | ||
WITH t AS (SELECT 2) | ||
SELECT * FROM t | ||
) | ||
SELECT * FROM t2; | ||
|
||
-- CTE in CTE definition shadows outer 2 | ||
WITH | ||
t(c) AS (SELECT 1), | ||
t2 AS ( | ||
SELECT ( | ||
SELECT max(c) FROM ( | ||
WITH t(c) AS (SELECT 2) | ||
SELECT * FROM t | ||
) | ||
) | ||
) | ||
SELECT * FROM t2; | ||
|
||
-- CTE in CTE definition shadows outer 3 | ||
WITH | ||
t AS (SELECT 1), | ||
t2 AS ( | ||
WITH t AS (SELECT 2), | ||
t2 AS ( | ||
WITH t AS (SELECT 3) | ||
SELECT * FROM t | ||
) | ||
SELECT * FROM t2 | ||
) | ||
SELECT * FROM t2; | ||
|
||
-- CTE in subquery shadows outer | ||
WITH t(c) AS (SELECT 1) | ||
SELECT max(c) FROM ( | ||
WITH t(c) AS (SELECT 2) | ||
SELECT * FROM t | ||
); | ||
|
||
-- CTE in subquery shadows outer 2 | ||
WITH t(c) AS (SELECT 1) | ||
SELECT sum(c) FROM ( | ||
SELECT max(c) AS c FROM ( | ||
WITH t(c) AS (SELECT 2) | ||
SELECT * FROM t | ||
) | ||
); | ||
|
||
-- CTE in subquery shadows outer 3 | ||
WITH t(c) AS (SELECT 1) | ||
SELECT sum(c) FROM ( | ||
WITH t(c) AS (SELECT 2) | ||
SELECT max(c) AS c FROM ( | ||
WITH t(c) AS (SELECT 3) | ||
SELECT * FROM t | ||
) | ||
); | ||
|
||
-- CTE in subquery expression shadows outer | ||
WITH t AS (SELECT 1) | ||
SELECT ( | ||
WITH t AS (SELECT 2) | ||
SELECT * FROM t | ||
); | ||
|
||
-- CTE in subquery expression shadows outer 2 | ||
WITH t AS (SELECT 1) | ||
SELECT ( | ||
SELECT ( | ||
WITH t AS (SELECT 2) | ||
SELECT * FROM t | ||
) | ||
); | ||
|
||
-- CTE in subquery expression shadows outer 3 | ||
WITH t AS (SELECT 1) | ||
SELECT ( | ||
WITH t AS (SELECT 2) | ||
SELECT ( | ||
WITH t AS (SELECT 3) | ||
SELECT * FROM t | ||
) | ||
); | ||
|
||
-- Clean up | ||
DROP VIEW IF EXISTS t; | ||
DROP VIEW IF EXISTS t2; | ||
--SET spark.sql.legacy.ctePrecedencePolicy = legacy | ||
--IMPORT cte-nested.sql |
105 changes: 105 additions & 0 deletions
105
sql/core/src/test/resources/sql-tests/inputs/cte-nested.sql
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,105 @@ | ||
-- CTE in CTE definition | ||
WITH t as ( | ||
WITH t2 AS (SELECT 1) | ||
SELECT * FROM t2 | ||
) | ||
SELECT * FROM t; | ||
|
||
-- CTE in subquery | ||
SELECT max(c) FROM ( | ||
WITH t(c) AS (SELECT 1) | ||
SELECT * FROM t | ||
); | ||
|
||
-- CTE in subquery expression | ||
SELECT ( | ||
WITH t AS (SELECT 1) | ||
SELECT * FROM t | ||
); | ||
|
||
-- CTE in CTE definition shadows outer | ||
WITH | ||
t AS (SELECT 1), | ||
t2 AS ( | ||
WITH t AS (SELECT 2) | ||
SELECT * FROM t | ||
) | ||
SELECT * FROM t2; | ||
|
||
-- CTE in CTE definition shadows outer 2 | ||
WITH | ||
t(c) AS (SELECT 1), | ||
t2 AS ( | ||
SELECT ( | ||
SELECT max(c) FROM ( | ||
WITH t(c) AS (SELECT 2) | ||
SELECT * FROM t | ||
) | ||
) | ||
) | ||
SELECT * FROM t2; | ||
|
||
-- CTE in CTE definition shadows outer 3 | ||
WITH | ||
t AS (SELECT 1), | ||
t2 AS ( | ||
WITH t AS (SELECT 2), | ||
t2 AS ( | ||
WITH t AS (SELECT 3) | ||
SELECT * FROM t | ||
) | ||
SELECT * FROM t2 | ||
) | ||
SELECT * FROM t2; | ||
|
||
-- CTE in subquery shadows outer | ||
WITH t(c) AS (SELECT 1) | ||
SELECT max(c) FROM ( | ||
WITH t(c) AS (SELECT 2) | ||
SELECT * FROM t | ||
); | ||
|
||
-- CTE in subquery shadows outer 2 | ||
WITH t(c) AS (SELECT 1) | ||
SELECT sum(c) FROM ( | ||
SELECT max(c) AS c FROM ( | ||
WITH t(c) AS (SELECT 2) | ||
SELECT * FROM t | ||
) | ||
); | ||
|
||
-- CTE in subquery shadows outer 3 | ||
WITH t(c) AS (SELECT 1) | ||
SELECT sum(c) FROM ( | ||
WITH t(c) AS (SELECT 2) | ||
SELECT max(c) AS c FROM ( | ||
WITH t(c) AS (SELECT 3) | ||
SELECT * FROM t | ||
) | ||
); | ||
|
||
-- CTE in subquery expression shadows outer | ||
WITH t AS (SELECT 1) | ||
SELECT ( | ||
WITH t AS (SELECT 2) | ||
SELECT * FROM t | ||
); | ||
|
||
-- CTE in subquery expression shadows outer 2 | ||
WITH t AS (SELECT 1) | ||
SELECT ( | ||
SELECT ( | ||
WITH t AS (SELECT 2) | ||
SELECT * FROM t | ||
) | ||
); | ||
|
||
-- CTE in subquery expression shadows outer 3 | ||
WITH t AS (SELECT 1) | ||
SELECT ( | ||
WITH t AS (SELECT 2) | ||
SELECT ( | ||
WITH t AS (SELECT 3) | ||
SELECT * FROM t | ||
) | ||
); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
--SET spark.sql.legacy.ctePrecedencePolicy = corrected | ||
--IMPORT cte.sql | ||
--IMPORT cte-nested.sql |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.