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

Created on 2020-05-23 16:40 by erlendaasland, last changed 2020-09-07 21:29 by pablogsal. This issue is now closed.

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 merged erlendaasland, 2020-06-16 09:10
Messages (5)
msg369729 - (view) Author: Erlend E. Aasland (erlendaasland) * (Python triager) 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 E. Aasland (erlendaasland) * (Python triager) 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 :)
msg376530 - (view) Author: Pablo Galindo Salgado (pablogsal) * (Python committer) Date: 2020-09-07 21:27
New changeset 207c321f13cea3fee7f378057864e8c6453f5adf by Erlend Egeberg Aasland in branch 'master':
bpo-40744: Drop support for SQLite pre 3.7.3 (GH-20909)
https://github.com/python/cpython/commit/207c321f13cea3fee7f378057864e8c6453f5adf
msg376531 - (view) Author: Pablo Galindo Salgado (pablogsal) * (Python committer) Date: 2020-09-07 21:27
Given the status of the 3.9 branch and given that this does not add anything new or fixes any specific bug, I would recommend to not backport this
msg376532 - (view) Author: Pablo Galindo Salgado (pablogsal) * (Python committer) Date: 2020-09-07 21:29
Feel free to re-open if i missed something :)
History
Date User Action Args
2020-09-07 21:29:13pablogsalsetversions: - Python 3.9
2020-09-07 21:29:10pablogsalsetstatus: open -> closed
resolution: fixed
messages: + msg376532

stage: patch review -> resolved
2020-09-07 21:27:57pablogsalsetmessages: + msg376531
2020-09-07 21:27:02pablogsalsetnosy: + pablogsal
messages: + msg376530
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