MediaWiki  1.23.12
DatabaseMysqlBase Class Reference

Database abstraction object for MySQL. More...

Inheritance diagram for DatabaseMysqlBase:
Collaboration diagram for DatabaseMysqlBase:

Public Member Functions

 addIdentifierQuotes ( $s)
 MySQL uses backticks for identifier quoting instead of the sql standard "double quotes". 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=array())
 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)
 
 getLag ()
 Returns slave lag. More...
 
 getLagFromProcesslist ()
 
 getLagFromSlaveStatus ()
 
 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...
 
 getSearchEngine ()
 Get search engine class. More...
 
 getServerUptime ()
 Determines how long the server has been up. More...
 
 getSlavePos ()
 Get the position of the master from SHOW SLAVE STATUS. More...
 
 getSoftwareLink ()
 
 getType ()
 
 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 slave to catch up to a given master position. More...
 
 numFields ( $res)
 
 numRows ( $res)
 
 open ( $server, $user, $password, $dbName)
 
 ping ()
 
 replace ( $table, $uniqueIndexes, $rows, $fname=__METHOD__)
 
 setBigSelects ( $value=true)
 
 setFakeMaster ( $enabled=true)
 Make this connection a fake master. More...
 
 setFakeSlaveLag ( $lag)
 Set lag time in seconds for a fake slave. More...
 
 setSessionOptions (array $options)
 
 streamStatementEnd (&$sql, &$newLine)
 
 strencode ( $s)
 
 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)
 
 wasDeadlock ()
 Determines if the last failure was due to a deadlock. More...
 
 wasErrorReissuable ()
 Determines if the last query error was something that 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 DatabaseBase
 __construct ( $params=null)
 Constructor. More...
 
 __destruct ()
 Run a few simple sanity checks. More...
 
 __sleep ()
 Called by serialize. More...
 
 __toString ()
 
 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__)
 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=array())
 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...
 
 cascadingDeletes ()
 Returns true if this database supports (and uses) cascading deletes. More...
 
 cleanupTriggers ()
 Returns true if this database supports (and uses) triggers (e.g. More...
 
 clearFlag ( $flag)
 Clear a flag for this connection. More...
 
 clearViewsCache ()
 Reset the views process cache set by listViews() 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...
 
 connectionErrorHandler ( $errno, $errstr)
 
 dbSchema ( $schema=null)
 Get/set the db schema. More...
 
 deadlockLoop ()
 Perform a deadlock-prone transaction. More...
 
 debug ( $debug=null)
 Boolean, controls output of large amounts of debug information. 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...
 
 doneWrites ()
 Returns true if the connection may have been used for write queries. 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...
 
 errorCount ( $count=null)
 Get/set the number of errors logged. More...
 
 execute ( $prepared, $args=null)
 Execute a prepared query with the various arguments. More...
 
 fieldExists ( $table, $field, $fname=__METHOD__)
 Determines whether a field exists in a table. More...
 
 fieldNamesWithAlias ( $fields)
 Gets an array of aliased field names. More...
 
 fieldNameWithAlias ( $name, $alias=false)
 Get an aliased field name e.g. More...
 
 fillPrepared ( $preparedQuery, $args)
 For faking prepared SQL statements on DBs that don't support it directly. More...
 
 functionalIndexes ()
 Returns true if this database can use functional indexes. More...
 
 getDBname ()
 Get the current DB name. More...
 
 getDelimiter ()
 
 getFlag ( $flag)
 Returns a boolean whether the flag $flag is set for this connection. More...
 
 getInfinity ()
 Find out when 'infinity' is. More...
 
 getLBInfo ( $name=null)
 Get properties passed down from the server info array of the load balancer. More...
 
 getProperty ( $name)
 General read-only accessor. More...
 
 getSchemaPath ()
 Return a path to the DBMS-specific schema file, otherwise default to tables.sql. More...
 
 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...
 
 getWikiID ()
 
 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...
 
 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...
 
 indexUnique ( $table, $index)
 Determines if a given index is unique. More...
 
 insert ( $table, $a, $fname=__METHOD__, $options=array())
 INSERT wrapper, inserts an array into a table. More...
 
 insertSelect ( $destTable, $srcTable, $varMap, $conds, $fname=__METHOD__, $insertOptions=array(), $selectOptions=array())
 INSERT SELECT wrapper. More...
 
 isOpen ()
 Is a connection to the database open? More...
 
 isView ( $name)
 Differentiates between a TABLE and a VIEW. More...
 
 isWriteQuery ( $sql)
 Determine whether a query writes to the DB. More...
 
 lastQuery ()
 Return the last query that went through DatabaseBase::query() More...
 
 limitResult ( $sql, $limit, $offset=false)
 Construct a LIMIT query with optional offset. More...
 
 makeGroupByWithHaving ( $options)
 Returns an optional GROUP BY with an optional HAVING. More...
 
 makeList ( $a, $mode=LIST_COMMA)
 Makes an encoded list of strings from an array. 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...
 
 makeWhereFrom2d ( $data, $baseKey, $subKey)
 Build a partial where clause from a 2-d array such as used for LinkBatch. More...
 
 maxListLen ()
 Return the maximum number of items allowed in a list, or 0 for unlimited. More...
 
 nextSequenceValue ( $seqName)
 Returns an appropriately quoted sequence value for inserting a new row. More...
 
 onTransactionIdle ( $callback)
 Run an anonymous function as soon as there is no transaction pending. More...
 
 onTransactionPreCommitOrIdle ( $callback)
 Run an anonymous function before the current transaction commits or now if there is none. More...
 
 patchPath ( $patch)
 Get the full path of a patch file. More...
 
 query ( $sql, $fname=__METHOD__, $tempIgnore=false)
 Run an SQL query and return the result. More...
 
 realTimestamps ()
 Returns true if this database uses timestamps rather than integers. More...
 
 reportConnectionError ( $error='Unknown error')
 
 reportQueryError ( $error, $errno, $sql, $fname, $tempIgnore=false)
 Report a query error. More...
 
 resultObject ( $result)
 Take the result from a query, and wrap it in a ResultWrapper if necessary. More...
 
 rollback ( $fname=__METHOD__, $flush='')
 Rollback a transaction previously started using begin(). More...
 
 searchableIPs ()
 Returns true if this database can do a native search on IP columns e.g. More...
 
 select ( $table, $vars, $conds='', $fname=__METHOD__, $options=array(), $join_conds=array())
 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=array())
 A SELECT wrapper which returns a single field from a single result row. More...
 
 selectRow ( $table, $vars, $conds, $fname=__METHOD__, $options=array(), $join_conds=array())
 Single row SELECT wrapper. More...
 
 selectSQLText ( $table, $vars, $conds='', $fname=__METHOD__, $options=array(), $join_conds=array())
 The equivalent of DatabaseBase::select() except that the constructed SQL is returned, instead of being immediately executed. More...
 
 setFileHandle ( $fh)
 Set the filehandle to copy write statements to. More...
 
 setFlag ( $flag)
 Set a flag for this connection. More...
 
 setLBInfo ( $name, $value=null)
 Set the LB info array, or a member of it. More...
 
 setSchemaVars ( $vars)
 Set variables to be used in sourceFile/sourceStream, in preference to the ones in $GLOBALS. More...
 
 sourceFile ( $filename, $lineCallback=false, $resultCallback=false, $fname=false, $inputCallback=false)
 Read and execute SQL commands from a file. More...
 
 sourceStream ( $fp, $lineCallback=false, $resultCallback=false, $fname=__METHOD__, $inputCallback=false)
 Read and execute commands from an open file handle. More...
 
 startAtomic ( $fname=__METHOD__)
 Begin an atomic section of statements. More...
 
 strictIPs ()
 Returns true if this database is strict about what can be put into an IP field. 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...
 
 tableNamesWithAlias ( $tables)
 Gets an array of aliased table names. More...
 
 tableNameWithAlias ( $name, $alias=false)
 Get an aliased table name e.g. 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...
 
 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...
 
 update ( $table, $values, $conds, $fname=__METHOD__, $options=array())
 UPDATE wrapper. 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...
 
- Public Member Functions inherited from DatabaseType
 affectedRows ()
 Get the number of rows affected by the last write query. More...
 
 getServerVersion ()
 A string describing the current software version, like from mysql_get_server_info(). More...
 
 insertId ()
 Get the inserted value of an auto-increment row. More...
 
 lastErrno ()
 Get the last error number. More...
 

Protected Member Functions

 connectInitCharset ()
 Set the character set information right after connection. More...
 
 getDefaultSchemaVars ()
 
 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...
 
 mysqlPing ()
 Ping a server connection or reconnect if there is no connection. More...
 
 mysqlSetCharset ( $charset)
 Set the character set of the MySQL link. More...
 
- Protected Member Functions inherited from DatabaseBase
 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)
 
 fillPreparedArg ( $matches)
 preg_callback func for fillPrepared() The arguments should be in $this->preparedArgs and must not be touched while we're doing this. More...
 
 freePrepared ( $prepared)
 Free a prepared query, generated by prepare(). More...
 
 getSchemaVars ()
 Get schema variables. More...
 
 indexName ( $index)
 Get the name of an index in a given table. More...
 
 indexNameCallback ( $matches)
 Index name callback. More...
 
 installErrorHandler ()
 
 makeInsertOptions ( $options)
 Helper for DatabaseBase::insert(). More...
 
 makeUpdateOptions ( $options)
 Make UPDATE options for the DatabaseBase::update function. More...
 
 makeUpdateOptionsArray ( $options)
 Make UPDATE options array for DatabaseBase::makeUpdateOptions. More...
 
 nativeReplace ( $table, $rows, $fname)
 REPLACE query wrapper for MySQL and SQLite, which have a native REPLACE statement. More...
 
 prepare ( $sql, $func='DatabaseBase::prepare')
 Intended to be compatible with the PEAR::DB wrapper functions. More...
 
 replaceSchemaVars ( $ins)
 Database independent variable replacement. More...
 
 replaceVars ( $ins)
 Replace variables in sourced SQL. More...
 
 restoreErrorHandler ()
 
 runOnTransactionIdleCallbacks ()
 Actually any "on transaction idle" callbacks. More...
 
 runOnTransactionPreCommitCallbacks ()
 Actually any "on transaction pre-commit" callbacks. More...
 
 tableNameCallback ( $matches)
 Table name callback. More...
 
 tableNamesWithUseIndexOrJOIN ( $tables, $use_index=array(), $join_conds=array())
 Get the aliased table name clause for a FROM clause which might have a JOIN and/or USE INDEX clause. More...
 

