mirror of
https://github.com/sqlite/sqlite.git
synced 2025-08-01 06:27:03 +03:00
Fix an assertion failure triggered by a SELECT with a compound sub-query that
contains an incorrectly placed ORDER BY clause. This problem is just an assert() failure - non-DEBUG builds are not affected. Problem found by OSSFuzz. FossilOrigin-Name: 823779d31eb09cda5effe747d9adb35e600a52d4274226586437f674e7824d91
This commit is contained in:
@ -148,5 +148,54 @@ do_execsql_test 3.2 {
|
||||
);
|
||||
} {a 4 b 3 c 2 d 1}
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
|
||||
do_execsql_test 4.0 {
|
||||
CREATE TABLE t6(x);
|
||||
}
|
||||
|
||||
foreach {tn sql} {
|
||||
1 {
|
||||
SELECT 'abc' FROM (
|
||||
SELECT x FROM t6 ORDER BY 1
|
||||
UNION ALL
|
||||
SELECT x FROM t6
|
||||
)
|
||||
}
|
||||
2 {
|
||||
SELECT 'abc' FROM (
|
||||
SELECT x FROM t6
|
||||
UNION ALL
|
||||
SELECT x FROM t6 ORDER BY 1
|
||||
UNION ALL
|
||||
SELECT x FROM t6
|
||||
)
|
||||
}
|
||||
3 {
|
||||
SELECT 'abc' FROM (
|
||||
SELECT x FROM t6 ORDER BY 1
|
||||
UNION ALL
|
||||
SELECT x FROM t6 ORDER BY 1
|
||||
UNION ALL
|
||||
SELECT x FROM t6
|
||||
)
|
||||
}
|
||||
4 {
|
||||
SELECT 'abc' FROM (
|
||||
SELECT x FROM t6
|
||||
UNION ALL
|
||||
SELECT x FROM t6 ORDER BY 1
|
||||
UNION ALL
|
||||
SELECT x FROM t6 ORDER BY 1
|
||||
UNION ALL
|
||||
SELECT x FROM t6
|
||||
)
|
||||
}
|
||||
} {
|
||||
do_catchsql_test 4.$tn $sql [list {*}{
|
||||
1 {ORDER BY clause should come after UNION ALL not before}
|
||||
}]
|
||||
}
|
||||
|
||||
|
||||
finish_test
|
||||
|
Reference in New Issue
Block a user