Manual:$wgDBtransactions
File:OOjs UI icon alert-destructive.svg | <translate> This feature was removed completely in version <tvar name=ver>1.20.0</tvar>.</translate> |
<translate> MySQL-specific</translate>: $wgDBtransactions | |
---|---|
Set to true if using InnoDB tables. |
|
<translate> Introduced in version:</translate> | pre 1.1.0 |
<translate> Removed in version:</translate> | 1.20.0 (Gerrit change 12113; git #d969a278) |
<translate> Allowed values:</translate> | (boolean) |
<translate> Default value:</translate> | false |
<translate> Other settings:</translate> <translate> Alphabetical</translate> | <translate> By function</translate> |
If you are using InnoDB tables, set this to true
to disable MediaWiki's query rollback mechanism.
Details
This variable is used when a page is created or edited.
Some table engines (like MyISAM) do not support transactions.
Transaction support means that when a change to the database (possibly built up of multiple queries) should be made, the table engine makes sure that it is either done completely or not at all, but not partly.
MyISAM does not support this feature, so that the situation can occur where a set of queries has been partly executed leaving the data in the DB in inconsistent state.
In this case, if $wgDBtransactions
is set to false
, MediaWiki rolls back an incomplete transaction to fix this problem.
Other table engines (like InnoDB) support transactions; that means that the table engine itself checks if a transaction finished correctly. If it did not, the engine does a rollback automatically, so that the data in the DB is kept consistent (without MediaWiki having to take additional steps).
For details see includes/WikiPage.php
, function doEdit
.