Protected Attributes

MysqlMasterPos $lastKnownSlavePos
 
 $mFakeMaster = false
 
null int $mFakeSlaveLag = null
 
- Protected Attributes inherited from DatabaseBase
string[] $allViews = null
 
 $delimiter = ';'
 
resource $fileHandle = null
 
 $htmlErrors
 
resource $mConn = null
 Database connection *. More...
 
 $mDefaultBigSelects = null
 
 $mDoneWrites = false
 
 $mErrorCount = 0
 
 $mFlags
 
 $mForeign
 
 $mLastQuery = ''
 
 $mLBInfo = array()
 
 $mOpened = false
 
 $mPHPError = false
 
 $mSchema
 
 $mSchemaVars = false
 
 $mServer
 
 $mTablePrefix
 
callable[] $mTrxIdleCallbacks = array()
 
int $mTrxLevel = 0
 Either 1 if a transaction is active or 0 otherwise. More...
 
callable[] $mTrxPreCommitCallbacks = array()
 
 $preparedArgs
 

Additional Inherited Members

- Static Public Member Functions inherited from DatabaseBase
static factory ( $dbType, $p=array())
 Given a DB type, construct the name of the appropriate child class of DatabaseBase. More...
 
static generalizeSQL ( $sql)
 Removes most variables from an SQL query and replaces them with X or N for numbers. More...
 
- Public Attributes inherited from DatabaseBase
 $mDBname
 
 $mPassword
 
 $mUser
 
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...
 

Detailed Description

Database abstraction object for MySQL.

Defines methods independent on used MySQL extension.

Since
1.22
See also
Database

Definition at line 32 of file DatabaseMysqlBase.php.

Member Function Documentation

◆ addIdentifierQuotes()

DatabaseMysqlBase::addIdentifierQuotes (   $s)

MySQL uses backticks for identifier quoting instead of the sql standard "double quotes".

Parameters
string$s
Returns
string

Reimplemented from DatabaseBase.

Definition at line 546 of file DatabaseMysqlBase.php.

References $s, and array().

Referenced by duplicateTableStructure().

◆ connectInitCharset()

DatabaseMysqlBase::connectInitCharset ( )
protected

Set the character set information right after connection.

Returns
bool

Reimplemented in DatabaseMysqli.

Definition at line 146 of file DatabaseMysqlBase.php.

References global, and mysqlSetCharset().

Referenced by open().

◆ dataSeek()

DatabaseMysqlBase::dataSeek (   $res,
  $row 
)
Parameters
ResultWrapper | resource$res
int$row
Returns
bool

Implements DatabaseType.

Definition at line 370 of file DatabaseMysqlBase.php.

References $res, and mysqlDataSeek().

◆ deleteJoin()

DatabaseMysqlBase::deleteJoin (   $delTable,
  $joinTable,
  $delVar,
  $joinVar,
  $conds,
  $fname = __METHOD__ 
)

DELETE where the condition is a join.

MySql uses multi-table deletes.

Parameters
$delTablestring
$joinTablestring
$delVarstring
$joinVarstring
$condsarray|string
bool | string$fnamebool
Exceptions
DBUnexpectedError
Returns
bool|ResultWrapper

