Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.
This repository was archived by the owner on Apr 26, 2024. It is now read-only.

Define SQLite compatibility policy #12983

Closed
@richvdh

Description

@richvdh

We don't appear to have a defined compatibility policy for SQLite. https://matrix-org.github.io/synapse/latest/deprecation_policy.html#deprecation-policy-for-platform-dependencies doesn't mention it.

I don't think we can apply the "upstream support life cycle" for SQLite, since AFAIK the upstream SQLite developers do not provide bug fixes for anything except the most recent minor version. (Currently, that is 3.38.5, so we would require SQLite 3.38.x, which is clearly impractical.)

Typically, your SQLite version is determined by your distribution. (The sqlite3 python module is part of the stdlib, which is provided by the distribution, and cannot be upgraded via a virtualenv. Normally the _sqlite3.so is dynamically linked against the distribution's libsqlite3.)

Hence, "which version of SQLite do we need to support" tends to be defined by "which distributions do we aim to support", which itself doesn't have a clear answer (normally: "anything that has a sufficiently modern python".)

Metadata

Metadata

Assignees

Labels

A-DatabaseDB stuff like queries, migrations, new/remove columns, indexes, unexpected entries in the dbA-SQLiteDatabase issues specific to SQLiteT-TaskRefactoring, removal, replacement, enabling or disabling functionality, other engineering tasks.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions