Requests for comment/Removing bad database abstractions

From mediawiki.org
Request for comment (RFC)
Removing bad database abstractions
Component Database
Creation date
Author(s) ^demon
Document status declined
See Phabricator.

WIP for MSSQL

Your comments here.

Background[edit]

MediaWiki claims to support several backends. These include MySQL, Sqlite, Oracle, MSSQL and Postgres. Historically, we've only done well at 2 of them (MySQL and Sqlite).

Problem[edit]

We have thousands of lines of unmaintained code for database backends that are rarely used. They're all usually suffering from some level of bitrot...the biggest reason being that their schemas are not kept up to date with MySQL/Sqlite. This creates two problems

  1. It increases code maintenance burdens for developers (needless abstraction)
  2. It advertises features for end-users that we don't actually support

Proposal[edit]

We should remove database backends that lack an active maintainer and show little evidence of use. This allows us to focus on the databases we support properly and making the experience better for them.