MediaWiki REL1_28
|
Database abstraction object for MySQL. More...
Public Member Functions | |
__construct (array $params) | |
Additional $params include: | |
addIdentifierQuotes ( $s) | |
MySQL uses backticks for identifier quoting instead of the sql standard "double quotes". | |
addQuotes ( $s) | |
Adds quotes and backslashes. | |
dataSeek ( $res, $row) | |
deleteJoin ( $delTable, $joinTable, $delVar, $joinVar, $conds, $fname=__METHOD__) | |
DELETE where the condition is a join. | |
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() | |
fetchObject ( $res) | |
fetchRow ( $res) | |
fieldInfo ( $table, $field) | |
fieldName ( $res, $n) | |
fieldType ( $res, $n) | |
mysql_field_type() wrapper | |
freeResult ( $res) | |
getApproximateLagStatus () | |
Get a replica DB lag estimate for this server. | |
getLag () | |
Get replica DB lag. | |
getMasterPos () | |
Get the position of the master from SHOW MASTER STATUS. | |
getMysqlStatus ( $which="%") | |
Get status information from SHOW STATUS in an associative array. | |
getReplicaPos () | |
Get the position of the master from SHOW SLAVE STATUS. | |
getServerUptime () | |
Determines how long the server has been up. | |
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. | |
isQuotedIdentifier ( $name) | |
isView ( $name, $prefix=null) | |
Differentiates between a TABLE and a VIEW. | |
lastError () | |
listTables ( $prefix=null, $fname=__METHOD__) | |
List all tables on the database. | |
listViews ( $prefix=null, $fname=__METHOD__) | |
Lists VIEWs in the database. | |
lock ( $lockName, $method, $timeout=5) | |
lockIsFree ( $lockName, $method) | |
Check to see if a named lock is available. | |
lockTables ( $read, $write, $method, $lowPriority=true) | |
lowPriorityOption () | |
masterPosWait (DBMasterPos $pos, $timeout) | |
Wait for the replica DB to catch up to a given master position. | |
namedLocksEnqueue () | |
Check to see if a named lock used by lock() use blocking queues. | |
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. | |
unlock ( $lockName, $method) | |
FROM MYSQL DOCS: http://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html#function_release-lock. | |
unlockTables ( $method) | |
upsert ( $table, array $rows, array $uniqueIndexes, array $set, $fname=__METHOD__) | |
useIndexClause ( $index) | |
wasConnectionError ( $errno) | |
Do not use this method outside of Database/DBError classes. | |
wasDeadlock () | |
Determines if the last failure was due to a deadlock. | |
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. | |
wasLockTimeout () | |
Determines if the last failure was due to a lock timeout. | |
wasReadOnlyError () | |
Determines if the last failure was due to the database being read-only. | |
Public Member Functions inherited from Database | |
__clone () | |
Make sure that copies do not share the same client binding handle. | |
__destruct () | |
Run a few simple sanity checks and close dangling connections. | |
__sleep () | |
Called by serialize. | |
__toString () | |
aggregateValue ( $valuedata, $valuename='value') | |
Return aggregated value alias. | |
anyChar () | |
Returns a token for buildLike() that denotes a '_' to be used in a LIKE query. | |
anyString () | |
Returns a token for buildLike() that denotes a '' to be used in a LIKE query. | |
begin ( $fname=__METHOD__, $mode=self::TRANSACTION_EXPLICIT) | |
Begin a transaction. | |
bitAnd ( $fieldLeft, $fieldRight) | |
bitNot ( $field) | |
bitOr ( $fieldLeft, $fieldRight) | |
bufferResults ( $buffer=null) | |
Turns buffering of SQL result sets on (true) or off (false). | |
buildConcat ( $stringList) | |
Build a concatenation list to feed into a SQL query. | |
buildGroupConcatField ( $delim, $table, $field, $conds='', $join_conds=[]) | |
Build a GROUP_CONCAT or equivalent statement for a query. | |
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(). | |
buildStringCast ( $field) | |
clearFlag ( $flag, $remember=self::REMEMBER_NOTHING) | |
Clear a flag for this connection. | |
close () | |
Closes a database connection. | |
commit ( $fname=__METHOD__, $flush='') | |
Commits a transaction previously started using begin(). | |
conditional ( $cond, $trueVal, $falseVal) | |
Returns an SQL expression for a simple conditional. | |
connectionErrorLogger ( $errno, $errstr) | |
This method should not be used outside of Database classes. | |
dbSchema ( $schema=null) | |
Get/set the db schema. | |
deadlockLoop () | |
Perform a deadlock-prone transaction. | |
decodeBlob ( $b) | |
Some DBMSs return a special placeholder object representing blob fields in result objects. | |
decodeExpiry ( $expiry, $format=TS_MW) | |
Decode an expiry time into a DBMS independent format. | |
delete ( $table, $conds, $fname=__METHOD__) | |
DELETE query wrapper. | |
doAtomicSection ( $fname, callable $callback) | |
Run a callback to do an atomic set of updates for this database. | |
doneWrites () | |
Returns true if the connection may have been used for write queries. | |
encodeBlob ( $b) | |
Some DBMSs have a special format for inserting into blob fields, they don't allow simple quoted strings to be inserted. | |
encodeExpiry ( $expiry) | |
Encode an expiry time into the DBMS dependent format. | |
endAtomic ( $fname=__METHOD__) | |
Ends an atomic section of SQL statements. | |
explicitTrxActive () | |
fieldExists ( $table, $field, $fname=__METHOD__) | |
Determines whether a field exists in a table. | |
flushSnapshot ( $fname=__METHOD__) | |
Commit any transaction but error out if writes or callbacks are pending. | |
getDBname () | |
Get the current DB name. | |
getDomainID () | |
getFlag ( $flag) | |
Returns a boolean whether the flag $flag is set for this connection. | |
getInfinity () | |
Find out when 'infinity' is. | |
getLBInfo ( $name=null) | |
Get properties passed down from the server info array of the load balancer. | |
getProperty ( $name) | |
getScopedLockAndFlush ( $lockKey, $fname, $timeout) | |
Acquire a named lock, flush any transaction, and return an RAII style unlocker object. | |
getSearchEngine () | |
getServer () | |
Get the server hostname or IP address. | |
getServerInfo () | |
A string describing the current software version, and possibly other details in a user-friendly way. | |
getSessionLagStatus () | |
Get the replica DB lag when the current transaction started or a general lag estimate if not transaction is active. | |
getWikiID () | |
Alias for getDomainID() | |
implicitGroupby () | |
Returns true if this database does an implicit sort when doing GROUP BY. | |
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. | |
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. | |
indexUnique ( $table, $index) | |
Determines if a given index is unique. | |
insert ( $table, $a, $fname=__METHOD__, $options=[]) | |
INSERT wrapper, inserts an array into a table. | |
insertSelect ( $destTable, $srcTable, $varMap, $conds, $fname=__METHOD__, $insertOptions=[], $selectOptions=[]) | |
INSERT SELECT wrapper. | |
isOpen () | |
Is a connection to the database open? | |
isReadOnly () | |
lastDoneWrites () | |
Returns the last time the connection may have been used for write queries. | |
lastQuery () | |
Return the last query that went through IDatabase::query() | |
limitResult ( $sql, $limit, $offset=false) | |
Construct a LIMIT query with optional offset. | |
makeList ( $a, $mode=self::LIST_COMMA) | |
Makes an encoded list of strings from an array. | |
makeWhereFrom2d ( $data, $baseKey, $subKey) | |
Build a partial where clause from a 2-d array such as used for LinkBatch. | |
maxListLen () | |
Return the maximum number of items allowed in a list, or 0 for unlimited. | |
nextSequenceValue ( $seqName) | |
Returns an appropriately quoted sequence value for inserting a new row. | |
onTransactionIdle (callable $callback, $fname=__METHOD__) | |
Run a callback as soon as there is no transaction pending. | |
onTransactionPreCommitOrIdle (callable $callback, $fname=__METHOD__) | |
Run a callback before the current transaction commits or now if there is none. | |
onTransactionResolution (callable $callback, $fname=__METHOD__) | |
Run a callback as soon as the current transaction commits or rolls back. | |
pendingWriteCallers () | |
Get the list of method names that did write queries for this transaction. | |
pendingWriteQueryDuration ( $type=self::ESTIMATE_TOTAL) | |
Get the time spend running write queries for this transaction. | |
ping (&$rtt=null) | |
Ping the server and try to reconnect if it there is no connection. | |
query ( $sql, $fname=__METHOD__, $tempIgnore=false) | |
Run an SQL query and return the result. | |
reportConnectionError ( $error='Unknown error') | |
reportQueryError ( $error, $errno, $sql, $fname, $tempIgnore=false) | |
Report a query error. | |
restoreFlags ( $state=self::RESTORE_PRIOR) | |
Restore the flags to their prior state before the last setFlag/clearFlag call. | |
rollback ( $fname=__METHOD__, $flush='') | |
Rollback a transaction previously started using begin(). | |
runOnTransactionIdleCallbacks ( $trigger) | |
Actually run and consume any "on transaction idle/resolution" callbacks. | |
runOnTransactionPreCommitCallbacks () | |
Actually run and consume any "on transaction pre-commit" callbacks. | |
runTransactionListenerCallbacks ( $trigger) | |
Actually run any "transaction listener" callbacks. | |
select ( $table, $vars, $conds='', $fname=__METHOD__, $options=[], $join_conds=[]) | |
Execute a SELECT query constructed using the various parameters provided. | |
selectDB ( $db) | |
Change the current database. | |
selectField ( $table, $var, $cond='', $fname=__METHOD__, $options=[]) | |
A SELECT wrapper which returns a single field from a single result row. | |
selectFieldValues ( $table, $var, $cond='', $fname=__METHOD__, $options=[], $join_conds=[]) | |
selectRow ( $table, $vars, $conds, $fname=__METHOD__, $options=[], $join_conds=[]) | |
Single row SELECT wrapper. | |
selectRowCount ( $tables, $vars=' *', $conds='', $fname=__METHOD__, $options=[], $join_conds=[]) | |
Get the number of rows in dataset. | |
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. | |
setFlag ( $flag, $remember=self::REMEMBER_NOTHING) | |
Set a flag for this connection. | |
setLazyMasterHandle (IDatabase $conn) | |
Set a lazy-connecting DB handle to the master DB (for replication status purposes) | |
setLBInfo ( $name, $value=null) | |
Set the LB info array, or a member of it. | |
setLogger (LoggerInterface $logger) | |
setSchemaVars ( $vars) | |
Set variables to be used in sourceFile/sourceStream, in preference to the ones in $GLOBALS. | |
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. | |
setTransactionListener ( $name, callable $callback=null) | |
Run a callback each time any transaction commits or rolls back. | |
setTrxEndCallbackSuppression ( $suppress) | |
Whether to disable running of post-COMMIT/ROLLBACK callbacks. | |
sourceFile ( $filename, callable $lineCallback=null, callable $resultCallback=null, $fname=false, callable $inputCallback=null) | |
Read and execute SQL commands from a file. | |
sourceStream ( $fp, callable $lineCallback=null, callable $resultCallback=null, $fname=__METHOD__, callable $inputCallback=null) | |
Read and execute commands from an open file handle. | |
startAtomic ( $fname=__METHOD__) | |
Begin an atomic section of statements. | |
strreplace ( $orig, $old, $new) | |
Returns a comand for str_replace function in SQL query. | |
tableName ( $name, $format='quoted') | |
Format a table name ready for use in constructing an SQL query. | |
tableNames () | |
Fetch a number of table names into an array This is handy when you need to construct SQL for joins. | |
tableNamesN () | |
Fetch a number of table names into an zero-indexed numerical array This is handy when you need to construct SQL for joins. | |
tablePrefix ( $prefix=null) | |
Get/set the table prefix. | |
textFieldSize ( $table, $field) | |
Returns the size of a text field, or -1 for "unlimited". | |
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. | |
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. | |
trxLevel () | |
Gets the current transaction level. | |
trxTimestamp () | |
Get the UNIX timestamp of the time that the transaction was established. | |
unionQueries ( $sqls, $all) | |
Construct a UNION query This is used for providing overload point for other DB abstractions not compatible with the MySQL syntax. | |
unionSupportsOrderAndLimit () | |
Returns true if current database backend supports ORDER BY or LIMIT for separate subqueries within the UNION construct. | |
update ( $table, $values, $conds, $fname=__METHOD__, $options=[]) | |
UPDATE wrapper. | |
writesOrCallbacksPending () | |
Returns true if there is a transaction open with possible write queries or transaction pre-commit/idle callbacks waiting on it to finish. | |
writesPending () | |
Public Member Functions inherited from IDatabase | |
affectedRows () | |
Get the number of rows affected by the last write query. | |
insertId () | |
Get the inserted value of an auto-increment row. | |
lastErrno () | |
Get the last error number. | |
selectFieldValues ( $table, $var, $cond='', $fname=__METHOD__, $options=[]) | |
A SELECT wrapper which returns a list of single field values from result rows. | |
Protected Member Functions | |
connectInitCharset () | |
Set the character set information right after connection. | |
getHeartbeatData (array $conds) | |
getLagDetectionMethod () | |
getLagFromPtHeartbeat () | |
getLagFromSlaveStatus () | |
getMasterServerInfo () | |
mysqlConnect ( $realServer) | |
Open a connection to a MySQL server. | |
mysqlDataSeek ( $res, $row) | |
Move internal result pointer. | |
mysqlError ( $conn=null) | |
Returns the text of the error message from previous MySQL operation. | |
mysqlFetchArray ( $res) | |
Fetch a result row as an associative and numeric array. | |
mysqlFetchField ( $res, $n) | |
Get column information from a result. | |
mysqlFetchObject ( $res) | |
Fetch a result row as an object. | |
mysqlFieldName ( $res, $n) | |
Get the name of the specified field in a result. | |
mysqlFieldType ( $res, $n) | |
Get the type of the specified field in a result. | |
mysqlFreeResult ( $res) | |
Free result memory. | |
mysqlNumFields ( $res) | |
Get number of fields in result. | |
mysqlNumRows ( $res) | |
Get number of rows in result. | |
mysqlRealEscapeString ( $s) | |
mysqlSetCharset ( $charset) | |
Set the character set of the MySQL link. | |
Protected Member Functions inherited from Database | |
assertOpen () | |
Make sure isOpen() returns true as a sanity check. | |
closeConnection () | |
Closes underlying database connection. | |
doBegin ( $fname) | |
Issues the BEGIN command to the database server. | |
doCommit ( $fname) | |
Issues the COMMIT command to the database server. | |
doQuery ( $sql) | |
The DBMS-dependent part of query() | |
doRollback ( $fname) | |
Issues the ROLLBACK command to the database server. | |
escapeLikeInternal ( $s) | |
fieldNamesWithAlias ( $fields) | |
Gets an array of aliased field names. | |
fieldNameWithAlias ( $name, $alias=false) | |
Get an aliased field name e.g. | |
getBindingHandle () | |
Get the underlying binding handle, mConn. | |
getDefaultSchemaVars () | |
Get schema variables to use if none have been set via setSchemaVars(). | |
getLastPHPError () | |
getLazyMasterHandle () | |
getLogContext (array $extras=[]) | |
Create a log context to pass to PSR-3 logger functions. | |
getQueryVerb ( $sql) | |
getReadOnlyReason () | |
getSchemaVars () | |
Get schema variables. | |
getTransactionLagStatus () | |
Get the replica DB lag when the current transaction started. | |
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. | |
indexName ( $index) | |
Get the name of an index in a given table. | |
installErrorHandler () | |
isTransactableQuery ( $sql) | |
Determine whether a SQL statement is sensitive to isolation level. | |
isWriteQuery ( $sql) | |
Determine whether a query writes to the DB. | |
makeGroupByWithHaving ( $options) | |
Returns an optional GROUP BY with an optional HAVING. | |
makeInsertOptions ( $options) | |
Helper for Database::insert(). | |
makeOrderBy ( $options) | |
Returns an optional ORDER BY. | |
makeSelectOptions ( $options) | |
Returns an optional USE INDEX clause to go after the table, and a string to go at the end of the query. | |
makeUpdateOptions ( $options) | |
Make UPDATE options for the Database::update function. | |
makeUpdateOptionsArray ( $options) | |
Make UPDATE options array for Database::makeUpdateOptions. | |
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. | |
pendingWriteAndCallbackCallers () | |
reconnect () | |
registerTempTableOperation ( $sql) | |
replaceVars ( $ins) | |
Database independent variable replacement. | |
requiresDatabaseUser () | |
restoreErrorHandler () | |
resultObject ( $result) | |
Take the result from a query, and wrap it in a ResultWrapper if necessary. | |
tableNamesWithAlias ( $tables) | |
Gets an array of aliased table names. | |
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. | |
tableNameWithAlias ( $name, $alias=false) | |
Get an aliased table name e.g. | |
Protected Attributes | |
string | $lagDetectionMethod |
Method to detect replica DB lag. | |
array | $lagDetectionOptions = [] |
Method to detect replica DB lag. | |
MysqlMasterPos | $lastKnownReplicaPos |
string | $sqlMode |
sql_mode value to send on connection | |
string null | $sslCAPath |
string null | $sslCertPath |
string[] null | $sslCiphers |
string null | $sslKeyPath |
bool | $useGTIDs = false |
bool Whether to use GTID methods | |
bool | $utf8Mode |
Use experimental UTF-8 transmission encoding. | |
Protected Attributes inherited from Database | |
string | $agent |
Agent name for query profiling. | |
bool | $cliMode |
Whether this PHP instance is for a CLI script. | |
LoggerInterface | $connLogger |
DatabaseDomain | $currentDomain |
string | $delimiter = ';' |
callback | $errorLogger |
Error logging callback. | |
string bool null | $htmlErrors |
Stashed value of html_errors INI setting. | |
float | $lastPing = 0.0 |
UNIX timestamp. | |
resource null | $mConn = null |
Database connection. | |
string | $mDBname |
bool null | $mDefaultBigSelects = null |
integer | $mFlags |
string | $mLastQuery = '' |
SQL query. | |
float bool | $mLastWriteTime = false |
UNIX timestamp of last write query. | |
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. | |
array | $mSessionVars = [] |
string | $mTablePrefix = '' |
array[] | $mTrxEndCallbacks = [] |
List of (callable, method name) | |
bool | $mTrxEndCallbacksSuppressed = false |
Whether to suppress triggering of transaction end callbacks. | |
array[] | $mTrxIdleCallbacks = [] |
List of (callable, method name) | |
int | $mTrxLevel = 0 |
Either 1 if a transaction is active or 0 otherwise. | |
array[] | $mTrxPreCommitCallbacks = [] |
List of (callable, method name) | |
callable[] | $mTrxRecurringCallbacks = [] |
Map of (name => callable) | |
string | $mTrxShortId = '' |
Either a short hexidecimal string if a transaction is active or "". | |
string | $mUser |
array null | $preparedArgs |
object string | $profiler |
Class name or object With profileIn/profileOut methods. | |
LoggerInterface | $queryLogger |
BagOStuff | $srvCache |
APC cache. | |
$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. | |
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. | |
Public Attributes inherited from Database | |
const | DEADLOCK_DELAY_MAX = 1500000 |
Maximum time to wait before retry. | |
const | DEADLOCK_DELAY_MIN = 500000 |
Minimum time to wait before retry, in microseconds. | |
const | DEADLOCK_TRIES = 4 |
Number of times to re-try an operation in case of deadlock. | |
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. | |
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. | |
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 |
Reimplemented from Database.
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 |
Reimplemented from Database.
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 |
Reimplemented from Database.
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.
Reimplemented in DatabaseMysqli.
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 |
Reimplemented from Database.
Definition at line 1111 of file DatabaseMysqlBase.php.
References $fname, Database\makeList(), Database\query(), and tableName().
DatabaseMysqlBase::dropTable | ( | $tableName, | |
$fName = __METHOD__ |
|||
) |
string | $tableName | |
string | $fName |
Reimplemented from Database.
Definition at line 1252 of file DatabaseMysqlBase.php.
References Database\query(), tableExists(), and tableName().
DatabaseMysqlBase::duplicateTableStructure | ( | $oldName, | |
$newName, | |||
$temporary = false , |
|||
$fname = __METHOD__ |
|||
) |
string | $oldName | |
string | $newName | |
bool | $temporary | |
string | $fname |
Reimplemented from Database.
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 |
Reimplemented from Database.
Definition at line 501 of file DatabaseMysqlBase.php.
References $fname, $options, $res, $vars, as, numRows(), and 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 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 |
Reimplemented from Database.
Definition at line 240 of file DatabaseMysqlBase.php.
References $res, and mysqlFreeResult().
DatabaseMysqlBase::getApproximateLagStatus | ( | ) |
Get a replica DB lag estimate for this server.
Reimplemented from Database.
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, 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.
Reimplemented from Database.
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.
Reimplemented from Database.
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(), BagOStuff\makeGlobalKey(), 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.
Reimplemented from Database.
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.
Reimplemented from Database.
Definition at line 1165 of file DatabaseMysqlBase.php.
References $vars, and getMysqlStatus().
DatabaseMysqlBase::getServerVersion | ( | ) |
Implements IDatabase.
Reimplemented in FakeDatabaseMysqlBase.
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 |
Reimplemented from Database.
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 |
Reimplemented from Database.
Definition at line 572 of file DatabaseMysqlBase.php.
References $fname, $res, as, false, Database\indexName(), Database\query(), and tableName().
DatabaseMysqlBase::isQuotedIdentifier | ( | $name | ) |
string | $name |
Reimplemented from Database.
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 |
Reimplemented from Database.
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 |
Reimplemented from Database.
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 |
Reimplemented from Database.
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 |
Reimplemented from Database.
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 |
Reimplemented from Database.
Definition at line 1053 of file DatabaseMysqlBase.php.
References as, Database\query(), and 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 |
Reimplemented from Database.
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 |
Reimplemented in DatabaseMysql, DatabaseMysqli, and FakeDatabaseMysqlBase.
Referenced by open().
|
abstractprotected |
Move internal result pointer.
ResultWrapper | resource | $res | |
int | $row |
Reimplemented in DatabaseMysql, DatabaseMysqli, and FakeDatabaseMysqlBase.
Referenced by dataSeek().
|
abstractprotected |
Returns the text of the error message from previous MySQL operation.
resource | $conn | Raw connection |
Reimplemented in DatabaseMysql, DatabaseMysqli, and FakeDatabaseMysqlBase.
Referenced by lastError().
|
abstractprotected |
Fetch a result row as an associative and numeric array.
resource | $res | Raw result |
Reimplemented in DatabaseMysql, DatabaseMysqli, and FakeDatabaseMysqlBase.
Referenced by fetchRow().
|
abstractprotected |
Get column information from a result.
resource | $res | Raw result |
int | $n |
Reimplemented in DatabaseMysql, DatabaseMysqli, and FakeDatabaseMysqlBase.
Referenced by fieldInfo().
|
abstractprotected |
Fetch a result row as an object.
resource | $res | Raw result |
Reimplemented in DatabaseMysql, DatabaseMysqli, and FakeDatabaseMysqlBase.
Referenced by fetchObject().
|
abstractprotected |
Get the name of the specified field in a result.
ResultWrapper | resource | $res | |
int | $n |
Reimplemented in DatabaseMysql, DatabaseMysqli, and FakeDatabaseMysqlBase.
Referenced by fieldName().
|
abstractprotected |
Get the type of the specified field in a result.
ResultWrapper | resource | $res | |
int | $n |
Reimplemented in DatabaseMysql, DatabaseMysqli, and FakeDatabaseMysqlBase.
Referenced by fieldType().
|
abstractprotected |
Free result memory.
resource | $res | Raw result |
Reimplemented in DatabaseMysql, DatabaseMysqli, and FakeDatabaseMysqlBase.
Referenced by freeResult().
|
abstractprotected |
Get number of fields in result.
resource | $res | Raw result |
Reimplemented in DatabaseMysql, DatabaseMysqli, and FakeDatabaseMysqlBase.
Referenced by fieldInfo(), and numFields().
|
abstractprotected |
Get number of rows in result.
resource | $res | Raw result |
Reimplemented in DatabaseMysql, DatabaseMysqli, and FakeDatabaseMysqlBase.
Referenced by numRows().
|
abstractprotected |
string | $s |
Reimplemented in DatabaseMysql, DatabaseMysqli, and FakeDatabaseMysqlBase.
Referenced by strencode().
|
abstractprotected |
Set the character set of the MySQL link.
string | $charset |
Reimplemented in DatabaseMysql, DatabaseMysqli, and FakeDatabaseMysqlBase.
Referenced by connectInitCharset().
DatabaseMysqlBase::namedLocksEnqueue | ( | ) |
Check to see if a named lock used by lock() use blocking queues.
Reimplemented from Database.
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 |
Reimplemented from Database.
Definition at line 485 of file DatabaseMysqlBase.php.
References $fname, and Database\nativeReplace().
DatabaseMysqlBase::serverIsReadOnly | ( | ) |
Reimplemented from Database.
Definition at line 890 of file DatabaseMysqlBase.php.
References $res, fetchObject(), and Database\query().
DatabaseMysqlBase::setBigSelects | ( | $value = true | ) |
bool | $value |
Reimplemented from Database.
Definition at line 1084 of file DatabaseMysqlBase.php.
References Database\$mDefaultBigSelects, $value, Database\query(), and Database\selectField().
DatabaseMysqlBase::setSessionOptions | ( | array | $options | ) |
array | $options |
Reimplemented from Database.
Definition at line 954 of file DatabaseMysqlBase.php.
References $options, and Database\query().
DatabaseMysqlBase::streamStatementEnd | ( | & | $sql, |
& | $newLine | ||
) |
string | $sql | |
string | $newLine |
Reimplemented from Database.
Definition at line 967 of file DatabaseMysqlBase.php.
DatabaseMysqlBase::strencode | ( | $s | ) |
string | $s |
Reimplemented from Database.
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 |
Reimplemented from Database.
Definition at line 521 of file DatabaseMysqlBase.php.
References $fname, Database\buildLike(), Database\query(), and 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 |
Reimplemented from Database.
Definition at line 1021 of file DatabaseMysqlBase.php.
References addQuotes(), fetchObject(), makeLockName(), and Database\query().
DatabaseMysqlBase::unlockTables | ( | $method | ) |
string | $method |
Reimplemented from Database.
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 |
Reimplemented from Database.
Definition at line 1135 of file DatabaseMysqlBase.php.
References $fname, as, Database\makeList(), Database\query(), and tableName().
DatabaseMysqlBase::useIndexClause | ( | $index | ) |
string | $index |
Reimplemented from Database.
Definition at line 901 of file DatabaseMysqlBase.php.
References Database\indexName().
DatabaseMysqlBase::wasConnectionError | ( | $errno | ) |
Do not use this method outside of Database/DBError classes.
integer | string | $errno |
Reimplemented from Database.
Definition at line 1203 of file DatabaseMysqlBase.php.
DatabaseMysqlBase::wasDeadlock | ( | ) |
Determines if the last failure was due to a deadlock.
Reimplemented from Database.
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.
Reimplemented from Database.
Definition at line 1189 of file DatabaseMysqlBase.php.
References IDatabase\lastErrno().
DatabaseMysqlBase::wasLockTimeout | ( | ) |
Determines if the last failure was due to a lock timeout.
Reimplemented from Database.
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.
Reimplemented from Database.
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.