mirror of
https://github.com/sqlite/sqlite.git
synced 2025-07-30 19:03:16 +03:00
Add support for LIMIT and OFFSET in a recursive query.
FossilOrigin-Name: 1945484e6b9769c1943f750f5b09860417fb190a
This commit is contained in:
@ -190,11 +190,22 @@ do_execsql_test 5.2.2 {
|
||||
)
|
||||
SELECT * FROM ancest;
|
||||
} {0 0 1 10 2 20 3 30 4 40 4 40 5 50 6 60 7 70 7 70 8 80 8 80 8 80 8 80 9 90 9 90 9 90 9 90}
|
||||
do_execsql_test 5.2.3 {
|
||||
WITH RECURSIVE
|
||||
ancest(id, mtime) AS
|
||||
(VALUES(0, 0)
|
||||
UNION ALL
|
||||
SELECT edge.xto, edge.seq FROM edge, ancest
|
||||
WHERE edge.xfrom=ancest.id
|
||||
ORDER BY 2 LIMIT 4 OFFSET 2
|
||||
)
|
||||
SELECT * FROM ancest;
|
||||
} {2 20 3 30 4 40 4 40}
|
||||
|
||||
do_catchsql_test 5.3 {
|
||||
WITH i(x) AS ( VALUES(1) UNION ALL SELECT x+1 FROM i LIMIT 10 )
|
||||
SELECT x FROM i LIMIT 10;
|
||||
} {1 {LIMIT in a recursive query}}
|
||||
WITH i(x) AS ( VALUES(1) UNION ALL SELECT x+1 FROM i LIMIT 5)
|
||||
SELECT x FROM i;
|
||||
} {0 {1 2 3 4 5}}
|
||||
|
||||
do_execsql_test 5.4 {
|
||||
WITH i(x) AS ( VALUES(1) UNION ALL SELECT (x+1)%10 FROM i)
|
||||
|
Reference in New Issue
Block a user