Hi!
People have been wondering a lot about our database drivers recently. Two days ago I was asked specifically which ones we support. I think the subject needs clarifying, especially in light of the new installer and associated update refactoring. First and foremost, people need to remember that MediaWiki is written with MySQL in mind. It's the primary target, and can always be expected to work. That being said, I think that supporting other DBMSes is great and I'm glad we do.
Earlier today on IRC, I outlined what I consider to be the DBMSes we support and a rough criteria of why I think so. "Full support" means that the schema and DatabaseBase subclass should be fully functional. Patches should be written when schema changes occur so people can stay up to date. "Partial support" means that there is a functional DatabaseBase subclass and working schema. There may be some edge cases it doesn't support. Updaters probably aren't written. "Experimental" is anything less. Typically a half-implemented DatabaseBase subclass exists.
Given those criteria, I think that the following have "full support" in MediaWiki: * MySQL * SQLite * PostgreSQL
"Partial support": * Oracle (works, but lacks updates)
"Experimental" * MSSQL * DB2 * Informix?
When the new installer ships (hopefully) in 1.17, it will contain support for MySQL, SQLite and PostgreSQL. I'm in favor of adding Oracle in as well, as long as it's clearly labelled as still a work in progress.
As far as the "experimental" group go, I see no harm in leaving them in SVN. They are still mostly in development (some more active than others) and keeping the various subclasses around won't hurt anything. Once support gets a little more solid, then we can look to adding them to the installer (once they're done, it should just be a 1-line addition to Installer::$dbTypes, plus some extra i18n)
-Chad