Closed
Bug 1513320
Opened 7 years ago
Closed 7 years ago
SQLite in some Docker images doesn't support common table expressions
Categories
(Firefox Build System :: Task Configuration, task)
Firefox Build System
Task Configuration
Tracking
(firefox-esr60 fixed, firefox66 fixed)
RESOLVED
FIXED
People
(Reporter: gps, Assigned: gps)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
Mercurial's new SQLite backend uses common table expressions (CTEs) for a query (specifically WITH RECURSIVE).
SQLite doesn't support this feature until version 3.8.3. Apparently some of our Docker images are running an older SQLite version because tasks like https://taskcluster-artifacts.net/dN8YrSwkSbqiyXTssFYI_Q/0/public/logs/live_backing.log fail with an error related to WITH not being supported.
We'll need to upgrade to a modern SQLite before we can use the modern Mercurial feature.
| Assignee | ||
Comment 1•7 years ago
|
||
According to Python, sqlite3.sqlite_version reports 3.7.13.
We'll want to build a backported SQLite for the debian 7 based images. I'll get on that.
Assignee: nobody → gps
Status: NEW → ASSIGNED
| Assignee | ||
Comment 2•7 years ago
|
||
The SQLite in Debian 7 (3.7.13) lacks support for common table
expressions (the WITH keyword), which was introduced in SQLite
3.8.3. The Mercurial SQLite storage backend currently relies on
CTEs. Even if a future Mercurial doesn't require CTE, it is likely
that it will still use CTE if available for performance reasons.
So, it is in our best interest to give Mercurial access to a
modern SQLite. Plus, using a modern SQLite and avoiding potential
bugs in old versions seems prudent.
This commit introduces a SQLite package backport for Debian 7
so we can use the new SQLite feature. We had to minimally patch
the build to work with an older version of TCL that isn't using
multiarch.
I observed libsqlite3 being installed in various other packages.
So I added the package dependency. I doubt this matters too much
since SQLite should be dynamically linked. But I don't think it
will hurt. And for the case of Python, I wouldn't be surprised if
Python is detecting SQLite features at build time, so having the
modern SQLite installed then makes sense.
Comment 3•7 years ago
|
||
I've gone ahead and scheduled this to autoland
Pushed by jwood@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/ea0c6363ebc4
SQLite package backport for Debian 7; r=glandium
Comment 5•7 years ago
|
||
| bugherder | ||
Pushed by mozilla@jorgk.com:
https://hg.mozilla.org/comm-central/rev/0dcfb6c107ea
Port bug 1513320 - SQLite package backport for Debian 7. rs=bustage-fix
Comment 7•7 years ago
|
||
| bugherder uplift | ||
status-firefox-esr60:
--- → fixed
Comment 8•7 years ago
|
||
You need to log in
before you can comment on or make changes to this bug.
Description
•