Opened 7 years ago

Closed 7 years ago

Last modified 6 years 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: dev
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 (14)

comment:1 by Tim Graham, 7 years ago

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.

in reply to:  1 comment:2 by Sergey Fedoseev, 7 years ago

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 by Tim Graham, 7 years ago

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

in reply to:  3 comment:4 by Sergey Fedoseev, 7 years ago

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 by Tim Graham, 7 years ago

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 by Tim Graham, 7 years ago

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

comment:7 by GitHub <noreply@…>, 7 years ago

Resolution: fixed
Status: newclosed

In 27193aea:

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

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

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 by Tim Graham <timograham@…>, 7 years ago

In d0c761d:

Refs #28584 -- Removed unused DatabaseFeatures.can_share_in_memory_db.

comment:10 by Дилян Палаузов, 7 years ago

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

comment:11 by Tim Graham, 7 years ago

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

comment:12 by Tim Graham, 6 years ago

As reported in #29624, RHEL 6 has SQLite 3.6.20 (released November 2009) so I've created a PR to document SQLite 3.7.15 (released December 2012) as the minimum required version.

comment:13 by Tim Graham <timograham@…>, 6 years ago

In 1593a838:

[2.1.x] Refs #28584 -- Documented removal of support for SQLite < 3.7.15.

Backport of 1160a975968f86953a6c4405b772eb86283c5a4a from master

comment:14 by Tim Graham <timograham@…>, 6 years ago

In 1160a975:

Refs #28584 -- Documented removal of support for SQLite < 3.7.15.

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