Reimplemented from DatabaseBase.

Definition at line 971 of file DatabaseMysqlBase.php.

References $fname, LIST_AND, DatabaseBase\makeList(), DatabaseBase\query(), and DatabaseBase\tableName().

◆ dropTable()

DatabaseMysqlBase::dropTable (   $tableName,
  $fName = __METHOD__ 
)
Parameters
$tableName
$fNamestring
Returns
bool|ResultWrapper

Reimplemented from DatabaseBase.

Definition at line 1114 of file DatabaseMysqlBase.php.

References DatabaseBase\query(), DatabaseBase\tableExists(), and DatabaseBase\tableName().

◆ duplicateTableStructure()

DatabaseMysqlBase::duplicateTableStructure (   $oldName,
  $newName,
  $temporary = false,
  $fname = __METHOD__ 
)
Parameters
string$oldName
string$newName
bool$temporary
string$fname
Returns
bool

Reimplemented from DatabaseBase.

Definition at line 1076 of file DatabaseMysqlBase.php.

References $fname, $query, addIdentifierQuotes(), and DatabaseBase\query().

◆ estimateRowCount()

DatabaseMysqlBase::estimateRowCount (   $table,
  $vars = '*',
  $conds = '',
  $fname = __METHOD__,
  $options = array() 
)

Estimate rows in dataset Returns estimated count, based on EXPLAIN output Takes same arguments as Database::select()

Parameters
string | array$table
string | array$vars
string | array$conds
string$fname
string | array$options
Returns
bool|int

Reimplemented from DatabaseBase.

Definition at line 440 of file DatabaseMysqlBase.php.

References $fname, $options, $res, $vars, as, numRows(), and DatabaseBase\select().

◆ fetchObject()

DatabaseMysqlBase::fetchObject (   $res)
Parameters
ResultWrapper | resource$res
Returns
stdClass|bool
Exceptions
DBUnexpectedError

Implements DatabaseType.

Definition at line 204 of file DatabaseMysqlBase.php.

References $res, DatabaseType\lastErrno(), lastError(), mysqlFetchObject(), wfRestoreWarnings(), and wfSuppressWarnings().

Referenced by getMasterPos(), getSlavePos(), lock(), lockIsFree(), and unlock().

◆ fetchRow()

DatabaseMysqlBase::fetchRow (   $res)
Parameters
ResultWrapper | resource$res
Returns
array|bool
Exceptions
DBUnexpectedError

Implements DatabaseType.

Definition at line 240 of file DatabaseMysqlBase.php.

References $res, DatabaseType\lastErrno(), lastError(), mysqlFetchArray(), wfRestoreWarnings(), and wfSuppressWarnings().

Referenced by listViews(), and masterPosWait().

◆ fieldInfo()

DatabaseMysqlBase::fieldInfo (   $table,
  $field 
)
Parameters
string$table
string$field
Returns
bool|MySQLField

Implements DatabaseType.

Definition at line 465 of file DatabaseMysqlBase.php.

References $n, $res, mysqlFetchField(), mysqlNumFields(), DatabaseBase\query(), and DatabaseBase\tableName().

◆ fieldName()

DatabaseMysqlBase::fieldName (   $res,
  $n 
)
Parameters
ResultWrapper | resource$res
$nint
Returns
string

Implements DatabaseType.

Definition at line 325 of file DatabaseMysqlBase.php.

References $n, $res, and mysqlFieldName().

◆ fieldType()

DatabaseMysqlBase::fieldType (   $res,
  $n 
)

mysql_field_type() wrapper

Parameters
ResultWrapper | resource$res
$nint
Returns
string

Definition at line 348 of file DatabaseMysqlBase.php.

References $n, $res, and mysqlFieldType().

◆ freeResult()

DatabaseMysqlBase::freeResult (   $res)
Parameters
ResultWrapper | resource$res
Exceptions
DBUnexpectedError

Reimplemented from DatabaseBase.

Definition at line 179 of file DatabaseMysqlBase.php.

References $ok, $res, mysqlFreeResult(), wfRestoreWarnings(), and wfSuppressWarnings().

◆ getDefaultSchemaVars()

DatabaseMysqlBase::getDefaultSchemaVars ( )
protected
Returns
array

Reimplemented from DatabaseBase.

Definition at line 1125 of file DatabaseMysqlBase.php.

References $GLOBALS, and $vars.

◆ getLag()

DatabaseMysqlBase::getLag ( )

Returns slave lag.

This will do a SHOW SLAVE STATUS

Returns
int

Reimplemented from DatabaseBase.

