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

Fix a problem causing the count(*) optimization to be misapplied in some cases where an aggregate sub-query uses a count() expression that is aggregated against the outer query.

FossilOrigin-Name: e30917278c0ec750b1756ddc5e32d65c55464531d6ef64d2e72a412dfe634f58
This commit is contained in:
dan
2021-11-15 14:11:23 +00:00
parent 5b001cc25d
commit 8745f8a3c3
4 changed files with 21 additions and 9 deletions

View File

@ -233,5 +233,16 @@ do_eqp_test count-7.4 {
`--SCAN t1
}
do_execsql_test count-8.0 {
CREATE TABLE t7(a INT,b TEXT,c BLOB,d REAL);
CREATE TABLE t8(a INT,b TEXT,c BLOB,d REAL);
CREATE INDEX t8a ON t8(a);
}
do_catchsql_test count-8.1 {
SELECT * FROM t8 WHERE (a, b) IN (
SELECT count(t8.b), count(*) FROM t7 AS ra0 ORDER BY count(*)
) AND t8.b=0;
} {1 {misuse of aggregate: count()}}
finish_test