1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-07-29 08:01:23 +03:00

When flattening UNION ALL subqueries into a join query, ensure that separate cursor numbers are used for each segment of the newly flattened query.

FossilOrigin-Name: c510377b0b052e400f2ee4f20220b61cdf74ee44b9bb9e6490787c88dd4c55aa
This commit is contained in:
dan
2020-12-18 16:13:39 +00:00
parent 9353beaff1
commit 964fa26e0c
5 changed files with 135 additions and 15 deletions

View File

@ -165,6 +165,37 @@ do_execsql_test 2.2.8 {
3 three 3 iii
3 THREE 3 iii
}
do_execsql_test 2.2.9a {
SELECT * FROM t1, t2 ORDER BY +k
} {
1 one 2 ii 1 ONE 2 ii 2 two 2 ii
2 TWO 2 ii 3 three 2 ii 3 THREE 2 ii
1 one 3 iii 1 ONE 3 iii 2 two 3 iii
2 TWO 3 iii 3 three 3 iii 3 THREE 3 iii
1 one 4 iv 1 ONE 4 iv 2 two 4 iv
2 TWO 4 iv 3 three 4 iv 3 THREE 4 iv
1 one 5 v 1 ONE 5 v 2 two 5 v
2 TWO 5 v 3 three 5 v 3 THREE 5 v
}
do_execsql_test 2.2.9b {
SELECT * FROM t1, t2 ORDER BY k
} {
1 one 2 ii 1 ONE 2 ii 2 two 2 ii
2 TWO 2 ii 3 three 2 ii 3 THREE 2 ii
1 one 3 iii 1 ONE 3 iii 2 two 3 iii
2 TWO 3 iii 3 three 3 iii 3 THREE 3 iii
1 one 4 iv 1 ONE 4 iv 2 two 4 iv
2 TWO 4 iv 3 three 4 iv 3 THREE 4 iv
1 one 5 v 1 ONE 5 v 2 two 5 v
2 TWO 5 v 3 three 5 v 3 THREE 5 v
}
finish_test

View File

@ -25,9 +25,9 @@ do_faultsim_test 1 -faults oom-t* -prep {
faultsim_restore_and_reopen
} -body {
execsql {
SELECT * FROM (
SELECT * FROM t1, (
SELECT x FROM t1 UNION ALL SELECT y FROM t1
)
), t3
}
} -test {
faultsim_test_result {0 {}}