Definition at line 609 of file DatabaseMysqlBase.php.

References $mFakeSlaveLag, getLagFromSlaveStatus(), and wfDebug().

◆ getLagFromProcesslist()

DatabaseMysqlBase::getLagFromProcesslist ( )
Deprecated:
in 1.19, use getLagFromSlaveStatus
Returns
bool|int

Definition at line 643 of file DatabaseMysqlBase.php.

References $res, as, DatabaseBase\query(), and wfDeprecated().

◆ getLagFromSlaveStatus()

DatabaseMysqlBase::getLagFromSlaveStatus ( )
Returns
bool|int

Definition at line 622 of file DatabaseMysqlBase.php.

References $res, and DatabaseBase\query().

Referenced by getLag().

◆ getMasterPos()

DatabaseMysqlBase::getMasterPos ( )

Get the position of the master from SHOW MASTER STATUS.

Returns
MySQLMasterPos|bool

Reimplemented from DatabaseBase.

Definition at line 771 of file DatabaseMysqlBase.php.

References $res, fetchObject(), and DatabaseBase\query().

◆ getMysqlStatus()

DatabaseMysqlBase::getMysqlStatus (   $which = "%")

Get status information from SHOW STATUS in an associative array.

Parameters
string$which
Returns
array

Definition at line 1143 of file DatabaseMysqlBase.php.

References $res, array(), as, and DatabaseBase\query().

Referenced by getServerUptime().

◆ getSearchEngine()

DatabaseMysqlBase::getSearchEngine ( )

Get search engine class.

All subclasses of this need to implement this if they wish to use searching.

Returns
string

Reimplemented from DatabaseBase.

Definition at line 937 of file DatabaseMysqlBase.php.

◆ getServerUptime()

DatabaseMysqlBase::getServerUptime ( )

Determines how long the server has been up.

Returns
int

Reimplemented from DatabaseBase.

Definition at line 1025 of file DatabaseMysqlBase.php.

References $vars, and getMysqlStatus().

◆ getSlavePos()

DatabaseMysqlBase::getSlavePos ( )

Get the position of the master from SHOW SLAVE STATUS.

Returns
MySQLMasterPos|bool

Reimplemented from DatabaseBase.

Definition at line 744 of file DatabaseMysqlBase.php.

References $res, fetchObject(), DatabaseBase\query(), and wfDebug().

◆ getSoftwareLink()

DatabaseMysqlBase::getSoftwareLink ( )
Returns
string

Implements DatabaseType.

Definition at line 804 of file DatabaseMysqlBase.php.

References $version, and DatabaseType\getServerVersion().

◆ getType()

DatabaseMysqlBase::getType ( )
Returns
string

Implements DatabaseType.

Definition at line 42 of file DatabaseMysqlBase.php.

◆ indexInfo()

DatabaseMysqlBase::indexInfo (   $table,
  $index,
  $fname = __METHOD__ 
)

Get information about an index into an object Returns false if the index does not exist.

Parameters
string$table
string$index
string$fname
Returns
bool|array|null False or null on failure

Implements DatabaseType.

Definition at line 500 of file DatabaseMysqlBase.php.

References $fname, $res, array(), as, false, DatabaseBase\indexName(), DatabaseBase\query(), and DatabaseBase\tableName().

◆ isQuotedIdentifier()

DatabaseMysqlBase::isQuotedIdentifier (   $name)
Parameters
string$name
Returns
bool

Reimplemented from DatabaseBase.

Definition at line 556 of file DatabaseMysqlBase.php.

References $name.

◆ isView()

DatabaseMysqlBase::isView (   $name,
  $prefix = null 
)

Differentiates between a TABLE and a VIEW.

Parameters
string$nameName of the TABLE/VIEW to test
string$prefix
Returns
bool
Since
1.22

Definition at line 1201 of file DatabaseMysqlBase.php.

References $name, and listViews().

◆ lastError()

DatabaseMysqlBase::lastError ( )
Returns
string

Implements DatabaseType.

Definition at line 390 of file DatabaseMysqlBase.php.

References $error, mysqlError(), wfRestoreWarnings(), and wfSuppressWarnings().

Referenced by fetchObject(), fetchRow(), open(), and wasReadOnlyError().

◆ listTables()

DatabaseMysqlBase::listTables (   $prefix = null,
  $fname = __METHOD__ 
)

List all tables on the database.

Parameters
string$prefixOnly show tables with this prefix, e.g. mw_
string$fnameCalling function name
Returns
array

Reimplemented from DatabaseBase.

Definition at line 1092 of file DatabaseMysqlBase.php.

References $fname, $vars, array(), as, and DatabaseBase\query().

