Requests for comment/Removing bad database abstractions

WIP for MSSQL

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

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.