This error seems to have been introduced by check-in [d95d0313c447f5]
which was first delivered in SQLite version 3.8.8.

drh added on 2015-02-24 18:13:02:

The problem goes back much further than version 3.8.8. There is the
potential to get an incorrect result any time the qualifying constraint
for a partial index is inside the ON clause of a LEFT JOIN. For example,
the following SQL should return a single row of "1, NULL" but instead
returns no rows for all prior versions of SQLite that support partial
indexes (SQLite 3.8.0 and later):