◆ listViews()

DatabaseMysqlBase::listViews (   $prefix = null,
  $fname = __METHOD__ 
)

Lists VIEWs in the database.

Parameters
string$prefixOnly show VIEWs with this prefix, eg. unit_test_, or $wgDBprefix. Default: null, would return all views.
string$fnameName of calling function
Returns
array
Since
1.22

Reimplemented from DatabaseBase.

Definition at line 1163 of file DatabaseMysqlBase.php.

References DatabaseBase\$allViews, DatabaseBase\$mDBname, array(), as, fetchRow(), and DatabaseBase\query().

Referenced by isView().

◆ lock()

DatabaseMysqlBase::lock (   $lockName,
  $method,
  $timeout = 5 
)
Parameters
string$lockName
string$method
int$timeout
Returns
bool

Reimplemented from DatabaseBase.

Definition at line 867 of file DatabaseMysqlBase.php.

References DatabaseBase\addQuotes(), fetchObject(), DatabaseBase\query(), and wfDebug().

◆ lockIsFree()

DatabaseMysqlBase::lockIsFree (   $lockName,
  $method 
)

Check to see if a named lock is available.

This is non-blocking.

Parameters
string$lockNamename of lock to poll
string$methodname of method calling us
Returns
bool
Since
1.20

Reimplemented from DatabaseBase.

Definition at line 853 of file DatabaseMysqlBase.php.

References DatabaseBase\addQuotes(), fetchObject(), and DatabaseBase\query().

◆ lockTables()

DatabaseMysqlBase::lockTables (   $read,
  $write,
  $method,
  $lowPriority = true 
)
Parameters
array$read
array$write
string$method
bool$lowPriority
Returns
bool

Reimplemented from DatabaseBase.

Definition at line 903 of file DatabaseMysqlBase.php.

References array(), as, DatabaseBase\query(), and DatabaseBase\tableName().

◆ lowPriorityOption()

DatabaseMysqlBase::lowPriorityOption ( )
Returns
string

Reimplemented from DatabaseBase.

Definition at line 797 of file DatabaseMysqlBase.php.

◆ masterPosWait()

DatabaseMysqlBase::masterPosWait ( DBMasterPos  $pos,
  $timeout 
)

Wait for the slave to catch up to a given master position.

Todo:
Return values for this and base class are rubbish
Parameters
DBMasterPos | MySQLMasterPos$pos
int$timeoutThe maximum number of seconds to wait for synchronisation
Returns
int Zero if the slave was past that position already, greater than zero if we waited for some period of time, less than zero if we timed out.

Reimplemented from DatabaseBase.

Definition at line 689 of file DatabaseMysqlBase.php.

References $res, $wait, DatabaseBase\addQuotes(), DatabaseBase\commit(), DatabaseBase\doQuery(), fetchRow(), wfDebug(), wfProfileIn(), and wfProfileOut().

◆ mysqlConnect()

DatabaseMysqlBase::mysqlConnect (   $realServer)
abstractprotected

Open a connection to a MySQL server.

Parameters
string$realServer
Returns
mixed Raw connection
Exceptions
DBConnectionError

Reimplemented in DatabaseMysqli, DatabaseMysql, and FakeDatabaseMysqlBase.

Referenced by open().

◆ mysqlDataSeek()

DatabaseMysqlBase::mysqlDataSeek (   $res,
  $row 
)
abstractprotected

Move internal result pointer.

Parameters
ResultWrapper | resource$res
int$row
Returns
bool

Reimplemented in DatabaseMysqli, DatabaseMysql, and FakeDatabaseMysqlBase.

Referenced by dataSeek().

◆ mysqlError()

DatabaseMysqlBase::mysqlError (   $conn = null)
abstractprotected

Returns the text of the error message from previous MySQL operation.

Parameters
resource$connRaw connection
Returns
string

Reimplemented in DatabaseMysqli, DatabaseMysql, and FakeDatabaseMysqlBase.

Referenced by lastError().

◆ mysqlFetchArray()

DatabaseMysqlBase::mysqlFetchArray (   $res)
abstractprotected

Fetch a result row as an associative and numeric array.

Parameters
resource$resRaw result
Returns
array

Reimplemented in DatabaseMysqli, DatabaseMysql, and FakeDatabaseMysqlBase.

Referenced by fetchRow().

◆ mysqlFetchField()

DatabaseMysqlBase::mysqlFetchField (   $res,
  $n 
)
abstractprotected

Get column information from a result.

Parameters
resource$resRaw result
int$n
Returns
stdClass

Reimplemented in DatabaseMysqli, DatabaseMysql, and FakeDatabaseMysqlBase.

