MediaWiki
1.28.0
|
Database abstraction object for MySQL. More...
Public Member Functions | |
__construct (array $params) | |
Additional $params include: More... | |
addIdentifierQuotes ($s) | |
MySQL uses backticks for identifier quoting instead of the sql standard "double quotes". More... | |
addQuotes ($s) | |
Adds quotes and backslashes. More... | |
dataSeek ($res, $row) | |
deleteJoin ($delTable, $joinTable, $delVar, $joinVar, $conds, $fname=__METHOD__) | |
DELETE where the condition is a join. More... | |
dropTable ($tableName, $fName=__METHOD__) | |
duplicateTableStructure ($oldName, $newName, $temporary=false, $fname=__METHOD__) | |
estimateRowCount ($table, $vars= '*', $conds= '', $fname=__METHOD__, $options=[]) | |
Estimate rows in dataset Returns estimated count, based on EXPLAIN output Takes same arguments as Database::select() More... | |
fetchObject ($res) | |
fetchRow ($res) | |
fieldInfo ($table, $field) | |
fieldName ($res, $n) | |
fieldType ($res, $n) | |
mysql_field_type() wrapper More... | |
freeResult ($res) | |
getApproximateLagStatus () | |
getLag () | |
Get replica DB lag. More... | |
getMasterPos () | |
Get the position of the master from SHOW MASTER STATUS. More... | |
getMysqlStatus ($which="%") | |
Get status information from SHOW STATUS in an associative array. More... | |
getReplicaPos () | |
Get the position of the master from SHOW SLAVE STATUS. More... | |
getServerUptime () | |
Determines how long the server has been up. More... | |
getServerVersion () | |
getSoftwareLink () | |
getType () | |
ignoreIndexClause ($index) | |
indexInfo ($table, $index, $fname=__METHOD__) | |
Get information about an index into an object Returns false if the index does not exist. More... | |
isQuotedIdentifier ($name) | |
isView ($name, $prefix=null) | |
Differentiates between a TABLE and a VIEW. More... | |
lastError () | |
listTables ($prefix=null, $fname=__METHOD__) | |
List all tables on the database. More... | |
listViews ($prefix=null, $fname=__METHOD__) | |
Lists VIEWs in the database. More... | |
lock ($lockName, $method, $timeout=5) | |
lockIsFree ($lockName, $method) | |
Check to see if a named lock is available. More... | |
lockTables ($read, $write, $method, $lowPriority=true) | |
lowPriorityOption () | |
masterPosWait (DBMasterPos $pos, $timeout) | |
Wait for the replica DB to catch up to a given master position. More... | |
namedLocksEnqueue () | |
Check to see if a named lock used by lock() use blocking queues. More... | |
numFields ($res) | |
numRows ($res) | |
open ($server, $user, $password, $dbName) | |
replace ($table, $uniqueIndexes, $rows, $fname=__METHOD__) | |
serverIsReadOnly () | |
setBigSelects ($value=true) | |
setSessionOptions (array $options) | |
streamStatementEnd (&$sql, &$newLine) | |
strencode ($s) | |
tableExists ($table, $fname=__METHOD__) | |
Query whether a given table exists. More... | |
unlock ($lockName, $method) | |
FROM MYSQL DOCS: http://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html#function_release-lock. More... | |
unlockTables ($method) | |
upsert ($table, array $rows, array $uniqueIndexes, array $set, $fname=__METHOD__) | |
useIndexClause ($index) | |
wasConnectionError ($errno) | |
wasDeadlock () | |
Determines if the last failure was due to a deadlock. More... | |
wasErrorReissuable () | |
Determines if the last query error was due to a dropped connection and should be dealt with by pinging the connection and reissuing the query. More... | |
wasLockTimeout () | |
Determines if the last failure was due to a lock timeout. More... | |
wasReadOnlyError () | |
Determines if the last failure was due to the database being read-only. More... | |
Public Member Functions inherited from Database | |
__clone () | |
Make sure that copies do not share the same client binding handle. More... | |
__construct (array $params) | |
Constructor and database handle and attempt to connect to the DB server. More... | |
__destruct () | |
Run a few simple sanity checks and close dangling connections. More... | |
__sleep () | |
Called by serialize. More... | |
__toString () | |
addIdentifierQuotes ($s) | |
Quotes an identifier using backticks or "double quotes" depending on the database type. More... | |
addQuotes ($s) | |
Adds quotes and backslashes. More... | |
aggregateValue ($valuedata, $valuename= 'value') | |
Return aggregated value alias. More... | |
anyChar () | |
Returns a token for buildLike() that denotes a '_' to be used in a LIKE query. More... | |
anyString () | |
Returns a token for buildLike() that denotes a '' to be used in a LIKE query. More... | |
begin ($fname=__METHOD__, $mode=self::TRANSACTION_EXPLICIT) | |
Begin a transaction. More... | |
bitAnd ($fieldLeft, $fieldRight) | |
bitNot ($field) | |
bitOr ($fieldLeft, $fieldRight) | |
bufferResults ($buffer=null) | |
Turns buffering of SQL result sets on (true) or off (false). More... | |
buildConcat ($stringList) | |
Build a concatenation list to feed into a SQL query. More... | |
buildGroupConcatField ($delim, $table, $field, $conds= '', $join_conds=[]) | |
Build a GROUP_CONCAT or equivalent statement for a query. More... | |
buildLike () | |
LIKE statement wrapper, receives a variable-length argument list with parts of pattern to match containing either string literals that will be escaped or tokens returned by anyChar() or anyString(). More... | |
buildStringCast ($field) | |
clearFlag ($flag, $remember=self::REMEMBER_NOTHING) | |
Clear a flag for this connection. More... | |
close () | |
Closes a database connection. More... | |
commit ($fname=__METHOD__, $flush= '') | |
Commits a transaction previously started using begin(). More... | |
conditional ($cond, $trueVal, $falseVal) | |
Returns an SQL expression for a simple conditional. More... | |
connectionErrorLogger ($errno, $errstr) | |
This method should not be used outside of Database classes. More... | |
dbSchema ($schema=null) | |
Get/set the db schema. More... | |
deadlockLoop () | |
Perform a deadlock-prone transaction. More... | |
decodeBlob ($b) | |
Some DBMSs return a special placeholder object representing blob fields in result objects. More... | |
decodeExpiry ($expiry, $format=TS_MW) | |
Decode an expiry time into a DBMS independent format. More... | |
delete ($table, $conds, $fname=__METHOD__) | |
DELETE query wrapper. More... | |
deleteJoin ($delTable, $joinTable, $delVar, $joinVar, $conds, $fname=__METHOD__) | |
DELETE where the condition is a join. More... | |
doAtomicSection ($fname, callable $callback) | |
Run a callback to do an atomic set of updates for this database. More... | |
doneWrites () | |
Returns true if the connection may have been used for write queries. More... | |
dropTable ($tableName, $fName=__METHOD__) | |
Delete a table. More... | |
duplicateTableStructure ($oldName, $newName, $temporary=false, $fname=__METHOD__) | |
Creates a new table with structure copied from existing table Note that unlike most database abstraction functions, this function does not automatically append database prefix, because it works at a lower abstraction level. More... | |
encodeBlob ($b) | |
Some DBMSs have a special format for inserting into blob fields, they don't allow simple quoted strings to be inserted. More... | |
encodeExpiry ($expiry) | |
Encode an expiry time into the DBMS dependent format. More... | |
endAtomic ($fname=__METHOD__) | |
Ends an atomic section of SQL statements. More... | |
estimateRowCount ($table, $vars= '*', $conds= '', $fname=__METHOD__, $options=[]) | |
Estimate the number of rows in dataset. More... | |
explicitTrxActive () | |
fieldExists ($table, $field, $fname=__METHOD__) | |
Determines whether a field exists in a table. More... | |
flushSnapshot ($fname=__METHOD__) | |
Commit any transaction but error out if writes or callbacks are pending. More... | |
freeResult ($res) | |
Free a result object returned by query() or select(). More... | |
getDBname () | |
Get the current DB name. More... | |
getDomainID () | |
getFlag ($flag) | |
Returns a boolean whether the flag $flag is set for this connection. More... | |
getInfinity () | |
Find out when 'infinity' is. More... | |
getLag () | |
Get replica DB lag. More... | |
getLBInfo ($name=null) | |
Get properties passed down from the server info array of the load balancer. More... | |
getMasterPos () | |
Get the position of this master. More... | |
getProperty ($name) | |
getReplicaPos () | |
Get the replication position of this replica DB. More... | |
getScopedLockAndFlush ($lockKey, $fname, $timeout) | |
Acquire a named lock, flush any transaction, and return an RAII style unlocker object. More... | |
getSearchEngine () | |
getServer () | |
Get the server hostname or IP address. More... | |
getServerInfo () | |
A string describing the current software version, and possibly other details in a user-friendly way. More... | |
getServerUptime () | |
Determines how long the server has been up. More... | |
getSessionLagStatus () | |
Get the replica DB lag when the current transaction started or a general lag estimate if not transaction is active. More... | |
getWikiID () | |
Alias for getDomainID() More... | |
ignoreIndexClause ($index) | |
IGNORE INDEX clause. More... | |
implicitGroupby () | |
Returns true if this database does an implicit sort when doing GROUP BY. More... | |
implicitOrderby () | |
Returns true if this database does an implicit order by when the column has an index For example: SELECT page_title FROM page LIMIT 1. More... | |
indexExists ($table, $index, $fname=__METHOD__) | |
Determines whether an index exists Usually throws a DBQueryError on failure If errors are explicitly ignored, returns NULL on failure. More... | |
indexInfo ($table, $index, $fname=__METHOD__) | |
Get information about an index into an object. More... | |
indexUnique ($table, $index) | |
Determines if a given index is unique. More... | |
insert ($table, $a, $fname=__METHOD__, $options=[]) | |
INSERT wrapper, inserts an array into a table. More... | |
insertSelect ($destTable, $srcTable, $varMap, $conds, $fname=__METHOD__, $insertOptions=[], $selectOptions=[]) | |
INSERT SELECT wrapper. More... | |
isOpen () | |
Is a connection to the database open? More... | |
isQuotedIdentifier ($name) | |
Returns if the given identifier looks quoted or not according to the database convention for quoting identifiers . More... | |
isReadOnly () | |
lastDoneWrites () | |
Returns the last time the connection may have been used for write queries. More... | |
lastQuery () | |
Return the last query that went through IDatabase::query() More... | |
limitResult ($sql, $limit, $offset=false) | |
Construct a LIMIT query with optional offset. More... | |
listTables ($prefix=null, $fname=__METHOD__) | |
List all tables on the database. More... | |
listViews ($prefix=null, $fname=__METHOD__) | |
Lists all the VIEWs in the database. More... | |
lock ($lockName, $method, $timeout=5) | |
Acquire a named lock. More... | |
lockIsFree ($lockName, $method) | |
Check to see if a named lock is available (non-blocking) More... | |
lockTables ($read, $write, $method, $lowPriority=true) | |
Lock specific tables. More... | |
makeList ($a, $mode=self::LIST_COMMA) | |
Makes an encoded list of strings from an array. More... | |
makeWhereFrom2d ($data, $baseKey, $subKey) | |
Build a partial where clause from a 2-d array such as used for LinkBatch. More... | |
masterPosWait (DBMasterPos $pos, $timeout) | |
Wait for the replica DB to catch up to a given master position. More... | |
maxListLen () | |
Return the maximum number of items allowed in a list, or 0 for unlimited. More... | |
namedLocksEnqueue () | |
Check to see if a named lock used by lock() use blocking queues. More... | |
nextSequenceValue ($seqName) | |
Returns an appropriately quoted sequence value for inserting a new row. More... | |
onTransactionIdle (callable $callback, $fname=__METHOD__) | |
Run a callback as soon as there is no transaction pending. More... | |
onTransactionPreCommitOrIdle (callable $callback, $fname=__METHOD__) | |
Run a callback before the current transaction commits or now if there is none. More... | |
onTransactionResolution (callable $callback, $fname=__METHOD__) | |
Run a callback as soon as the current transaction commits or rolls back. More... | |
pendingWriteCallers () | |
Get the list of method names that did write queries for this transaction. More... | |
pendingWriteQueryDuration ($type=self::ESTIMATE_TOTAL) | |
Get the time spend running write queries for this transaction. More... | |
ping (&$rtt=null) | |
Ping the server and try to reconnect if it there is no connection. More... | |
query ($sql, $fname=__METHOD__, $tempIgnore=false) | |
Run an SQL query and return the result. More... | |
replace ($table, $uniqueIndexes, $rows, $fname=__METHOD__) | |
REPLACE query wrapper. More... | |
reportConnectionError ($error= 'Unknown error') | |
reportQueryError ($error, $errno, $sql, $fname, $tempIgnore=false) | |
Report a query error. More... | |
restoreFlags ($state=self::RESTORE_PRIOR) | |
Restore the flags to their prior state before the last setFlag/clearFlag call. More... | |
rollback ($fname=__METHOD__, $flush= '') | |
Rollback a transaction previously started using begin(). More... | |
runOnTransactionIdleCallbacks ($trigger) | |
Actually run and consume any "on transaction idle/resolution" callbacks. More... | |
runOnTransactionPreCommitCallbacks () | |
Actually run and consume any "on transaction pre-commit" callbacks. More... | |
runTransactionListenerCallbacks ($trigger) | |
Actually run any "transaction listener" callbacks. More... | |
select ($table, $vars, $conds= '', $fname=__METHOD__, $options=[], $join_conds=[]) | |
Execute a SELECT query constructed using the various parameters provided. More... | |
selectDB ($db) | |
Change the current database. More... | |
selectField ($table, $var, $cond= '', $fname=__METHOD__, $options=[]) | |
A SELECT wrapper which returns a single field from a single result row. More... | |
selectFieldValues ($table, $var, $cond= '', $fname=__METHOD__, $options=[], $join_conds=[]) | |
selectRow ($table, $vars, $conds, $fname=__METHOD__, $options=[], $join_conds=[]) | |
Single row SELECT wrapper. More... | |
selectRowCount ($tables, $vars= '*', $conds= '', $fname=__METHOD__, $options=[], $join_conds=[]) | |
Get the number of rows in dataset. More... | |
selectSQLText ($table, $vars, $conds= '', $fname=__METHOD__, $options=[], $join_conds=[]) | |
The equivalent of IDatabase::select() except that the constructed SQL is returned, instead of being immediately executed. More... | |
serverIsReadOnly () | |
setBigSelects ($value=true) | |
Allow or deny "big selects" for this session only. More... | |
setFlag ($flag, $remember=self::REMEMBER_NOTHING) | |
Set a flag for this connection. More... | |
setLazyMasterHandle (IDatabase $conn) | |
Set a lazy-connecting DB handle to the master DB (for replication status purposes) More... | |
setLBInfo ($name, $value=null) | |
Set the LB info array, or a member of it. More... | |
setLogger (LoggerInterface $logger) | |
setSchemaVars ($vars) | |
Set variables to be used in sourceFile/sourceStream, in preference to the ones in $GLOBALS. More... | |
setSessionOptions (array $options) | |
Override database's default behavior. More... | |
setTableAliases (array $aliases) | |
Make certain table names use their own database, schema, and table prefix when passed into SQL queries pre-escaped and without a qualified database name. More... | |
setTransactionListener ($name, callable $callback=null) | |
Run a callback each time any transaction commits or rolls back. More... | |
setTrxEndCallbackSuppression ($suppress) | |
Whether to disable running of post-COMMIT/ROLLBACK callbacks. More... | |
sourceFile ($filename, callable $lineCallback=null, callable $resultCallback=null, $fname=false, callable $inputCallback=null) | |
Read and execute SQL commands from a file. More... | |
sourceStream ($fp, callable $lineCallback=null, callable $resultCallback=null, $fname=__METHOD__, callable $inputCallback=null) | |
Read and execute commands from an open file handle. More... | |
startAtomic ($fname=__METHOD__) | |
Begin an atomic section of statements. More... | |
streamStatementEnd (&$sql, &$newLine) | |
Called by sourceStream() to check if we've reached a statement end. More... | |
strencode ($s) | |
Wrapper for addslashes() More... | |
strreplace ($orig, $old, $new) | |
Returns a comand for str_replace function in SQL query. More... | |
tableExists ($table, $fname=__METHOD__) | |
Query whether a given table exists. More... | |
tableName ($name, $format= 'quoted') | |
Format a table name ready for use in constructing an SQL query. More... | |
tableNames () | |
Fetch a number of table names into an array This is handy when you need to construct SQL for joins. More... | |
tableNamesN () | |
Fetch a number of table names into an zero-indexed numerical array This is handy when you need to construct SQL for joins. More... | |
tablePrefix ($prefix=null) | |
Get/set the table prefix. More... | |
textFieldSize ($table, $field) | |
Returns the size of a text field, or -1 for "unlimited". More... | |
timestamp ($ts=0) | |
Convert a timestamp in one of the formats accepted by wfTimestamp() to the format used for inserting into timestamp fields in this DBMS. More... | |
timestampOrNull ($ts=null) | |
Convert a timestamp in one of the formats accepted by wfTimestamp() to the format used for inserting into timestamp fields in this DBMS. More... | |
trxLevel () | |
Gets the current transaction level. More... | |
trxTimestamp () | |
Get the UNIX timestamp of the time that the transaction was established. More... | |
unionQueries ($sqls, $all) | |
Construct a UNION query This is used for providing overload point for other DB abstractions not compatible with the MySQL syntax. More... | |
unionSupportsOrderAndLimit () | |
Returns true if current database backend supports ORDER BY or LIMIT for separate subqueries within the UNION construct. More... | |
unlock ($lockName, $method) | |
Release a lock. More... | |
unlockTables ($method) | |
Unlock specific tables. More... | |
update ($table, $values, $conds, $fname=__METHOD__, $options=[]) | |
UPDATE wrapper. More... | |
upsert ($table, array $rows, array $uniqueIndexes, array $set, $fname=__METHOD__) | |
INSERT ON DUPLICATE KEY UPDATE wrapper, upserts an array into a table. More... | |
useIndexClause ($index) | |
USE INDEX clause. More... | |
wasConnectionError ($errno) | |
Do not use this method outside of Database/DBError classes. More... | |
wasDeadlock () | |
Determines if the last failure was due to a deadlock. More... | |
wasErrorReissuable () | |
Determines if the last query error was due to a dropped connection and should be dealt with by pinging the connection and reissuing the query. More... | |
wasLockTimeout () | |
Determines if the last failure was due to a lock timeout. More... | |
wasReadOnlyError () | |
Determines if the last failure was due to the database being read-only. More... | |
writesOrCallbacksPending () | |
Returns true if there is a transaction open with possible write queries or transaction pre-commit/idle callbacks waiting on it to finish. More... | |
writesPending () | |
Public Member Functions inherited from IDatabase | |
affectedRows () | |
Get the number of rows affected by the last write query. More... | |
insertId () | |
Get the inserted value of an auto-increment row. More... | |
lastErrno () | |
Get the last error number. More... | |
selectFieldValues ($table, $var, $cond= '', $fname=__METHOD__, $options=[]) | |
A SELECT wrapper which returns a list of single field values from result rows. More... | |
Protected Member Functions | |
connectInitCharset () | |
Set the character set information right after connection. More... | |
getHeartbeatData (array $conds) | |
getLagDetectionMethod () | |
getLagFromPtHeartbeat () | |
getLagFromSlaveStatus () | |
getMasterServerInfo () | |
mysqlConnect ($realServer) | |
Open a connection to a MySQL server. More... | |
mysqlDataSeek ($res, $row) | |
Move internal result pointer. More... | |
mysqlError ($conn=null) | |
Returns the text of the error message from previous MySQL operation. More... | |
mysqlFetchArray ($res) | |
Fetch a result row as an associative and numeric array. More... | |
mysqlFetchField ($res, $n) | |
Get column information from a result. More... | |
mysqlFetchObject ($res) | |
Fetch a result row as an object. More... | |
mysqlFieldName ($res, $n) | |
Get the name of the specified field in a result. More... | |
mysqlFieldType ($res, $n) | |
Get the type of the specified field in a result. More... | |
mysqlFreeResult ($res) | |
Free result memory. More... | |
mysqlNumFields ($res) | |
Get number of fields in result. More... | |
mysqlNumRows ($res) | |
Get number of rows in result. More... | |
mysqlRealEscapeString ($s) | |
mysqlSetCharset ($charset) | |
Set the character set of the MySQL link. More... | |
Protected Member Functions inherited from Database | |
assertOpen () | |
Make sure isOpen() returns true as a sanity check. More... | |
closeConnection () | |
Closes underlying database connection. More... | |
doBegin ($fname) | |
Issues the BEGIN command to the database server. More... | |
doCommit ($fname) | |
Issues the COMMIT command to the database server. More... | |
doQuery ($sql) | |
The DBMS-dependent part of query() More... | |
doRollback ($fname) | |
Issues the ROLLBACK command to the database server. More... | |
escapeLikeInternal ($s) | |
fieldNamesWithAlias ($fields) | |
Gets an array of aliased field names. More... | |
fieldNameWithAlias ($name, $alias=false) | |
Get an aliased field name e.g. More... | |
getApproximateLagStatus () | |
Get a replica DB lag estimate for this server. More... | |
getBindingHandle () | |
Get the underlying binding handle, mConn. More... | |
getDefaultSchemaVars () | |
Get schema variables to use if none have been set via setSchemaVars(). More... | |
getLastPHPError () | |
getLazyMasterHandle () | |
getLogContext (array $extras=[]) | |
Create a log context to pass to PSR-3 logger functions. More... | |
getQueryVerb ($sql) | |
getReadOnlyReason () | |
getSchemaVars () | |
Get schema variables. More... | |
getTransactionLagStatus () | |
Get the replica DB lag when the current transaction started. More... | |
ignoreErrors ($ignoreErrors=null) | |
Turns on (false) or off (true) the automatic generation and sending of a "we're sorry, but there has been a database error" page on database errors. More... | |
indexName ($index) | |
Get the name of an index in a given table. More... | |
installErrorHandler () | |
isTransactableQuery ($sql) | |
Determine whether a SQL statement is sensitive to isolation level. More... | |
isWriteQuery ($sql) | |
Determine whether a query writes to the DB. More... | |
makeGroupByWithHaving ($options) | |
Returns an optional GROUP BY with an optional HAVING. More... | |
makeInsertOptions ($options) | |
Helper for Database::insert(). More... | |
makeOrderBy ($options) | |
Returns an optional ORDER BY. More... | |
makeSelectOptions ($options) | |
Returns an optional USE INDEX clause to go after the table, and a string to go at the end of the query. More... | |
makeUpdateOptions ($options) | |
Make UPDATE options for the Database::update function. More... | |
makeUpdateOptionsArray ($options) | |
Make UPDATE options array for Database::makeUpdateOptions. More... | |
nativeInsertSelect ($destTable, $srcTable, $varMap, $conds, $fname=__METHOD__, $insertOptions=[], $selectOptions=[]) | |
nativeReplace ($table, $rows, $fname) | |
REPLACE query wrapper for MySQL and SQLite, which have a native REPLACE statement. More... | |
pendingWriteAndCallbackCallers () | |
reconnect () | |
registerTempTableOperation ($sql) | |
replaceVars ($ins) | |
Database independent variable replacement. More... | |
requiresDatabaseUser () | |
restoreErrorHandler () | |
resultObject ($result) | |
Take the result from a query, and wrap it in a ResultWrapper if necessary. More... | |
tableNamesWithAlias ($tables) | |
Gets an array of aliased table names. More... | |
tableNamesWithIndexClauseOrJOIN ($tables, $use_index=[], $ignore_index=[], $join_conds=[]) | |
Get the aliased table name clause for a FROM clause which might have a JOIN and/or USE INDEX or IGNORE INDEX clause. More... | |
tableNameWithAlias ($name, $alias=false) | |
Get an aliased table name e.g. More... | |
Protected Attributes | |
string | $lagDetectionMethod |
Method to detect replica DB lag. More... | |
array | $lagDetectionOptions = [] |
Method to detect replica DB lag. More... | |
MysqlMasterPos | $lastKnownReplicaPos |
string | $sqlMode |
sql_mode value to send on connection More... | |
string null | $sslCAPath |
string null | $sslCertPath |
string[] null | $sslCiphers |
string null | $sslKeyPath |
bool | $useGTIDs = false |
bool Whether to use GTID methods More... | |
bool | $utf8Mode |
Use experimental UTF-8 transmission encoding. More... | |
Protected Attributes inherited from Database | |
string | $agent |
Agent name for query profiling. More... | |
bool | $cliMode |
Whether this PHP instance is for a CLI script. More... | |
LoggerInterface | $connLogger |
DatabaseDomain | $currentDomain |
string | $delimiter = ';' |
callback | $errorLogger |
Error logging callback. More... | |
string bool null | $htmlErrors |
Stashed value of html_errors INI setting. More... | |
float | $lastPing = 0.0 |
UNIX timestamp. More... | |
resource null | $mConn = null |
Database connection. More... | |
string | $mDBname |
bool null | $mDefaultBigSelects = null |
integer | $mFlags |
string | $mLastQuery = '' |
SQL query. More... | |
float bool | $mLastWriteTime = false |
UNIX timestamp of last write query. More... | |
array | $mLBInfo = [] |
bool | $mOpened = false |
string | $mPassword |
string bool | $mPHPError = false |
string | $mSchema = '' |
array bool | $mSchemaVars = false |
string | $mServer |
array | $mSessionTempTables = [] |
Map of (table name => 1) for TEMPORARY tables. More... | |
array | $mSessionVars = [] |
string | $mTablePrefix = '' |
array[] | $mTrxEndCallbacks = [] |
List of (callable, method name) More... | |
bool | $mTrxEndCallbacksSuppressed = false |
Whether to suppress triggering of transaction end callbacks. More... | |
array[] | $mTrxIdleCallbacks = [] |
List of (callable, method name) More... | |
int | $mTrxLevel = 0 |
Either 1 if a transaction is active or 0 otherwise. More... | |
array[] | $mTrxPreCommitCallbacks = [] |
List of (callable, method name) More... | |
callable[] | $mTrxRecurringCallbacks = [] |
Map of (name => callable) More... | |
string | $mTrxShortId = '' |
Either a short hexidecimal string if a transaction is active or "". More... | |
string | $mUser |
array null | $preparedArgs |
object string | $profiler |
Class name or object With profileIn/profileOut methods. More... | |
LoggerInterface | $queryLogger |
BagOStuff | $srvCache |
APC cache. More... | |
$tableAliases = [] | |
TransactionProfiler | $trxProfiler |
Private Member Functions | |
makeLockName ($lockName) | |
Private Attributes | |
string null | $serverVersion = null |
Additional Inherited Members | |
Static Public Member Functions inherited from Database | |
static | factory ($dbType, $p=[]) |
Construct a Database subclass instance given a database type and parameters. More... | |
static | getCacheSetOptions (IDatabase $db1) |
Merge the result of getSessionLagStatus() for several DBs using the most pessimistic values to estimate the lag of any data derived from them in combination. More... | |
Public Attributes inherited from Database | |
const | DEADLOCK_DELAY_MAX = 1500000 |
Maximum time to wait before retry. More... | |
const | DEADLOCK_DELAY_MIN = 500000 |
Minimum time to wait before retry, in microseconds. More... | |
const | DEADLOCK_TRIES = 4 |
Number of times to re-try an operation in case of deadlock. More... | |
const | PING_QUERY = 'SELECT 1 AS ping' |
const | PING_TTL = 1.0 |
How long before it is worth doing a dummy query to test the connection. More... | |
const | SLOW_WRITE_SEC = .500 |
const | SMALL_WRITE_ROWS = 100 |
const | TINY_WRITE_SEC = .010 |
Static Protected Member Functions inherited from Database | |
static | generalizeSQL ($sql) |
Removes most variables from an SQL query and replaces them with X or N for numbers. More... | |
Database abstraction object for MySQL.
Defines methods independent on used MySQL extension.
Definition at line 32 of file DatabaseMysqlBase.php.
DatabaseMysqlBase::__construct | ( | array | $params | ) |
Additional $params include:
array | $params |
Definition at line 74 of file DatabaseMysqlBase.php.
DatabaseMysqlBase::addIdentifierQuotes | ( | $s | ) |
MySQL uses backticks
for identifier quoting instead of the sql standard "double quotes".
string | $s |
Definition at line 627 of file DatabaseMysqlBase.php.
References $s.
Referenced by duplicateTableStructure(), and open().
DatabaseMysqlBase::addQuotes | ( | $s | ) |
Adds quotes and backslashes.
string | int | null | bool | Blob | $s |
Implements IDatabase.
Definition at line 611 of file DatabaseMysqlBase.php.
Referenced by lock(), lockIsFree(), masterPosWait(), open(), and unlock().
|
protected |
Set the character set information right after connection.
Definition at line 209 of file DatabaseMysqlBase.php.
References mysqlSetCharset().
Referenced by open().
DatabaseMysqlBase::dataSeek | ( | $res, | |
$row | |||
) |
ResultWrapper | resource | $res | |
int | $row |
Implements IDatabase.
Definition at line 431 of file DatabaseMysqlBase.php.
References $res, and mysqlDataSeek().
DatabaseMysqlBase::deleteJoin | ( | $delTable, | |
$joinTable, | |||
$delVar, | |||
$joinVar, | |||
$conds, | |||
$fname = __METHOD__ |
|||
) |
DELETE where the condition is a join.
MySql uses multi-table deletes.
string | $delTable | |
string | $joinTable | |
string | $delVar | |
string | $joinVar | |
array | string | $conds | |
bool | string | $fname |
DBUnexpectedError |
Implements IDatabase.
Definition at line 1111 of file DatabaseMysqlBase.php.
References $fname, LIST_AND, Database\makeList(), Database\query(), and Database\tableName().
DatabaseMysqlBase::dropTable | ( | $tableName, | |
$fName = __METHOD__ |
|||
) |
string | $tableName | |
string | $fName |
Implements IMaintainableDatabase.
Definition at line 1252 of file DatabaseMysqlBase.php.
References Database\query(), tableExists(), and Database\tableName().
DatabaseMysqlBase::duplicateTableStructure | ( | $oldName, | |
$newName, | |||
$temporary = false , |
|||
$fname = __METHOD__ |
|||
) |
string | $oldName | |
string | $newName | |
bool | $temporary | |
string | $fname |
Definition at line 1214 of file DatabaseMysqlBase.php.
References $fname, $query, addIdentifierQuotes(), and Database\query().
DatabaseMysqlBase::estimateRowCount | ( | $table, | |
$vars = '*' , |
|||
$conds = '' , |
|||
$fname = __METHOD__ , |
|||
$options = [] |
|||
) |
Estimate rows in dataset Returns estimated count, based on EXPLAIN output Takes same arguments as Database::select()
string | array | $table | |
string | array | $vars | |
string | array | $conds | |
string | $fname | |
string | array | $options |
Implements IDatabase.
Definition at line 501 of file DatabaseMysqlBase.php.
References $fname, $options, $res, $vars, as, numRows(), and Database\select().
DatabaseMysqlBase::fetchObject | ( | $res | ) |
ResultWrapper | resource | $res |
DBUnexpectedError |
Implements IDatabase.
Definition at line 265 of file DatabaseMysqlBase.php.
References $res, IDatabase\lastErrno(), lastError(), and mysqlFetchObject().
Referenced by getMasterPos(), getReplicaPos(), lock(), lockIsFree(), serverIsReadOnly(), and unlock().
DatabaseMysqlBase::fetchRow | ( | $res | ) |
ResultWrapper | resource | $res |
DBUnexpectedError |
Implements IDatabase.
Definition at line 301 of file DatabaseMysqlBase.php.
References $res, IDatabase\lastErrno(), lastError(), and mysqlFetchArray().
Referenced by masterPosWait().
DatabaseMysqlBase::fieldInfo | ( | $table, | |
$field | |||
) |
string | $table | |
string | $field |
Implements IDatabase.
Definition at line 537 of file DatabaseMysqlBase.php.
References $res, mysqlFetchField(), mysqlNumFields(), Database\query(), and Database\tableName().
DatabaseMysqlBase::fieldName | ( | $res, | |
$n | |||
) |
ResultWrapper | resource | $res | |
int | $n |
Implements IDatabase.
Definition at line 386 of file DatabaseMysqlBase.php.
References $res, and mysqlFieldName().
DatabaseMysqlBase::fieldType | ( | $res, | |
$n | |||
) |
mysql_field_type() wrapper
ResultWrapper | resource | $res | |
int | $n |
Definition at line 409 of file DatabaseMysqlBase.php.
References $res, and mysqlFieldType().
DatabaseMysqlBase::freeResult | ( | $res | ) |
ResultWrapper | resource | $res |
DBUnexpectedError |
Implements IDatabase.
Definition at line 240 of file DatabaseMysqlBase.php.
References $res, and mysqlFreeResult().
DatabaseMysqlBase::getApproximateLagStatus | ( | ) |
Definition at line 771 of file DatabaseMysqlBase.php.
References getLagDetectionMethod(), and Database\getServer().
|
protected |
array | $conds | WHERE clause conditions to find a row |
ts
column value or null, UNIX timestamp) for the newest beat Definition at line 758 of file DatabaseMysqlBase.php.
References $res, LIST_AND, Database\makeList(), and Database\query().
Referenced by getLagFromPtHeartbeat().
DatabaseMysqlBase::getLag | ( | ) |
Get replica DB lag.
Currently supported only by MySQL.
Note that this function will generate a fatal error on many installations. Most callers should use LoadBalancer::safeGetLag() instead.
Implements IDatabase.
Definition at line 641 of file DatabaseMysqlBase.php.
References getLagDetectionMethod(), getLagFromPtHeartbeat(), and getLagFromSlaveStatus().
|
protected |
Definition at line 652 of file DatabaseMysqlBase.php.
References $lagDetectionMethod.
Referenced by getApproximateLagStatus(), and getLag().
|
protected |
Definition at line 672 of file DatabaseMysqlBase.php.
References $lagDetectionOptions, $options, $time, getHeartbeatData(), Database\getLogContext(), getMasterServerInfo(), and list.
Referenced by getLag().
|
protected |
Definition at line 659 of file DatabaseMysqlBase.php.
References $res, and Database\query().
Referenced by getLag().
DatabaseMysqlBase::getMasterPos | ( | ) |
Get the position of the master from SHOW MASTER STATUS.
Implements IDatabase.
Definition at line 870 of file DatabaseMysqlBase.php.
References $res, fetchObject(), and Database\query().
|
protected |
Definition at line 715 of file DatabaseMysqlBase.php.
References $cache, $e, $res, Database\$srvCache, Database\getLazyMasterHandle(), Database\getLBInfo(), Database\getServer(), and use.
Referenced by getLagFromPtHeartbeat().
DatabaseMysqlBase::getMysqlStatus | ( | $which = "%" | ) |
Get status information from SHOW STATUS in an associative array.
string | $which |
Definition at line 1266 of file DatabaseMysqlBase.php.
References $res, $status, as, and Database\query().
Referenced by getServerUptime().
DatabaseMysqlBase::getReplicaPos | ( | ) |
Get the position of the master from SHOW SLAVE STATUS.
Implements IDatabase.
Definition at line 842 of file DatabaseMysqlBase.php.
References $res, fetchObject(), and Database\query().
Referenced by masterPosWait().
DatabaseMysqlBase::getServerUptime | ( | ) |
Determines how long the server has been up.
Implements IDatabase.
Definition at line 1165 of file DatabaseMysqlBase.php.
References $vars, and getMysqlStatus().
DatabaseMysqlBase::getServerVersion | ( | ) |
Implements IDatabase.
Definition at line 941 of file DatabaseMysqlBase.php.
References $serverVersion, and Database\selectField().
Referenced by getSoftwareLink().
DatabaseMysqlBase::getSoftwareLink | ( | ) |
Implements IDatabase.
Definition at line 923 of file DatabaseMysqlBase.php.
References getServerVersion().
DatabaseMysqlBase::getType | ( | ) |
DatabaseMysqlBase::ignoreIndexClause | ( | $index | ) |
string | $index |
Definition at line 909 of file DatabaseMysqlBase.php.
References Database\indexName().
DatabaseMysqlBase::indexInfo | ( | $table, | |
$index, | |||
$fname = __METHOD__ |
|||
) |
Get information about an index into an object Returns false if the index does not exist.
string | $table | |
string | $index | |
string | $fname |
Definition at line 572 of file DatabaseMysqlBase.php.
References $fname, $res, as, Database\indexName(), Database\query(), and Database\tableName().
DatabaseMysqlBase::isQuotedIdentifier | ( | $name | ) |
string | $name |
Definition at line 637 of file DatabaseMysqlBase.php.
References $name.
DatabaseMysqlBase::isView | ( | $name, | |
$prefix = null |
|||
) |
Differentiates between a TABLE and a VIEW.
string | $name | Name of the TABLE/VIEW to test |
string | $prefix |
Definition at line 1320 of file DatabaseMysqlBase.php.
References $name, and listViews().
DatabaseMysqlBase::lastError | ( | ) |
Implements IDatabase.
Definition at line 451 of file DatabaseMysqlBase.php.
References mysqlError().
Referenced by fetchObject(), fetchRow(), open(), and wasReadOnlyError().
DatabaseMysqlBase::listTables | ( | $prefix = null , |
|
$fname = __METHOD__ |
|||
) |
List all tables on the database.
string | $prefix | Only show tables with this prefix, e.g. mw_ |
string | $fname | Calling function name |
Implements IDatabase.
Definition at line 1230 of file DatabaseMysqlBase.php.
References $fname, $vars, as, and Database\query().
DatabaseMysqlBase::listViews | ( | $prefix = null , |
|
$fname = __METHOD__ |
|||
) |
Lists VIEWs in the database.
string | $prefix | Only show VIEWs with this prefix, eg. unit_test_, or $wgDBprefix. Default: null, would return all views. |
string | $fname | Name of calling function |
Implements IMaintainableDatabase.
Definition at line 1286 of file DatabaseMysqlBase.php.
References Database\$mDBname, $res, as, and Database\query().
Referenced by isView().
DatabaseMysqlBase::lock | ( | $lockName, | |
$method, | |||
$timeout = 5 |
|||
) |
string | $lockName | |
string | $method | |
int | $timeout |
Implements IDatabase.
Definition at line 999 of file DatabaseMysqlBase.php.
References addQuotes(), fetchObject(), makeLockName(), and Database\query().
DatabaseMysqlBase::lockIsFree | ( | $lockName, | |
$method | |||
) |
Check to see if a named lock is available.
This is non-blocking.
string | $lockName | Name of lock to poll |
string | $method | Name of method calling us |
Implements IDatabase.
Definition at line 985 of file DatabaseMysqlBase.php.
References addQuotes(), fetchObject(), makeLockName(), and Database\query().
DatabaseMysqlBase::lockTables | ( | $read, | |
$write, | |||
$method, | |||
$lowPriority = true |
|||
) |
array | $read | |
array | $write | |
string | $method | |
bool | $lowPriority |
Definition at line 1053 of file DatabaseMysqlBase.php.
References as, Database\query(), and Database\tableName().
DatabaseMysqlBase::lowPriorityOption | ( | ) |
Definition at line 916 of file DatabaseMysqlBase.php.
|
private |
Definition at line 1036 of file DatabaseMysqlBase.php.
Referenced by lock(), lockIsFree(), and unlock().
DatabaseMysqlBase::masterPosWait | ( | DBMasterPos | $pos, |
$timeout | |||
) |
Wait for the replica DB to catch up to a given master position.
DBMasterPos | $pos | |
int | $timeout | The maximum number of seconds to wait for synchronisation |
Implements IDatabase.
Definition at line 789 of file DatabaseMysqlBase.php.
References $res, $status, addQuotes(), Database\doQuery(), fetchRow(), Database\getLBInfo(), and getReplicaPos().
|
abstractprotected |
Open a connection to a MySQL server.
string | $realServer |
DBConnectionError |
Referenced by open().
|
abstractprotected |
Move internal result pointer.
ResultWrapper | resource | $res | |
int | $row |
Referenced by dataSeek().
|
abstractprotected |
Returns the text of the error message from previous MySQL operation.
resource | $conn | Raw connection |
Referenced by lastError().
|
abstractprotected |
Fetch a result row as an associative and numeric array.
resource | $res | Raw result |
Referenced by fetchRow().
|
abstractprotected |
Get column information from a result.
resource | $res | Raw result |
int | $n |
Referenced by fieldInfo().
|
abstractprotected |
Fetch a result row as an object.
resource | $res | Raw result |
Referenced by fetchObject().
|
abstractprotected |
Get the name of the specified field in a result.
ResultWrapper | resource | $res | |
int | $n |
Referenced by fieldName().
|
abstractprotected |
Get the type of the specified field in a result.
ResultWrapper | resource | $res | |
int | $n |
Referenced by fieldType().
|
abstractprotected |
|
abstractprotected |
Get number of fields in result.
resource | $res | Raw result |
Referenced by fieldInfo(), and numFields().
|
abstractprotected |
|
abstractprotected |
|
abstractprotected |
Set the character set of the MySQL link.
string | $charset |
Referenced by connectInitCharset().
DatabaseMysqlBase::namedLocksEnqueue | ( | ) |
Check to see if a named lock used by lock() use blocking queues.
Implements IDatabase.
Definition at line 1042 of file DatabaseMysqlBase.php.
DatabaseMysqlBase::numFields | ( | $res | ) |
ResultWrapper | resource | $res |
Implements IDatabase.
Definition at line 365 of file DatabaseMysqlBase.php.
References $res, and mysqlNumFields().
DatabaseMysqlBase::numRows | ( | $res | ) |
DBUnexpectedError |
ResultWrapper | resource | $res |
Implements IDatabase.
Definition at line 337 of file DatabaseMysqlBase.php.
References $res, and mysqlNumRows().
Referenced by estimateRowCount().
DatabaseMysqlBase::open | ( | $server, | |
$user, | |||
$password, | |||
$dbName | |||
) |
string | $server | |
string | $user | |
string | $password | |
string | $dbName |
Exception|DBConnectionError |
Implements IDatabase.
Definition at line 109 of file DatabaseMysqlBase.php.
References $success, $user, addIdentifierQuotes(), addQuotes(), as, Database\close(), connectInitCharset(), Database\doQuery(), Database\getLogContext(), Database\installErrorHandler(), lastError(), mysqlConnect(), Database\reportConnectionError(), Database\restoreErrorHandler(), and Database\selectDB().
DatabaseMysqlBase::replace | ( | $table, | |
$uniqueIndexes, | |||
$rows, | |||
$fname = __METHOD__ |
|||
) |
string | $table | |
array | $uniqueIndexes | |
array | $rows | |
string | $fname |
Implements IDatabase.
Definition at line 485 of file DatabaseMysqlBase.php.
References $fname, and Database\nativeReplace().
DatabaseMysqlBase::serverIsReadOnly | ( | ) |
Implements IDatabase.
Definition at line 890 of file DatabaseMysqlBase.php.
References $res, fetchObject(), and Database\query().
DatabaseMysqlBase::setBigSelects | ( | $value = true | ) |
bool | $value |
Implements IDatabase.
Definition at line 1084 of file DatabaseMysqlBase.php.
References Database\$mDefaultBigSelects, $value, Database\query(), and Database\selectField().
DatabaseMysqlBase::setSessionOptions | ( | array | $options | ) |
array | $options |
Implements IDatabase.
Definition at line 954 of file DatabaseMysqlBase.php.
References Database\query().
DatabaseMysqlBase::streamStatementEnd | ( | & | $sql, |
& | $newLine | ||
) |
string | $sql | |
string | $newLine |
Implements IMaintainableDatabase.
Definition at line 967 of file DatabaseMysqlBase.php.
DatabaseMysqlBase::strencode | ( | $s | ) |
string | $s |
Definition at line 601 of file DatabaseMysqlBase.php.
References $s, and mysqlRealEscapeString().
DatabaseMysqlBase::tableExists | ( | $table, | |
$fname = __METHOD__ |
|||
) |
Query whether a given table exists.
string | $table | |
string | $fname |
Implements IDatabase.
Definition at line 521 of file DatabaseMysqlBase.php.
References $fname, Database\buildLike(), Database\query(), and Database\tableName().
Referenced by dropTable().
DatabaseMysqlBase::unlock | ( | $lockName, | |
$method | |||
) |
FROM MYSQL DOCS: http://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html#function_release-lock.
string | $lockName | |
string | $method |
Implements IDatabase.
Definition at line 1021 of file DatabaseMysqlBase.php.
References addQuotes(), fetchObject(), makeLockName(), and Database\query().
DatabaseMysqlBase::unlockTables | ( | $method | ) |
string | $method |
Definition at line 1075 of file DatabaseMysqlBase.php.
References Database\query().
DatabaseMysqlBase::upsert | ( | $table, | |
array | $rows, | ||
array | $uniqueIndexes, | ||
array | $set, | ||
$fname = __METHOD__ |
|||
) |
string | $table | |
array | $rows | |
array | $uniqueIndexes | |
array | $set | |
string | $fname |
Implements IDatabase.
Definition at line 1135 of file DatabaseMysqlBase.php.
References $fname, as, LIST_SET, Database\makeList(), Database\query(), and Database\tableName().
DatabaseMysqlBase::useIndexClause | ( | $index | ) |
string | $index |
Definition at line 901 of file DatabaseMysqlBase.php.
References Database\indexName().
DatabaseMysqlBase::wasConnectionError | ( | $errno | ) |
Definition at line 1203 of file DatabaseMysqlBase.php.
DatabaseMysqlBase::wasDeadlock | ( | ) |
Determines if the last failure was due to a deadlock.
Implements IDatabase.
Definition at line 1176 of file DatabaseMysqlBase.php.
References IDatabase\lastErrno().
DatabaseMysqlBase::wasErrorReissuable | ( | ) |
Determines if the last query error was due to a dropped connection and should be dealt with by pinging the connection and reissuing the query.
Implements IDatabase.
Definition at line 1189 of file DatabaseMysqlBase.php.
References IDatabase\lastErrno().
DatabaseMysqlBase::wasLockTimeout | ( | ) |
Determines if the last failure was due to a lock timeout.
Implements IDatabase.
Definition at line 1185 of file DatabaseMysqlBase.php.
References IDatabase\lastErrno().
DatabaseMysqlBase::wasReadOnlyError | ( | ) |
Determines if the last failure was due to the database being read-only.
Implements IDatabase.
Definition at line 1198 of file DatabaseMysqlBase.php.
References false, IDatabase\lastErrno(), and lastError().
|
protected |
Method to detect replica DB lag.
Definition at line 36 of file DatabaseMysqlBase.php.
Referenced by getLagDetectionMethod().
|
protected |
Method to detect replica DB lag.
Definition at line 38 of file DatabaseMysqlBase.php.
Referenced by getLagFromPtHeartbeat().
|
protected |
Definition at line 34 of file DatabaseMysqlBase.php.
|
private |
Definition at line 55 of file DatabaseMysqlBase.php.
Referenced by getServerVersion().
|
protected |
sql_mode value to send on connection
Definition at line 50 of file DatabaseMysqlBase.php.
|
protected |
Definition at line 46 of file DatabaseMysqlBase.php.
|
protected |
Definition at line 44 of file DatabaseMysqlBase.php.
|
protected |
Definition at line 48 of file DatabaseMysqlBase.php.
|
protected |
Definition at line 42 of file DatabaseMysqlBase.php.
|
protected |
bool Whether to use GTID methods
Definition at line 40 of file DatabaseMysqlBase.php.
|
protected |
Use experimental UTF-8 transmission encoding.
Definition at line 52 of file DatabaseMysqlBase.php.