classification
Title: Explicitly drop support for SQLite version < 3.7.3
Type: Stage: patch review
Components: Library (Lib) Versions: Python 3.10, Python 3.9
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: berker.peksag, erlendaasland, lukasz.langa
Priority: normal Keywords: patch

Created on 2020-05-23 16:40 by erlendaasland, last changed 2020-07-20 20:53 by erlendaasland.

Files
File name Uploaded Description Edit
0001-Drop-support-for-sqlite3-3.7.3.patch erlendaasland, 2020-05-23 16:40
Pull Requests
URL Status Linked Edit
PR 20330 closed erlendaasland, 2020-05-23 16:43
PR 20909 open erlendaasland, 2020-06-16 09:10
Messages (2)
msg369729 - (view) Author: Erlend Egeberg Aasland (erlendaasland) * Date: 2020-05-23 16:40
Currently, we use sqlite3_create_function_v2() without wrapping it in any #ifdefs, so in practise the sqlite3 module will not build against sqlite3 pre 3.7.3. Despite this, we still wrap parts of the code in #ifdefs for versions 3.6.x and older.

Added patch drops support for sqlite3 pre 3.7.3.
msg374025 - (view) Author: Erlend Egeberg Aasland (erlendaasland) * Date: 2020-07-20 20:53
Ɓukasz, pinging you, since you are the release manager of 3.9.

Without PR 20909, 3.9 will be released without explicitly requiring SQLite 3.7.3 (setup.py looks for SQLite >= 3.7.2), compiling python 3.9 against SQLite 3.7.2 will fail at build time because of commit b9a0376, and it will also be possible to compile with SQLite 3.7.3 but run with pre SQLite 3.7.3 libraries, which could end up with a core dump.

With PR 20909, we explicitly state, in the docs, that SQLite 3.7.3 is required, and we explicitly check the SQLite version at configure time (setup.py), compile time (#ifdef => #error), and run time (if sqlite3_libversion_number() < ...) to prevent CPython from being configured, build, or run against unsupported SQLite versions.

I might be overestimating the severity of this issue, but I thought you would be interested this, as the release manager of 3.9 :)
History
Date User Action Args
2020-07-20 20:53:02erlendaaslandsetnosy: + lukasz.langa
messages: + msg374025
2020-06-16 09:10:42erlendaaslandsetpull_requests: + pull_request20091
2020-05-29 16:53:15erlendaaslandsetversions: - Python 3.8
2020-05-28 19:29:49erlendaaslandsetnosy: + berker.peksag
2020-05-23 16:43:22erlendaaslandsetstage: patch review
pull_requests: + pull_request19598
2020-05-23 16:40:54erlendaaslandcreate