Notably, this will switch conditional() in MySQL from using IF() to
using CASE, like all other DBMSes. Documentation suggests this works
back to 4.0. If it's a problem, it's a matter of a few lines to
override it in DatabaseMysql.php.
Also, some extra explanatory comments have been added to a number of
methods in DatabaseBase.
I moved a number of methods and marked them abstract in DatabaseBase,
namely those that met the following criteria:
1) Used some mysql_* function, so would obviously fail on any other DB.
2) Were already implemented by all five non-MySQL subclasses.
It would be reasonable to revisit these and make the less essential ones
return a dummy value instead of being abstract. And document them. And
move more methods that are MySQL-specific. But one thing at a time.
I also split the classes Database, DatabaseMysql, and MySQLMasterPos to
DatabaseMysql.php.
This should theoretically have no practical changes, but it's a bunch of
changed code, so it will possibly break something by accident.
Followup to r51795.