/ Check-in [dd568c27]
Login
SQLite training in Houston TX on 2019-11-05 (details)
Part of the 2019 Tcl Conference

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Add the left join strength reduction optimization. Enhance the push-down optimization so that it works with many LEFT JOINs.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: dd568c27b1d7656388ea5b4132cc0265aedd7348d265d8e8c7412b00b28a31aa
User & Date: drh 2018-03-22 12:00:43
References
2019-02-05
13:55 New ticket [5948e09b] Incorrect result from LEFT JOIN. artifact: 5400ddb5 user: drh
2018-03-27
15:13
The push-down optimization was being too aggressive such that it sometimes generated incorrect results. Reinstate the restriction (4) (with qualifications) that was removed by check-ins [b5d3dd8cb0b1e4] and [dd568c27b1d765]. check-in: f08c1731 user: drh tags: trunk
2018-03-24
15:47
Yet another fault in the sqlite3ExprImpliesNotNull() routine, causing errors in the LEFT JOIN strength reduction optimization of check-in [dd568c27b1d76563]. check-in: e88cf3d4 user: drh tags: trunk
13:24
Bug fix in the LEFT JOIN strength reduction optimization of check-in [dd568c27b1d76563]. The sqlite3ExprImpliesNotNull() routine was mistakenly assuming that a CASE expression must always be NULL if contained any reference to a variable that was NULL. check-in: cf171abe user: drh tags: trunk
Context
2018-03-22
17:02
Fix a test script problem causing rbuvacuum.test to fail when run along with other tests. check-in: 901cb3b6 user: dan tags: trunk
12:00
Add the left join strength reduction optimization. Enhance the push-down optimization so that it works with many LEFT JOINs. check-in: dd568c27 user: drh tags: trunk
11:28
Add the --valid-sql option to the optfuzz test program. check-in: a8dfeec7 user: drh tags: trunk
2018-03-21
01:59
Relax LEFT-JOIN restrictions on the push-down optimization. Closed-Leaf check-in: b5d3dd8c user: drh tags: join-strength-reduction
Changes
Unified Diffs Side-by-Side Diffs Patch

Changes to src/expr.c.

Changes to src/select.c.

Changes to src/sqliteInt.h.

Changes to test/cursorhint2.test.

Changes to test/e_select.test.

Changes to test/join2.test.