Referenced by fieldInfo().

◆ mysqlFetchObject()

DatabaseMysqlBase::mysqlFetchObject (   $res)
abstractprotected

Fetch a result row as an object.

Parameters
resource$resRaw result
Returns
stdClass

Reimplemented in DatabaseMysqli, DatabaseMysql, and FakeDatabaseMysqlBase.

Referenced by fetchObject().

◆ mysqlFieldName()

DatabaseMysqlBase::mysqlFieldName (   $res,
  $n 
)
abstractprotected

Get the name of the specified field in a result.

Parameters
ResultWrapper | resource$res
$nint
Returns
string

Reimplemented in DatabaseMysqli, DatabaseMysql, and FakeDatabaseMysqlBase.

Referenced by fieldName().

◆ mysqlFieldType()

DatabaseMysqlBase::mysqlFieldType (   $res,
  $n 
)
abstractprotected

Get the type of the specified field in a result.

Parameters
ResultWrapper | resource$res
int$n
Returns
string

Reimplemented in DatabaseMysqli, DatabaseMysql, and FakeDatabaseMysqlBase.

Referenced by fieldType().

◆ mysqlFreeResult()

DatabaseMysqlBase::mysqlFreeResult (   $res)
abstractprotected

Free result memory.

Parameters
resource$resRaw result
Returns
bool

Reimplemented in DatabaseMysqli, DatabaseMysql, and FakeDatabaseMysqlBase.

Referenced by freeResult().

◆ mysqlNumFields()

DatabaseMysqlBase::mysqlNumFields (   $res)
abstractprotected

Get number of fields in result.

Parameters
resource$resRaw result
Returns
int

Reimplemented in DatabaseMysqli, DatabaseMysql, and FakeDatabaseMysqlBase.

Referenced by fieldInfo(), and numFields().

◆ mysqlNumRows()

DatabaseMysqlBase::mysqlNumRows (   $res)
abstractprotected

Get number of rows in result.

Parameters
resource$resRaw result
Returns
int

Reimplemented in DatabaseMysqli, DatabaseMysql, and FakeDatabaseMysqlBase.

Referenced by numRows().

◆ mysqlPing()

DatabaseMysqlBase::mysqlPing ( )
abstractprotected

Ping a server connection or reconnect if there is no connection.

Returns
bool

Reimplemented in DatabaseMysqli, DatabaseMysql, and FakeDatabaseMysqlBase.

Referenced by ping().

◆ mysqlSetCharset()

DatabaseMysqlBase::mysqlSetCharset (   $charset)
abstractprotected

Set the character set of the MySQL link.

Parameters
string$charset
Returns
bool

Reimplemented in DatabaseMysqli, DatabaseMysql, and FakeDatabaseMysqlBase.

Referenced by connectInitCharset().

◆ numFields()

DatabaseMysqlBase::numFields (   $res)
Parameters
ResultWrapper | resource$res
Returns
int

Implements DatabaseType.

Definition at line 304 of file DatabaseMysqlBase.php.

References $res, and mysqlNumFields().

◆ numRows()

DatabaseMysqlBase::numRows (   $res)
Exceptions
DBUnexpectedError
Parameters
ResultWrapper | resource$res
Returns
int

Implements DatabaseType.

Definition at line 276 of file DatabaseMysqlBase.php.

References $n, $res, mysqlNumRows(), wfRestoreWarnings(), and wfSuppressWarnings().

Referenced by estimateRowCount().

◆ open()

DatabaseMysqlBase::open (   $server,
  $user,
  $password,
  $dbName 
)

◆ ping()

DatabaseMysqlBase::ping ( )
Returns
bool

Reimplemented from DatabaseBase.

Definition at line 563 of file DatabaseMysqlBase.php.

References DatabaseBase\closeConnection(), mysqlPing(), and open().

Referenced by strencode().

◆ replace()

DatabaseMysqlBase::replace (   $table,
  $uniqueIndexes,
  $rows,
  $fname = __METHOD__ 
)
Parameters
string$table
array$uniqueIndexes
array$rows
string$fname
Returns
ResultWrapper

Reimplemented from DatabaseBase.

Definition at line 424 of file DatabaseMysqlBase.php.

References $fname, and DatabaseBase\nativeReplace().

◆ setBigSelects()

DatabaseMysqlBase::setBigSelects (   $value = true)
Parameters
bool$value
Returns
mixed null|bool|ResultWrapper

Reimplemented from DatabaseBase.

Definition at line 945 of file DatabaseMysqlBase.php.

References DatabaseBase\$mDefaultBigSelects, $value, DatabaseBase\query(), and DatabaseBase\selectField().

