Opened 2 months ago

Closed 7 weeks ago

Last modified 12 days ago

#28584 closed Cleanup/optimization (fixed)

Remove workarounds for SQLite < 3.7.15

Reported by: Sergey Fedoseev Owned by: nobody
Component: Database layer (models, ORM) Version: master
Severity: Normal Keywords:
Cc: Triage Stage: Accepted
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

Supported versions are documented for all backends except SQLite.
Some code is related to 3.3.0 which is released on 2006-01-11.

Change History (11)

comment:1 Changed 2 months ago by Tim Graham

Component: UncategorizedDatabase layer (models, ORM)
Triage Stage: UnreviewedAccepted

In the past, I think a limiting factor to dropping old versions was the SQLite included with Windows and Python 2, although I've never really understood the relationship between Python, SQLite, pysqlite, etc. Compared to other databases, I've never had to "install sqlite" since it's included with Python, right? For that reason, I'm not sure if there's a need to document a minimum version, however, removing unneeded code for obsolete versions could probably be done.

comment:2 in reply to:  1 Changed 2 months ago by Sergey Fedoseev

Replying to Tim Graham:

I've never had to "install sqlite" since it's included with Python, right?

That's not quite correct. If you install on Linux with package manager SQLite is installed via dependencies, on Windows and Mac OS it's bundled in installer. But if you install from sources I guess you need to install SQLite by yourself. So I think we could at least drop support for versions older than one shipped with minimum required Python. SQLite 3.8.3.1 is shipped with Python 3.4.0.

comment:3 Changed 7 weeks ago by Tim Graham

Did you find a reference page that lists what SQLite version is shipped with each version of Python?

comment:4 in reply to:  3 Changed 7 weeks ago by Sergey Fedoseev

Replying to Tim Graham:

Did you find a reference page that lists what SQLite version is shipped with each version of Python?

Nope, but there are some mentions here.

comment:5 Changed 7 weeks ago by Tim Graham

Has patch: set
Summary: document supported SQLite versions/remove code for unsupported versionsRemove workarounds for SQLite < 3.8

PR

I added a guideline to wiki:SupportedDatabaseVersions about how to determine the minimum supported SQLite version. I'm not sure it's something that we need to document in the release notes and/or in Django's documentation as I don't remember any reports of "my SQLite version is too old", but if it becomes a problem, we can document something.

comment:6 Changed 7 weeks ago by Tim Graham

Summary: Remove workarounds for SQLite < 3.8Remove workarounds for SQLite < 3.7.15

comment:7 Changed 7 weeks ago by GitHub <noreply@…>

Resolution: fixed
Status: newclosed

In 27193aea:

Fixed #28584 -- Dropped support for SQLite < 3.7.15.

comment:8 Changed 7 weeks ago by Дилян Палаузов

As the sqlite-specific can_share_in_memory_db is now always True, all the checks whether can_share_in_memory_db is True shall be removed.

comment:9 Changed 7 weeks ago by Tim Graham <timograham@…>

In d0c761d:

Refs #28584 -- Removed unused DatabaseFeatures.can_share_in_memory_db.

comment:10 Changed 12 days ago by Дилян Палаузов

The dropped support for SQLite < 3.7.15 is not reflected in the release notes.

comment:11 Changed 12 days ago by Tim Graham

I didn't think it would affect anyone. Did you run into a problem?

Note: See TracTickets for help on using tickets.
Back to Top