Closed Bug 971583 (SQLite3.8.3.1) Opened 7 years ago Closed 7 years ago

Upgrade to SQLite


(Toolkit :: Storage, defect)

Not set





(Reporter: boaz.dodin, Assigned: RyanVM)





(1 file)

SQLite version fixes a bug present in versions 3.8.1, 3.8.2 and 3.8.3 that can cause queries to omit valid out rows. Upgrading from those versions is recommended.

The problem only comes up if SQLite is compiled with either the SQLITE_ENABLE_STAT3 or SQLITE_ENABLE_STAT4 compile-time options. In that case, if a query has a WHERE clause that contains expressions like this:

    WHERE (expr1 OR expr2 OR ... OR exprN) AND column IS NOT NULL 

Where all of expr1 through exprN are suitable for use by indexes, then during query planning SQLite might mistakenly converted the "column IS NOT NULL" term into "column>NULL". But the latter term is never true, and so the query would return no rows.

* Fix a bug (ticket 4c86b126f2) that causes rows to go missing on some queries with OR clauses and IS NOT NULL operators in the WHERE clause, when the SQLITE_ENABLE_STAT3 or SQLITE_ENABLE_STAT4 compile-time options are used.
* Fix a harmless compiler warning that was causing problems for VS2013.
Depends on: SQLite3.8.3
I don't think the bug is going to affect us, though, since we just upgraded to 3.8.3, there's no reason to not take this.
Ever confirmed: true
But it sounds like upgrading aurora (3.8.2) or beta (3.8.1) isn't worth it.
Assignee: nobody → ryanvm
Comment on attachment 8374979 [details] [diff] [review]
Upgrade to SQLite - Mozilla changes

Review of attachment 8374979 [details] [diff] [review]:

I don't think it's worth to uplift, while it's a recommended upgrade, the cases where the bug exist are quite rare (or nonexistent) for us.
Attachment #8374979 - Flags: review?(mak77) → review+
You need to log in before you can comment on or make changes to this bug.