◆ setFakeMaster()

DatabaseMysqlBase::setFakeMaster (   $enabled = true)

Make this connection a fake master.

Parameters
bool$enabled

Reimplemented from DatabaseBase.

Definition at line 598 of file DatabaseMysqlBase.php.

◆ setFakeSlaveLag()

DatabaseMysqlBase::setFakeSlaveLag (   $lag)

Set lag time in seconds for a fake slave.

Parameters
int$lag

Reimplemented from DatabaseBase.

Definition at line 589 of file DatabaseMysqlBase.php.

◆ setSessionOptions()

DatabaseMysqlBase::setSessionOptions ( array  $options)
Parameters
array$options

Reimplemented from DatabaseBase.

Definition at line 822 of file DatabaseMysqlBase.php.

References $options, and DatabaseBase\query().

◆ streamStatementEnd()

DatabaseMysqlBase::streamStatementEnd ( $sql,
$newLine 
)
Parameters
string$sql
string$newLine
Returns
bool

Reimplemented from DatabaseBase.

Definition at line 835 of file DatabaseMysqlBase.php.

◆ strencode()

DatabaseMysqlBase::strencode (   $s)
Parameters
string$s
Returns
string

Implements DatabaseType.

Definition at line 529 of file DatabaseMysqlBase.php.

References $s, and ping().

◆ unlock()

DatabaseMysqlBase::unlock (   $lockName,
  $method 
)

FROM MYSQL DOCS: http://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html#function_release-lock.

Parameters
string$lockName
string$method
Returns
bool

Reimplemented from DatabaseBase.

Definition at line 888 of file DatabaseMysqlBase.php.

References DatabaseBase\addQuotes(), fetchObject(), and DatabaseBase\query().

◆ unlockTables()

DatabaseMysqlBase::unlockTables (   $method)
Parameters
string$method
Returns
bool

Reimplemented from DatabaseBase.

Definition at line 925 of file DatabaseMysqlBase.php.

References DatabaseBase\query().

◆ upsert()

DatabaseMysqlBase::upsert (   $table,
array  $rows,
array  $uniqueIndexes,
array  $set,
  $fname = __METHOD__ 
)
Parameters
string$table
array$rows
array$uniqueIndexes
array$set
string$fname
Returns
bool

Reimplemented from DatabaseBase.

Definition at line 995 of file DatabaseMysqlBase.php.

References $columns, $fname, array(), as, LIST_SET, DatabaseBase\makeList(), DatabaseBase\query(), and DatabaseBase\tableName().

◆ useIndexClause()

DatabaseMysqlBase::useIndexClause (   $index)
Parameters
string$index
Returns
string

Reimplemented from DatabaseBase.

Definition at line 790 of file DatabaseMysqlBase.php.

References DatabaseBase\indexName().

◆ wasDeadlock()

DatabaseMysqlBase::wasDeadlock ( )

Determines if the last failure was due to a deadlock.

Returns
bool

Reimplemented from DatabaseBase.

Definition at line 1036 of file DatabaseMysqlBase.php.

References DatabaseType\lastErrno().

◆ wasErrorReissuable()

DatabaseMysqlBase::wasErrorReissuable ( )

Determines if the last query error was something that should be dealt with by pinging the connection and reissuing the query.

Returns
bool

Reimplemented from DatabaseBase.

Definition at line 1055 of file DatabaseMysqlBase.php.

References DatabaseType\lastErrno().

◆ wasLockTimeout()

DatabaseMysqlBase::wasLockTimeout ( )

Determines if the last failure was due to a lock timeout.

Returns
bool

Reimplemented from DatabaseBase.

Definition at line 1045 of file DatabaseMysqlBase.php.

References DatabaseType\lastErrno().

◆ wasReadOnlyError()

DatabaseMysqlBase::wasReadOnlyError ( )

Determines if the last failure was due to the database being read-only.

Returns
bool

Reimplemented from DatabaseBase.

Definition at line 1064 of file DatabaseMysqlBase.php.

References false, DatabaseType\lastErrno(), and lastError().

Member Data Documentation

◆ $lastKnownSlavePos

MysqlMasterPos DatabaseMysqlBase::$lastKnownSlavePos
protected

Definition at line 33 of file DatabaseMysqlBase.php.

◆ $mFakeMaster

DatabaseMysqlBase::$mFakeMaster = false
protected

Definition at line 37 of file DatabaseMysqlBase.php.

◆ $mFakeSlaveLag

null int DatabaseMysqlBase::$mFakeSlaveLag = null
protected

Definition at line 35 of file DatabaseMysqlBase.php.

Referenced by getLag().


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