wiki.techinc.nl/includes/db
daniel 877c8afc3e Trigger warning for bad use of transactions.
Mediawiki currently does not support nested transactions, which means that
starting a transaction while another is in progress will silently commit
the previous transaction, causing lots of potential inconsistency.

This change introduces checks that will log a warning whenever begin() is
used while a transaction is already in progress, and whenever commit() or
rollback() are used without a transaction being in progress.

NOTE: this exposes several places in the code where transactions have inadvertedly
be nested, or unmatched calls to begin() resp commit() are used. With
$wgDevelopmentWarnings enabled or I36583fb0 merged, this may cause tests to fail.
The following changes fix the issues in question: I80faf2ed, Ia225251e, Iff394f97,
and I20d90fed.

Change-Id: I8c0426e12b78edbd758b1f087c35dabd64498624
2012-09-19 21:00:05 -07:00
..
CloneDatabase.php Added missing GPLv2 headers in some places. 2012-04-28 20:41:55 +02:00
Database.php Trigger warning for bad use of transactions. 2012-09-19 21:00:05 -07:00
DatabaseError.php Use wfMessage instead of deprecated wfMsg* 2012-08-18 14:11:05 +02:00
DatabaseIbm_db2.php Added post-commit callback support to DB classes. 2012-08-29 13:01:38 -07:00
DatabaseMssql.php Added post-commit callback support to DB classes. 2012-08-29 13:01:38 -07:00
DatabaseMysql.php (bug 39287) Fixed error checking in DatabaseMysql::fetchObject. 2012-09-04 11:41:58 -07:00
DatabaseOracle.php Added post-commit callback support to DB classes. 2012-08-29 13:01:38 -07:00
DatabasePostgres.php (bug 39635) PostgreSQL has no LOCK IN SHARE MODE 2012-08-27 18:58:54 +02:00
DatabaseSqlite.php Added post-commit callback support to DB classes. 2012-08-29 13:01:38 -07:00
DatabaseUtility.php Fix FakeResultWrapper::fetchRow, which (contrary to ResultWrapper::fetchRow) didn't always return an array 2012-07-03 10:35:19 -07:00
IORMRow.php some doc for the ORM system 2012-07-26 10:31:38 +02:00
IORMTable.php some doc for the ORM system 2012-07-26 10:31:38 +02:00
LBFactory.php (bug 32774) Added config options and flags for SSL and compression in DB. 2012-08-16 10:48:07 -04:00
LBFactory_Multi.php Added missing GPLv2 headers in includes/db. 2012-04-26 10:47:10 +02:00
LBFactory_Single.php Added missing GPLv2 headers in includes/db. 2012-04-26 10:47:10 +02:00
LoadBalancer.php Added missing GPLv2 headers in includes/db. 2012-04-26 10:47:10 +02:00
LoadMonitor.php Added missing GPLv2 headers in includes/db. 2012-04-26 10:47:10 +02:00
ORMIterator.php Remove adittional type hinting stuff because PHP will die if its there >_> 2012-06-20 18:13:14 +02:00
ORMResult.php some doc for the ORM system 2012-07-26 10:31:38 +02:00
ORMRow.php some doc for the ORM system 2012-07-26 10:31:38 +02:00
ORMTable.php Allow aliased field names with separated syntax 2012-08-15 15:16:09 +02:00