1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-07-30 19:03:16 +03:00

Improved comments on the new co-routine logic. Fix a C++-ism in the code.

Update test cases to accommodate the more aggressive use of co-routines.

FossilOrigin-Name: 9243e850ae656d16adc8f0e5c4dcf3dcf476312cee192c39c38685fc437ccbbd
This commit is contained in:
drh
2022-12-08 16:47:16 +00:00
parent 05cb9d881e
commit a60d61bf14
7 changed files with 53 additions and 48 deletions

View File

@ -481,7 +481,7 @@ do_execsql_test cast-9.0 {
CREATE VIEW v1(c0, c1) AS
SELECT CAST(0.0 AS NUMERIC), COUNT(*) OVER () FROM t0;
SELECT v1.c0 FROM v1, t0 WHERE v1.c0=0;
} {0}
} {0.0}
finish_test

View File

@ -94,7 +94,7 @@ do_eqp_test 1.7.1 {
SELECT * FROM t3 JOIN (SELECT 1)
} {
QUERY PLAN
|--MATERIALIZE (subquery-xxxxxx)
|--CO-ROUTINE (subquery-xxxxxx)
| `--SCAN CONSTANT ROW
|--SCAN (subquery-xxxxxx)
`--SCAN t3
@ -103,7 +103,7 @@ do_eqp_test 1.7.2 {
SELECT * FROM t3 JOIN (SELECT 1) AS v1
} {
QUERY PLAN
|--MATERIALIZE v1
|--CO-ROUTINE v1
| `--SCAN CONSTANT ROW
|--SCAN v1
`--SCAN t3
@ -112,7 +112,7 @@ do_eqp_test 1.7.3 {
SELECT * FROM t3 AS xx JOIN (SELECT 1) AS yy
} {
QUERY PLAN
|--MATERIALIZE yy
|--CO-ROUTINE yy
| `--SCAN CONSTANT ROW
|--SCAN yy
`--SCAN xx
@ -123,7 +123,7 @@ do_eqp_test 1.8 {
SELECT * FROM t3 JOIN (SELECT 1 UNION SELECT 2)
} {
QUERY PLAN
|--MATERIALIZE (subquery-xxxxxx)
|--CO-ROUTINE (subquery-xxxxxx)
| `--COMPOUND QUERY
| |--LEFT-MOST SUBQUERY
| | `--SCAN CONSTANT ROW
@ -136,7 +136,7 @@ do_eqp_test 1.9 {
SELECT * FROM t3 JOIN (SELECT 1 EXCEPT SELECT a FROM t3 LIMIT 17) AS abc
} {
QUERY PLAN
|--MATERIALIZE abc
|--CO-ROUTINE abc
| `--COMPOUND QUERY
| |--LEFT-MOST SUBQUERY
| | `--SCAN CONSTANT ROW
@ -149,7 +149,7 @@ do_eqp_test 1.10 {
SELECT * FROM t3 JOIN (SELECT 1 INTERSECT SELECT a FROM t3 LIMIT 17) AS abc
} {
QUERY PLAN
|--MATERIALIZE abc
|--CO-ROUTINE abc
| `--COMPOUND QUERY
| |--LEFT-MOST SUBQUERY
| | `--SCAN CONSTANT ROW
@ -163,7 +163,7 @@ do_eqp_test 1.11 {
SELECT * FROM t3 JOIN (SELECT 1 UNION ALL SELECT a FROM t3 LIMIT 17) abc
} {
QUERY PLAN
|--MATERIALIZE abc
|--CO-ROUTINE abc
| `--COMPOUND QUERY
| |--LEFT-MOST SUBQUERY
| | `--SCAN CONSTANT ROW
@ -295,7 +295,7 @@ det 3.2.2 {
ORDER BY x2.y LIMIT 5
} {
QUERY PLAN
|--MATERIALIZE x1
|--CO-ROUTINE x1
| |--SCAN t1
| `--USE TEMP B-TREE FOR ORDER BY
|--MATERIALIZE x2
@ -834,7 +834,7 @@ do_eqp_test 9.1 {
ORDER BY 1;
} {
QUERY PLAN
|--MATERIALIZE thread
|--CO-ROUTINE thread
| |--SCAN x USING INDEX forumthread
| |--USING ROWID SEARCH ON TABLE private FOR IN-OPERATOR
| |--CORRELATED SCALAR SUBQUERY xxxxxx

View File

@ -89,7 +89,7 @@ ifcapable analyze {
SELECT * FROM cnt, y1 WHERE i=a
} [string map {"\n " \n} {
QUERY PLAN
|--MATERIALIZE cnt
|--CO-ROUTINE cnt
| |--SETUP
| | `--SCAN CONSTANT ROW
| `--RECURSIVE STEP
@ -103,7 +103,7 @@ ifcapable analyze {
SELECT * FROM cnt, y1 WHERE i=a
} [string map {"\n " \n} {
QUERY PLAN
|--MATERIALIZE cnt
|--CO-ROUTINE cnt
| |--SETUP
| | `--SCAN CONSTANT ROW
| `--RECURSIVE STEP
@ -125,7 +125,7 @@ do_eqp_test 3.2.2 {
WHERE c.id=w2.pk AND c.id=w1.pk;
} {
QUERY PLAN
|--MATERIALIZE c
|--CO-ROUTINE c
| |--SETUP
| | |--SCAN CONSTANT ROW
| | `--SCALAR SUBQUERY xxxxxx

View File

@ -87,7 +87,7 @@ do_eqp_test 131 {
(SELECT x FROM c LIMIT 5) AS c3;
} {
QUERY PLAN
|--MATERIALIZE c1
|--CO-ROUTINE c1
| |--CO-ROUTINE c
| | `--SCAN 2 CONSTANT ROWS
| `--SCAN c
@ -123,7 +123,7 @@ do_eqp_test 141 {
(SELECT x FROM c LIMIT 7) AS c3;
} {
QUERY PLAN
|--MATERIALIZE c1
|--CO-ROUTINE c1
| |--MATERIALIZE c
| | `--SCAN 2 CONSTANT ROWS
| `--SCAN c
@ -151,7 +151,7 @@ do_eqp_test 151 {
(SELECT x FROM c LIMIT 7) AS c3;
} {
QUERY PLAN
|--MATERIALIZE c1
|--CO-ROUTINE c1
| |--MATERIALIZE c
| | `--SCAN 2 CONSTANT ROWS
| `--SCAN c
@ -228,7 +228,7 @@ do_eqp_test 211 {
SELECT y FROM t2 ORDER BY y;
} {
QUERY PLAN
|--MATERIALIZE c1
|--CO-ROUTINE c1
| |--CO-ROUTINE c
| | `--SCAN 3 CONSTANT ROWS
| `--SCAN c