|This page is outdated. Please see Manual:Database access on MediaWiki.org for more up to date information.|
Why database abstraction ?
- MediaWiki currently runs *only* on mysql - many folks have good reasons *not* to use mysql.
- We should either only use strict ISO-SQL or provide an easy-to-adopt database abstraction
Storage abstraction code
- All database access should be encapsulated by high-level functions.
- Wiki-Code should *NEVER* do any SQL queries by itself.
- Example: mediawiki_fetch_article($topic), etc.
- API can be used to get/post structured data.
Datebase setup and schemata
- The setup script should be extended to select the database backend
- Every database backend has got its own schema source
- See Proposed Database Schema Changes for ongoing schema discussion
Quality management and clear APIs are important here!
Outreach to other developer communities
It would be worthwhile to describe sandard bottleneck queries, like watchlist and allpages, which developers who use and optimize various databases could analyze and discuss. This could help identify, not only how to get the expected results in many db languages, but also what db-specific advantages there are in different SQL/stored-procedure implementations. +sj+ 17:48, 1 Aug 2004 (UTC)