1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-08 14:02:16 +03:00

Avoid coding unindexed WHERE constraints if an equivalent transitive term has already been coded by an outer loop.

FossilOrigin-Name: 644bb77f8bb2c3499db7c280440c92fd2649a98ce714ae0d5d690eabfdc04326
This commit is contained in:
dan
2021-04-05 16:20:59 +00:00
parent d5e7fff2ca
commit 240e36c0e3
4 changed files with 29 additions and 9 deletions

View File

@@ -35,5 +35,24 @@ do_execsql_test 1.1 {
SELECT 1 FROM vA, vA, vA, vA, vA, vA, vA, vA, vA, vA
}
#-------------------------------------------------------------------------
do_execsql_test 2.1 {
CREATE TABLE y1(a INTEGER, b);
CREATE TABLE y2(c INTEGER, d);
CREATE TABLE x3_a(a INTEGER PRIMARY KEY, b TEXT);
CREATE TABLE x3_b(c INTEGER PRIMARY KEY, d TEXT);
}
do_execsql_test 2.2 {
SELECT * FROM y1 CROSS JOIN y2 WHERE y1.a=y2.c AND y2.c IN (
SELECT a FROM x3_a UNION ALL
SELECT c FROM x3_b ORDER BY 1
)
}
finish_test