Closed Bug 1248472 (SQLite3.11.0) Opened 8 years ago Closed 8 years ago

Upgrade to SQLite 3.11.0

Categories

(Toolkit :: Storage, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla47
Tracking Status
firefox47 --- fixed

People

(Reporter: ionnv, Assigned: RyanVM)

References

()

Details

Attachments

(1 file)

https://www.sqlite.org/news.html

https://www.sqlite.org/releaselog/3_11_0.html

SQLite version 3.11.0 is a regularly scheduled maintenance release.
Depends on: SQLite3.10.2
Status: UNCONFIRMED → NEW
Ever confirmed: true
Comment on attachment 8723924 [details] [diff] [review]
Upgrade SQLite to version 3.11.0

No issues running it locally and looks good on Try.
Attachment #8723924 - Flags: review?(mak77)
Comment on attachment 8723924 [details] [diff] [review]
Upgrade SQLite to version 3.11.0

Review of attachment 8723924 [details] [diff] [review]:
-----------------------------------------------------------------

thank you!
Attachment #8723924 - Flags: review?(mak77) → review+
https://hg.mozilla.org/mozilla-central/rev/02a2962dcbec
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla47
SQLite version 3.11.1 is out, but the only changes are in extensions that are not used by Firefox: FTS5 and spellfix1.  In my judgement, there is no need to upgrade.
Depends on: 1252937
That broke Thunderbird. Looks like TB is using the FTS3_TOKENIZER which no longer seems to work. See bug 1252937 comment #5.
Legacy fts3_tokenzer() behavior can be restored by adding the -DSQLITE_ENABLE_FTS3_TOKENIZER compile-time option.  A run-time option will also be available in version 3.12.0.
Where can we put that option? What is the build file for the internal sqlite? Could we put it into SQLITE_CFLAGS ? But that one is defined in old-configure which does not seem to be the right place.
NSS updates are done upstream whenever they see fit. We don't use their copy of sqlite for building Firefox, anyway.
(In reply to D. Richard Hipp from comment #9)
> Legacy fts3_tokenzer() behavior can be restored by adding the
> -DSQLITE_ENABLE_FTS3_TOKENIZER compile-time option.  A run-time option will
> also be available in version 3.12.0.

Global runtime or per-connection?  If we ignore linux distro builds with system SQLite, the compile-time option is probably easiest for mozStorage and Thunderbird.  If we factor in distro builds, the runtime option and requiring 3.12.0 is probably preferable but more work since it avoids configure checks and require the distro to build with the flag.

The most ideal thing might be if the tokenizer registration could be moved to be an explicit API call like sqlite3_vtab_config.  The Thunderbird registration is already in native code[1] because it has to get and bind a blob pointer, so it wouldn't be a major change. 

1: https://dxr.mozilla.org/comm-central/source/mailnews/extensions/fts3/src/nsFts3Tokenizer.cpp#33
(In reply to :aceman from comment #10)
> Where can we put that option? What is the build file for the internal
> sqlite? Could we put it into SQLITE_CFLAGS ? But that one is defined in
> old-configure which does not seem to be the right place.

This question is moot, :aceman already provided a patch on bug 1252937.
Blocks: SQLite3.12.1
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: