Semantic MediaWiki and related extensions
Public Member Functions | List of all members
SMW\MediaWiki\Connection\TransactionHandler Class Reference

Public Member Functions

 __construct ( $loadBalancerFactory)
 
 setTransactionProfiler ( $transactionProfiler)
 
 muteTransactionProfiler ( $mute)
 
 inSectionTransaction ( $fname=__METHOD__)
 
 hasActiveSectionTransaction ()
 
 markSectionTransaction ( $fname=__METHOD__)
 
 detachSectionTransaction ( $fname=__METHOD__)
 
 getEmptyTransactionTicket ( $fname=__METHOD__)
 
 commitAndWaitForReplication ( $fname, $ticket, array $opts=[])
 

Detailed Description

GNU GPL v2+

Since
3.1
Author
mwjames

Constructor & Destructor Documentation

◆ __construct()

SMW\MediaWiki\Connection\TransactionHandler::__construct (   $loadBalancerFactory)
Since
3.1
Parameters
ILBFactory | LBFactory$loadBalancerFactory

Member Function Documentation

◆ commitAndWaitForReplication()

SMW\MediaWiki\Connection\TransactionHandler::commitAndWaitForReplication (   $fname,
  $ticket,
array  $opts = [] 
)

Convenience method for safely running commitMasterChanges/waitForReplication where it will allow to commit and wait for when a TransactionTicket is available.

Note
Only supported with 1.28+
Since
3.1
Parameters
string$fnameCaller name (e.g. METHOD)
mixed$ticketResult of Database::getEmptyTransactionTicket
array$optsOptions to waitForReplication

◆ detachSectionTransaction()

SMW\MediaWiki\Connection\TransactionHandler::detachSectionTransaction (   $fname = __METHOD__)
Since
3.1
Parameters
string$fname

◆ getEmptyTransactionTicket()

SMW\MediaWiki\Connection\TransactionHandler::getEmptyTransactionTicket (   $fname = __METHOD__)
Note
Only supported with 1.28+
Since
3.1
Parameters
string$fnameCaller name (e.g. METHOD)
Returns
mixed A value to pass to commitAndWaitForReplication

◆ hasActiveSectionTransaction()

SMW\MediaWiki\Connection\TransactionHandler::hasActiveSectionTransaction ( )
Since
3.1
Returns
boolean

◆ inSectionTransaction()

SMW\MediaWiki\Connection\TransactionHandler::inSectionTransaction (   $fname = __METHOD__)
Since
3.1
Parameters
string$fname
Returns
boolean

◆ markSectionTransaction()

SMW\MediaWiki\Connection\TransactionHandler::markSectionTransaction (   $fname = __METHOD__)

Register a section as transaction

The intent is to make it possible to mark a section and disable any other atomic transaction request while being part of a section hereby allowing to bundle all requests and encapsulate them into one coherent atomic transaction without changing pending callers that may require individual atomic transactions when they are not part of a section request.

Only one active a section transaction is allowed at a time otherwise an Exception is thrown.

Since
3.1
Parameters
string$fname
Exceptions
RuntimeException

◆ muteTransactionProfiler()

SMW\MediaWiki\Connection\TransactionHandler::muteTransactionProfiler (   $mute)
Note
Only supported with 1.28+

Mute the transaction profiler to avoid reports on master writes or similar operations that violates the expectation set in wgTrxProfilerLimits hereby avoids unnecessary log spam.

See also
https://gerrit.wikimedia.org/r/c/mediawiki/core/+/462130/3/includes/objectcache/SqlBagOStuff.php#836
Since
3.1

◆ setTransactionProfiler()

SMW\MediaWiki\Connection\TransactionHandler::setTransactionProfiler (   $transactionProfiler)
Since
3.1
Parameters
TransactionProfiler$transactionProfiler

The documentation for this class was generated from the following file:

About | General disclaimer | Privacy policy