MediaWiki  1.29.1
IDatabase.php
Go to the documentation of this file.
1 <?php
26 namespace Wikimedia\Rdbms;
27 
28 use Wikimedia\ScopedCallback;
29 use Exception;
30 use RuntimeException;
31 use UnexpectedValueException;
32 use stdClass;
33 
40 interface IDatabase {
42  const TRIGGER_IDLE = 1;
44  const TRIGGER_COMMIT = 2;
46  const TRIGGER_ROLLBACK = 3;
47 
49  const TRANSACTION_EXPLICIT = '';
51  const TRANSACTION_INTERNAL = 'implicit';
52 
54  const FLUSHING_ALL_PEERS = 'flush';
56  const FLUSHING_INTERNAL = 'flush';
57 
59  const REMEMBER_NOTHING = '';
61  const REMEMBER_PRIOR = 'remember';
63  const RESTORE_PRIOR = 'prior';
65  const RESTORE_INITIAL = 'initial';
66 
68  const ESTIMATE_TOTAL = 'total';
70  const ESTIMATE_DB_APPLY = 'apply';
71 
73  const LIST_COMMA = 0;
75  const LIST_AND = 1;
77  const LIST_SET = 2;
79  const LIST_NAMES = 3;
81  const LIST_OR = 4;
82 
84  const DBO_DEBUG = 1;
86  const DBO_NOBUFFER = 2;
88  const DBO_IGNORE = 4;
90  const DBO_TRX = 8;
92  const DBO_DEFAULT = 16;
94  const DBO_PERSISTENT = 32;
96  const DBO_SYSDBA = 64;
98  const DBO_DDLMODE = 128;
100  const DBO_SSL = 256;
102  const DBO_COMPRESS = 512;
103 
111  public function getServerInfo();
112 
133  public function bufferResults( $buffer = null );
134 
143  public function trxLevel();
144 
154  public function trxTimestamp();
155 
160  public function explicitTrxActive();
161 
167  public function tablePrefix( $prefix = null );
168 
174  public function dbSchema( $schema = null );
175 
185  public function getLBInfo( $name = null );
186 
195  public function setLBInfo( $name, $value = null );
196 
203  public function setLazyMasterHandle( IDatabase $conn );
204 
210  public function implicitGroupby();
211 
218  public function implicitOrderby();
219 
224  public function lastQuery();
225 
232  public function doneWrites();
233 
241  public function lastDoneWrites();
242 
247  public function writesPending();
248 
256  public function writesOrCallbacksPending();
257 
267  public function pendingWriteQueryDuration( $type = self::ESTIMATE_TOTAL );
268 
275  public function pendingWriteCallers();
276 
281  public function isOpen();
282 
295  public function setFlag( $flag, $remember = self::REMEMBER_NOTHING );
296 
309  public function clearFlag( $flag, $remember = self::REMEMBER_NOTHING );
310 
317  public function restoreFlags( $state = self::RESTORE_PRIOR );
318 
329  public function getFlag( $flag );
330 
334  public function getDomainID();
335 
341  public function getWikiID();
342 
348  public function getType();
349 
360  public function open( $server, $user, $password, $dbName );
361 
372  public function fetchObject( $res );
373 
383  public function fetchRow( $res );
384 
391  public function numRows( $res );
392 
400  public function numFields( $res );
401 
410  public function fieldName( $res, $n );
411 
424  public function insertId();
425 
433  public function dataSeek( $res, $row );
434 
441  public function lastErrno();
442 
449  public function lastError();
450 
460  public function fieldInfo( $table, $field );
461 
468  public function affectedRows();
469 
478  public function getSoftwareLink();
479 
486  public function getServerVersion();
487 
495  public function close();
496 
501  public function reportConnectionError( $error = 'Unknown error' );
502 
525  public function query( $sql, $fname = __METHOD__, $tempIgnore = false );
526 
538  public function reportQueryError( $error, $errno, $sql, $fname, $tempIgnore = false );
539 
547  public function freeResult( $res );
548 
566  public function selectField(
567  $table, $var, $cond = '', $fname = __METHOD__, $options = []
568  );
569 
588  public function selectFieldValues(
589  $table, $var, $cond = '', $fname = __METHOD__, $options = []
590  );
591 
741  public function select(
742  $table, $vars, $conds = '', $fname = __METHOD__,
743  $options = [], $join_conds = []
744  );
745 
762  public function selectSQLText(
763  $table, $vars, $conds = '', $fname = __METHOD__,
764  $options = [], $join_conds = []
765  );
766 
781  public function selectRow( $table, $vars, $conds, $fname = __METHOD__,
782  $options = [], $join_conds = []
783  );
784 
805  public function estimateRowCount(
806  $table, $vars = '*', $conds = '', $fname = __METHOD__, $options = []
807  );
808 
826  public function selectRowCount(
827  $tables, $vars = '*', $conds = '', $fname = __METHOD__, $options = [], $join_conds = []
828  );
829 
838  public function fieldExists( $table, $field, $fname = __METHOD__ );
839 
850  public function indexExists( $table, $index, $fname = __METHOD__ );
851 
859  public function tableExists( $table, $fname = __METHOD__ );
860 
869  public function indexUnique( $table, $index );
870 
904  public function insert( $table, $a, $fname = __METHOD__, $options = [] );
905 
926  public function update( $table, $values, $conds, $fname = __METHOD__, $options = [] );
927 
953  public function makeList( $a, $mode = self::LIST_COMMA );
954 
965  public function makeWhereFrom2d( $data, $baseKey, $subKey );
966 
975  public function aggregateValue( $valuedata, $valuename = 'value' );
976 
981  public function bitNot( $field );
982 
988  public function bitAnd( $fieldLeft, $fieldRight );
989 
995  public function bitOr( $fieldLeft, $fieldRight );
996 
1003  public function buildConcat( $stringList );
1004 
1021  public function buildGroupConcatField(
1022  $delim, $table, $field, $conds = '', $join_conds = []
1023  );
1024 
1030  public function buildStringCast( $field );
1031 
1038  public function selectDB( $db );
1039 
1044  public function getDBname();
1045 
1050  public function getServer();
1051 
1058  public function addQuotes( $s );
1059 
1076  public function buildLike();
1077 
1083  public function anyChar();
1084 
1090  public function anyString();
1091 
1103  public function nextSequenceValue( $seqName );
1104 
1127  public function replace( $table, $uniqueIndexes, $rows, $fname = __METHOD__ );
1128 
1165  public function upsert(
1166  $table, array $rows, array $uniqueIndexes, array $set, $fname = __METHOD__
1167  );
1168 
1189  public function deleteJoin( $delTable, $joinTable, $delVar, $joinVar, $conds,
1190  $fname = __METHOD__
1191  );
1192 
1203  public function delete( $table, $conds, $fname = __METHOD__ );
1204 
1231  public function insertSelect( $destTable, $srcTable, $varMap, $conds,
1232  $fname = __METHOD__,
1233  $insertOptions = [], $selectOptions = []
1234  );
1235 
1241  public function unionSupportsOrderAndLimit();
1242 
1251  public function unionQueries( $sqls, $all );
1252 
1262  public function conditional( $cond, $trueVal, $falseVal );
1263 
1274  public function strreplace( $orig, $old, $new );
1275 
1281  public function getServerUptime();
1282 
1288  public function wasDeadlock();
1289 
1295  public function wasLockTimeout();
1296 
1303  public function wasErrorReissuable();
1304 
1310  public function wasReadOnlyError();
1311 
1321  public function masterPosWait( DBMasterPos $pos, $timeout );
1322 
1328  public function getReplicaPos();
1329 
1335  public function getMasterPos();
1336 
1341  public function serverIsReadOnly();
1342 
1359  public function onTransactionResolution( callable $callback, $fname = __METHOD__ );
1360 
1381  public function onTransactionIdle( callable $callback, $fname = __METHOD__ );
1382 
1398  public function onTransactionPreCommitOrIdle( callable $callback, $fname = __METHOD__ );
1399 
1415  public function setTransactionListener( $name, callable $callback = null );
1416 
1438  public function startAtomic( $fname = __METHOD__ );
1439 
1451  public function endAtomic( $fname = __METHOD__ );
1452 
1480  public function doAtomicSection( $fname, callable $callback );
1481 
1502  public function begin( $fname = __METHOD__, $mode = self::TRANSACTION_EXPLICIT );
1503 
1524  public function commit( $fname = __METHOD__, $flush = '' );
1525 
1544  public function rollback( $fname = __METHOD__, $flush = '' );
1545 
1558  public function flushSnapshot( $fname = __METHOD__ );
1559 
1568  public function listTables( $prefix = null, $fname = __METHOD__ );
1569 
1581  public function timestamp( $ts = 0 );
1582 
1596  public function timestampOrNull( $ts = null );
1597 
1604  public function ping( &$rtt = null );
1605 
1615  public function getLag();
1616 
1630  public function getSessionLagStatus();
1631 
1637  public function maxListLen();
1638 
1648  public function encodeBlob( $b );
1649 
1658  public function decodeBlob( $b );
1659 
1670  public function setSessionOptions( array $options );
1671 
1679  public function setSchemaVars( $vars );
1680 
1689  public function lockIsFree( $lockName, $method );
1690 
1701  public function lock( $lockName, $method, $timeout = 5 );
1702 
1715  public function unlock( $lockName, $method );
1716 
1738  public function getScopedLockAndFlush( $lockKey, $fname, $timeout );
1739 
1746  public function namedLocksEnqueue();
1747 
1755  public function getInfinity();
1756 
1763  public function encodeExpiry( $expiry );
1764 
1772  public function decodeExpiry( $expiry, $format = TS_MW );
1773 
1783  public function setBigSelects( $value = true );
1784 
1789  public function isReadOnly();
1790 
1804  public function setTableAliases( array $aliases );
1805 }
1806 
1807 class_alias( IDatabase::class, 'IDatabase' );
DBO_PERSISTENT
const DBO_PERSISTENT
Definition: defines.php:14
Wikimedia\Rdbms\IDatabase\flushSnapshot
flushSnapshot( $fname=__METHOD__)
Commit any transaction but error out if writes or callbacks are pending.
Wikimedia\Rdbms\IDatabase\query
query( $sql, $fname=__METHOD__, $tempIgnore=false)
Run an SQL query and return the result.
Wikimedia\Rdbms\IDatabase\doAtomicSection
doAtomicSection( $fname, callable $callback)
Run a callback to do an atomic set of updates for this database.
Wikimedia\Rdbms\IDatabase\isOpen
isOpen()
Is a connection to the database open?
Wikimedia\Rdbms\IDatabase\affectedRows
affectedRows()
Get the number of rows affected by the last write query.
Wikimedia\Rdbms\IDatabase\setBigSelects
setBigSelects( $value=true)
Allow or deny "big selects" for this session only.
Wikimedia\Rdbms\IDatabase\getServer
getServer()
Get the server hostname or IP address.
Wikimedia\Rdbms\IDatabase\getServerVersion
getServerVersion()
A string describing the current software version, like from mysql_get_server_info().
Wikimedia\Rdbms\IDatabase\maxListLen
maxListLen()
Return the maximum number of items allowed in a list, or 0 for unlimited.
$tables
this hook is for auditing only RecentChangesLinked and Watchlist RecentChangesLinked and Watchlist Do not use this to implement individual filters if they are compatible with the ChangesListFilter and ChangesListFilterGroup structure use sub classes of those in conjunction with the ChangesListSpecialPageStructuredFilters hook This hook can be used to implement filters that do not implement that or custom behavior that is not an individual filter e g Watchlist & $tables
Definition: hooks.txt:990
Wikimedia\Rdbms\IDatabase\getInfinity
getInfinity()
Find out when 'infinity' is.
Wikimedia\Rdbms\IDatabase\unionQueries
unionQueries( $sqls, $all)
Construct a UNION query This is used for providing overload point for other DB abstractions not compa...
Wikimedia\Rdbms\IDatabase\pendingWriteQueryDuration
pendingWriteQueryDuration( $type=self::ESTIMATE_TOTAL)
Get the time spend running write queries for this transaction.
Wikimedia\Rdbms\IDatabase\tablePrefix
tablePrefix( $prefix=null)
Get/set the table prefix.
Wikimedia\Rdbms\IDatabase\writesPending
writesPending()
Wikimedia\Rdbms\IDatabase\makeList
makeList( $a, $mode=self::LIST_COMMA)
Makes an encoded list of strings from an array.
Wikimedia\Rdbms\IDatabase\numRows
numRows( $res)
Get the number of rows in a result object.
Wikimedia\Rdbms\IDatabase\ping
ping(&$rtt=null)
Ping the server and try to reconnect if it there is no connection.
Wikimedia\Rdbms\IDatabase\numFields
numFields( $res)
Get the number of fields in a result object.
Wikimedia\Rdbms\IDatabase\getWikiID
getWikiID()
Alias for getDomainID()
Wikimedia\Rdbms\IDatabase\bitNot
bitNot( $field)
Wikimedia\Rdbms\IDatabase\getMasterPos
getMasterPos()
Get the position of this master.
Wikimedia\Rdbms\IDatabase\wasErrorReissuable
wasErrorReissuable()
Determines if the last query error was due to a dropped connection and should be dealt with by pingin...
Wikimedia\Rdbms\IDatabase\encodeExpiry
encodeExpiry( $expiry)
Encode an expiry time into the DBMS dependent format.
Wikimedia\Rdbms\IDatabase\lastError
lastError()
Get a description of the last error.
DBO_DEBUG
const DBO_DEBUG
Definition: defines.php:9
Wikimedia\Rdbms\IDatabase\replace
replace( $table, $uniqueIndexes, $rows, $fname=__METHOD__)
REPLACE query wrapper.
Wikimedia\Rdbms\IDatabase\endAtomic
endAtomic( $fname=__METHOD__)
Ends an atomic section of SQL statements.
use
as see the revision history and available at free of to any person obtaining a copy of this software and associated documentation to deal in the Software without including without limitation the rights to use
Definition: MIT-LICENSE.txt:10
Wikimedia\Rdbms\IDatabase\trxLevel
trxLevel()
Gets the current transaction level.
$user
please add to it if you re going to add events to the MediaWiki code where normally authentication against an external auth plugin would be creating a account $user
Definition: hooks.txt:246
Wikimedia\Rdbms\IDatabase\close
close()
Closes a database connection.
Wikimedia\Rdbms\IDatabase\implicitOrderby
implicitOrderby()
Returns true if this database does an implicit order by when the column has an index For example: SEL...
Wikimedia\Rdbms
Definition: ChronologyProtector.php:24
$fname
if(!defined( 'MEDIAWIKI')) $fname
This file is not a valid entry point, perform no further processing unless MEDIAWIKI is defined.
Definition: Setup.php:36
Wikimedia\Rdbms\IDatabase\getServerInfo
getServerInfo()
A string describing the current software version, and possibly other details in a user-friendly way.
Wikimedia\Rdbms\DBMasterPos
An object representing a master or replica DB position in a replicated setup.
Definition: DBMasterPos.php:10
Wikimedia\Rdbms\IDatabase\trxTimestamp
trxTimestamp()
Get the UNIX timestamp of the time that the transaction was established.
$s
$s
Definition: mergeMessageFileList.php:188
Wikimedia\Rdbms\IDatabase\doneWrites
doneWrites()
Returns true if the connection may have been used for write queries.
DBO_SSL
const DBO_SSL
Definition: defines.php:17
Wikimedia\Rdbms\IDatabase\reportConnectionError
reportConnectionError( $error='Unknown error')
$res
$res
Definition: database.txt:21
$name
Allows to change the fields on the form that will be generated $name
Definition: hooks.txt:304
DBO_IGNORE
const DBO_IGNORE
Definition: defines.php:11
Wikimedia\Rdbms\IDatabase\decodeBlob
decodeBlob( $b)
Some DBMSs return a special placeholder object representing blob fields in result objects.
Wikimedia\Rdbms\IDatabase\getSessionLagStatus
getSessionLagStatus()
Get the replica DB lag when the current transaction started or a general lag estimate if not transact...
Wikimedia\Rdbms\IDatabase\getLag
getLag()
Get replica DB lag.
$type
do that in ParserLimitReportFormat instead use this to modify the parameters of the image and a DIV can begin in one section and end in another Make sure your code can handle that case gracefully See the EditSectionClearerLink extension for an example zero but section is usually empty its values are the globals values before the output is cached my talk my contributions etc etc otherwise the built in rate limiting checks are if enabled allows for interception of redirect as a string mapping parameter names to values & $type
Definition: hooks.txt:2536
Wikimedia\Rdbms\IDatabase\isReadOnly
isReadOnly()
Wikimedia\Rdbms\IDatabase\reportQueryError
reportQueryError( $error, $errno, $sql, $fname, $tempIgnore=false)
Report a query error.
Wikimedia\Rdbms\IDatabase\insert
insert( $table, $a, $fname=__METHOD__, $options=[])
INSERT wrapper, inserts an array into a table.
Wikimedia\Rdbms\IDatabase\bufferResults
bufferResults( $buffer=null)
Turns buffering of SQL result sets on (true) or off (false).
DBO_TRX
const DBO_TRX
Definition: defines.php:12
Wikimedia\Rdbms\IDatabase\listTables
listTables( $prefix=null, $fname=__METHOD__)
List all tables on the database.
Wikimedia\Rdbms\IDatabase\dbSchema
dbSchema( $schema=null)
Get/set the db schema.
Wikimedia\Rdbms\IDatabase\tableExists
tableExists( $table, $fname=__METHOD__)
Query whether a given table exists.
php
injection txt This is an overview of how MediaWiki makes use of dependency injection The design described here grew from the discussion of RFC T384 The term dependency this means that anything an object needs to operate should be injected from the the object itself should only know narrow no concrete implementation of the logic it relies on The requirement to inject everything typically results in an architecture that based on two main types of and essentially stateless service objects that use other service objects to operate on the value objects As of the beginning MediaWiki is only starting to use the DI approach Much of the code still relies on global state or direct resulting in a highly cyclical dependency which acts as the top level factory for services in MediaWiki which can be used to gain access to default instances of various services MediaWikiServices however also allows new services to be defined and default services to be redefined Services are defined or redefined by providing a callback the instantiator that will return a new instance of the service When it will create an instance of MediaWikiServices and populate it with the services defined in the files listed by thereby bootstrapping the DI framework Per $wgServiceWiringFiles lists includes ServiceWiring php
Definition: injection.txt:35
LIST_AND
const LIST_AND
Definition: Defines.php:41
Wikimedia\Rdbms\IDatabase
Basic database interface for live and lazy-loaded relation database handles.
Definition: IDatabase.php:40
Wikimedia\Rdbms\IDatabase\fieldName
fieldName( $res, $n)
Get a field name in a result object.
Wikimedia\Rdbms\IDatabase\lastDoneWrites
lastDoneWrites()
Returns the last time the connection may have been used for write queries.
DBO_NOBUFFER
const DBO_NOBUFFER
Definition: defines.php:10
Wikimedia\Rdbms\IDatabase\commit
commit( $fname=__METHOD__, $flush='')
Commits a transaction previously started using begin().
Wikimedia\Rdbms\IDatabase\fetchObject
fetchObject( $res)
Fetch the next row from the given result object, in object form.
Wikimedia\Rdbms\IDatabase\getServerUptime
getServerUptime()
Determines how long the server has been up.
Wikimedia\Rdbms\IDatabase\lock
lock( $lockName, $method, $timeout=5)
Acquire a named lock.
Wikimedia\Rdbms\IDatabase\unionSupportsOrderAndLimit
unionSupportsOrderAndLimit()
Returns true if current database backend supports ORDER BY or LIMIT for separate subqueries within th...
Wikimedia\Rdbms\IDatabase\implicitGroupby
implicitGroupby()
Returns true if this database does an implicit sort when doing GROUP BY.
Wikimedia\Rdbms\IDatabase\getSoftwareLink
getSoftwareLink()
Returns a wikitext link to the DB's website, e.g., return "[https://www.mysql.com/ MySQL]"; Should at...
Wikimedia\Rdbms\IDatabase\timestamp
timestamp( $ts=0)
Convert a timestamp in one of the formats accepted by wfTimestamp() to the format used for inserting ...
LIST_OR
const LIST_OR
Definition: Defines.php:44
Wikimedia\Rdbms\IDatabase\freeResult
freeResult( $res)
Free a result object returned by query() or select().
Wikimedia\Rdbms\IDatabase\encodeBlob
encodeBlob( $b)
Some DBMSs have a special format for inserting into blob fields, they don't allow simple quoted strin...
Wikimedia\Rdbms\IDatabase\deleteJoin
deleteJoin( $delTable, $joinTable, $delVar, $joinVar, $conds, $fname=__METHOD__)
DELETE where the condition is a join.
Wikimedia\Rdbms\IDatabase\insertSelect
insertSelect( $destTable, $srcTable, $varMap, $conds, $fname=__METHOD__, $insertOptions=[], $selectOptions=[])
INSERT SELECT wrapper.
LIST_SET
const LIST_SET
Definition: Defines.php:42
Wikimedia\Rdbms\IDatabase\buildLike
buildLike()
LIKE statement wrapper, receives a variable-length argument list with parts of pattern to match conta...
Wikimedia\Rdbms\IDatabase\wasDeadlock
wasDeadlock()
Determines if the last failure was due to a deadlock.
Wikimedia\Rdbms\IDatabase\anyChar
anyChar()
Returns a token for buildLike() that denotes a '_' to be used in a LIKE query.
$vars
static configuration should be added through ResourceLoaderGetConfigVars instead & $vars
Definition: hooks.txt:2179
Wikimedia\Rdbms\IDatabase\open
open( $server, $user, $password, $dbName)
Open a connection to the database.
Wikimedia\Rdbms\IDatabase\decodeExpiry
decodeExpiry( $expiry, $format=TS_MW)
Decode an expiry time into a DBMS independent format.
Wikimedia\Rdbms\IDatabase\wasLockTimeout
wasLockTimeout()
Determines if the last failure was due to a lock timeout.
LIST_COMMA
const LIST_COMMA
Definition: Defines.php:40
Wikimedia\Rdbms\IDatabase\setTableAliases
setTableAliases(array $aliases)
Make certain table names use their own database, schema, and table prefix when passed into SQL querie...
Wikimedia\Rdbms\IDatabase\setLBInfo
setLBInfo( $name, $value=null)
Set the LB info array, or a member of it.
DBO_COMPRESS
const DBO_COMPRESS
Definition: defines.php:18
$value
$value
Definition: styleTest.css.php:45
Wikimedia\Rdbms\IDatabase\selectFieldValues
selectFieldValues( $table, $var, $cond='', $fname=__METHOD__, $options=[])
A SELECT wrapper which returns a list of single field values from result rows.
Wikimedia\Rdbms\IDatabase\unlock
unlock( $lockName, $method)
Release a lock.
Wikimedia\Rdbms\IDatabase\lastQuery
lastQuery()
Return the last query that went through IDatabase::query()
Wikimedia\Rdbms\IDatabase\selectRow
selectRow( $table, $vars, $conds, $fname=__METHOD__, $options=[], $join_conds=[])
Single row SELECT wrapper.
DBO_DDLMODE
const DBO_DDLMODE
Definition: defines.php:16
Wikimedia\Rdbms\IDatabase\getScopedLockAndFlush
getScopedLockAndFlush( $lockKey, $fname, $timeout)
Acquire a named lock, flush any transaction, and return an RAII style unlocker object.
Wikimedia\Rdbms\IDatabase\explicitTrxActive
explicitTrxActive()
Wikimedia\Rdbms\IDatabase\buildStringCast
buildStringCast( $field)
Wikimedia\Rdbms\IDatabase\getDomainID
getDomainID()
Wikimedia\Rdbms\IDatabase\buildConcat
buildConcat( $stringList)
Build a concatenation list to feed into a SQL query.
Wikimedia\Rdbms\IDatabase\setTransactionListener
setTransactionListener( $name, callable $callback=null)
Run a callback each time any transaction commits or rolls back.
Wikimedia\Rdbms\IDatabase\getDBname
getDBname()
Get the current DB name.
Wikimedia\Rdbms\IDatabase\selectRowCount
selectRowCount( $tables, $vars=' *', $conds='', $fname=__METHOD__, $options=[], $join_conds=[])
Get the number of rows in dataset.
Wikimedia\Rdbms\IDatabase\wasReadOnlyError
wasReadOnlyError()
Determines if the last failure was due to the database being read-only.
Wikimedia\Rdbms\IDatabase\strreplace
strreplace( $orig, $old, $new)
Returns a comand for str_replace function in SQL query.
Wikimedia\Rdbms\IDatabase\bitOr
bitOr( $fieldLeft, $fieldRight)
Wikimedia\Rdbms\IDatabase\rollback
rollback( $fname=__METHOD__, $flush='')
Rollback a transaction previously started using begin().
Wikimedia\Rdbms\IDatabase\pendingWriteCallers
pendingWriteCallers()
Get the list of method names that did write queries for this transaction.
Wikimedia\Rdbms\IDatabase\fetchRow
fetchRow( $res)
Fetch the next row from the given result object, in associative array form.
DBO_SYSDBA
const DBO_SYSDBA
Definition: defines.php:15
Wikimedia\Rdbms\IDatabase\anyString
anyString()
Returns a token for buildLike() that denotes a '' to be used in a LIKE query.
Wikimedia\Rdbms\IDatabase\fieldInfo
fieldInfo( $table, $field)
mysql_fetch_field() wrapper Returns false if the field doesn't exist
Wikimedia\Rdbms\IDatabase\upsert
upsert( $table, array $rows, array $uniqueIndexes, array $set, $fname=__METHOD__)
INSERT ON DUPLICATE KEY UPDATE wrapper, upserts an array into a table.
Wikimedia\Rdbms\IDatabase\update
update( $table, $values, $conds, $fname=__METHOD__, $options=[])
UPDATE wrapper.
Wikimedia\Rdbms\IDatabase\getReplicaPos
getReplicaPos()
Get the replication position of this replica DB.
Wikimedia\Rdbms\IDatabase\getFlag
getFlag( $flag)
Returns a boolean whether the flag $flag is set for this connection.
Wikimedia\Rdbms\IDatabase\masterPosWait
masterPosWait(DBMasterPos $pos, $timeout)
Wait for the replica DB to catch up to a given master position.
Wikimedia\Rdbms\IDatabase\onTransactionIdle
onTransactionIdle(callable $callback, $fname=__METHOD__)
Run a callback as soon as there is no transaction pending.
Wikimedia\Rdbms\IDatabase\bitAnd
bitAnd( $fieldLeft, $fieldRight)
Wikimedia\Rdbms\IDatabase\lockIsFree
lockIsFree( $lockName, $method)
Check to see if a named lock is available (non-blocking)
Wikimedia\Rdbms\IDatabase\selectDB
selectDB( $db)
Change the current database.
Wikimedia\Rdbms\IDatabase\selectField
selectField( $table, $var, $cond='', $fname=__METHOD__, $options=[])
A SELECT wrapper which returns a single field from a single result row.
Wikimedia\Rdbms\IDatabase\lastErrno
lastErrno()
Get the last error number.
Wikimedia\Rdbms\IDatabase\fieldExists
fieldExists( $table, $field, $fname=__METHOD__)
Determines whether a field exists in a table.
Wikimedia\Rdbms\IDatabase\aggregateValue
aggregateValue( $valuedata, $valuename='value')
Return aggregated value alias.
Wikimedia\Rdbms\IDatabase\selectSQLText
selectSQLText( $table, $vars, $conds='', $fname=__METHOD__, $options=[], $join_conds=[])
The equivalent of IDatabase::select() except that the constructed SQL is returned,...
Wikimedia\Rdbms\IDatabase\setSchemaVars
setSchemaVars( $vars)
Set variables to be used in sourceFile/sourceStream, in preference to the ones in $GLOBALS.
Wikimedia\Rdbms\IDatabase\addQuotes
addQuotes( $s)
Adds quotes and backslashes.
Wikimedia\Rdbms\IDatabase\onTransactionPreCommitOrIdle
onTransactionPreCommitOrIdle(callable $callback, $fname=__METHOD__)
Run a callback before the current transaction commits or now if there is none.
Wikimedia\Rdbms\IDatabase\makeWhereFrom2d
makeWhereFrom2d( $data, $baseKey, $subKey)
Build a partial where clause from a 2-d array such as used for LinkBatch.
Wikimedia\Rdbms\IDatabase\getType
getType()
Get the type of the DBMS, as it appears in $wgDBtype.
Wikimedia\Rdbms\IDatabase\select
select( $table, $vars, $conds='', $fname=__METHOD__, $options=[], $join_conds=[])
Execute a SELECT query constructed using the various parameters provided.
Wikimedia\Rdbms\IDatabase\getLBInfo
getLBInfo( $name=null)
Get properties passed down from the server info array of the load balancer.
Wikimedia\Rdbms\IDatabase\timestampOrNull
timestampOrNull( $ts=null)
Convert a timestamp in one of the formats accepted by wfTimestamp() to the format used for inserting ...
Wikimedia\Rdbms\IDatabase\buildGroupConcatField
buildGroupConcatField( $delim, $table, $field, $conds='', $join_conds=[])
Build a GROUP_CONCAT or equivalent statement for a query.
Wikimedia\Rdbms\IDatabase\serverIsReadOnly
serverIsReadOnly()
class
you have access to all of the normal MediaWiki so you can get a DB use the etc For full docs on the Maintenance class
Definition: maintenance.txt:52
Wikimedia\Rdbms\IDatabase\dataSeek
dataSeek( $res, $row)
Change the position of the cursor in a result object.
LIST_NAMES
const LIST_NAMES
Definition: Defines.php:43
Wikimedia\Rdbms\IDatabase\insertId
insertId()
Get the inserted value of an auto-increment row.
Wikimedia\Rdbms\IDatabase\setLazyMasterHandle
setLazyMasterHandle(IDatabase $conn)
Set a lazy-connecting DB handle to the master DB (for replication status purposes)
Wikimedia\Rdbms\IDatabase\onTransactionResolution
onTransactionResolution(callable $callback, $fname=__METHOD__)
Run a callback as soon as the current transaction commits or rolls back.
Wikimedia\Rdbms\IDatabase\setSessionOptions
setSessionOptions(array $options)
Override database's default behavior.
Wikimedia\Rdbms\IDatabase\conditional
conditional( $cond, $trueVal, $falseVal)
Returns an SQL expression for a simple conditional.
Wikimedia\Rdbms\IDatabase\indexUnique
indexUnique( $table, $index)
Determines if a given index is unique.
DBO_DEFAULT
const DBO_DEFAULT
Definition: defines.php:13
Wikimedia\Rdbms\IDatabase\setFlag
setFlag( $flag, $remember=self::REMEMBER_NOTHING)
Set a flag for this connection.
Wikimedia\Rdbms\IDatabase\nextSequenceValue
nextSequenceValue( $seqName)
Returns an appropriately quoted sequence value for inserting a new row.
Wikimedia\Rdbms\IDatabase\restoreFlags
restoreFlags( $state=self::RESTORE_PRIOR)
Restore the flags to their prior state before the last setFlag/clearFlag call.
$options
this hook is for auditing only RecentChangesLinked and Watchlist RecentChangesLinked and Watchlist Do not use this to implement individual filters if they are compatible with the ChangesListFilter and ChangesListFilterGroup structure use sub classes of those in conjunction with the ChangesListSpecialPageStructuredFilters hook This hook can be used to implement filters that do not implement that or custom behavior that is not an individual filter e g Watchlist and Watchlist you will want to construct new ChangesListBooleanFilter or ChangesListStringOptionsFilter objects When constructing you specify which group they belong to You can reuse existing or create your you must register them with $special registerFilterGroup removed from all revisions and log entries to which it was applied This gives extensions a chance to take it off their books as the deletion has already been partly carried out by this point or something similar the user will be unable to create the tag set and then return false from the hook function Ensure you consume the ChangeTagAfterDelete hook to carry out custom deletion actions as context called by AbstractContent::getParserOutput May be used to override the normal model specific rendering of page content as context as context $options
Definition: hooks.txt:1049
Wikimedia\Rdbms\IDatabase\estimateRowCount
estimateRowCount( $table, $vars=' *', $conds='', $fname=__METHOD__, $options=[])
Estimate the number of rows in dataset.
Wikimedia\Rdbms\IDatabase\begin
begin( $fname=__METHOD__, $mode=self::TRANSACTION_EXPLICIT)
Begin a transaction.
$buffer
$buffer
Definition: mwdoc-filter.php:48
Wikimedia\Rdbms\IDatabase\indexExists
indexExists( $table, $index, $fname=__METHOD__)
Determines whether an index exists Usually throws a DBQueryError on failure If errors are explicitly ...
array
the array() calling protocol came about after MediaWiki 1.4rc1.
Wikimedia\Rdbms\IDatabase\clearFlag
clearFlag( $flag, $remember=self::REMEMBER_NOTHING)
Clear a flag for this connection.
Wikimedia\Rdbms\IDatabase\startAtomic
startAtomic( $fname=__METHOD__)
Begin an atomic section of statements.
Wikimedia\Rdbms\IDatabase\namedLocksEnqueue
namedLocksEnqueue()
Check to see if a named lock used by lock() use blocking queues.
Wikimedia\Rdbms\IDatabase\writesOrCallbacksPending
writesOrCallbacksPending()
Returns true if there is a transaction open with possible write queries or transaction pre-commit/idl...