MediaWiki  REL1_20
DatabaseMysql Class Reference

Database abstraction object for mySQL Inherit all methods and properties of Database::Database() More...

Inheritance diagram for DatabaseMysql:
Collaboration diagram for DatabaseMysql:

List of all members.

Public Member Functions

 addIdentifierQuotes ($s)
 MySQL uses `backticks` for identifier quoting instead of the sql standard "double quotes".
 affectedRows ()
 dataSeek ($res, $row)
 deleteJoin ($delTable, $joinTable, $delVar, $joinVar, $conds, $fname= 'DatabaseBase::deleteJoin')
 DELETE where the condition is a join.
 dropTable ($tableName, $fName= 'DatabaseMysql::dropTable')
 duplicateTableStructure ($oldName, $newName, $temporary=false, $fname= 'DatabaseMysql::duplicateTableStructure')
 estimateRowCount ($table, $vars='*', $conds='', $fname= 'DatabaseMysql::estimateRowCount', $options=array())
 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)
 freeResult ($res)
 getLag ()
 Returns slave lag.
 getLagFromProcesslist ()
 getLagFromSlaveStatus ()
 getMasterPos ()
 Get the position of the master from SHOW MASTER STATUS.
 getMysqlStatus ($which="%")
 Get status information from SHOW STATUS in an associative array.
 getSearchEngine ()
 Get search engine class.
 getServerUptime ()
 Determines how long the server has been up.
 getServerVersion ()
 getSlavePos ()
 Get the position of the master from SHOW SLAVE STATUS.
 getType ()
 indexInfo ($table, $index, $fname= 'DatabaseMysql::indexInfo')
 Get information about an index into an object Returns false if the index does not exist.
 insertId ()
 isQuotedIdentifier ($name)
 lastErrno ()
 lastError ()
 listTables ($prefix=null, $fname= 'DatabaseMysql::listTables')
 List all tables on 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 slave to catch up to a given master position.
 numFields ($res)
 numRows ($res)
 open ($server, $user, $password, $dbName)
 ping ()
 replace ($table, $uniqueIndexes, $rows, $fname= 'DatabaseMysql::replace')
 selectDB ($db)
 setBigSelects ($value=true)
 setSessionOptions (array $options)
 streamStatementEnd (&$sql, &$newLine)
 Called by sourceStream() to check if we've reached a statement end.
 strencode ($s)
 unlock ($lockName, $method)
 FROM MYSQL DOCS: http://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html#function_release-lock.
 unlockTables ($method)
 useIndexClause ($index)
 wasDeadlock ()
 Determines if the last failure was due to a deadlock.
 wasErrorReissuable ()
 Determines if the last query error was something that 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.

Static Public Member Functions

static getSoftwareLink ()

Protected Member Functions

 closeConnection ()
 doQuery ($sql)
 getDefaultSchemaVars ()

Detailed Description

Database abstraction object for mySQL Inherit all methods and properties of Database::Database()

See also:
Database

Definition at line 31 of file DatabaseMysql.php.


Member Function Documentation

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

Parameters:
$sstring
Returns:
string

Reimplemented from DatabaseBase.

Definition at line 466 of file DatabaseMysql.php.

References $s, and strencode().

Referenced by duplicateTableStructure().

Returns:
int

Implements DatabaseType.

Definition at line 337 of file DatabaseMysql.php.

Returns:
bool

Reimplemented from DatabaseBase.

Definition at line 174 of file DatabaseMysql.php.

DatabaseMysql::dataSeek ( res,
row 
)
Parameters:
$resResultWrapper
$row
Returns:
bool

Implements DatabaseType.

Definition at line 295 of file DatabaseMysql.php.

References $res.

DatabaseMysql::deleteJoin ( delTable,
joinTable,
delVar,
joinVar,
conds,
fname = 'DatabaseBase::deleteJoin' 
)

DELETE where the condition is a join.

MySql uses multi-table deletes.

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

Reimplemented from DatabaseBase.

Definition at line 811 of file DatabaseMysql.php.

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

DatabaseMysql::doQuery ( sql) [protected]
Parameters:
$sqlstring
Returns:
resource

Reimplemented from DatabaseBase.

Definition at line 44 of file DatabaseMysql.php.

References DatabaseBase\bufferResults().

Referenced by masterPosWait().

DatabaseMysql::dropTable ( tableName,
fName = 'DatabaseMysql::dropTable' 
)
Parameters:
$tableName
$fNamestring
Returns:
bool|ResultWrapper

Reimplemented from DatabaseBase.

Definition at line 918 of file DatabaseMysql.php.

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

DatabaseMysql::duplicateTableStructure ( oldName,
newName,
temporary = false,
fname = 'DatabaseMysql::duplicateTableStructure' 
)
Parameters:
$oldName
$newName
$temporarybool
$fnamestring

Reimplemented from DatabaseBase.

Definition at line 881 of file DatabaseMysql.php.

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

DatabaseMysql::estimateRowCount ( table,
vars = '*',
conds = '',
fname = 'DatabaseMysql::estimateRowCount',
options = array() 
)

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

Parameters:
$tablestring|array
$varsstring|array
$condsstring|array
$fnamestring
$optionsstring|array
Returns:
int

Reimplemented from DatabaseBase.

Definition at line 364 of file DatabaseMysql.php.

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

Parameters:
$resResultWrapper
Returns:
object|stdClass
Exceptions:
DBUnexpectedError

Implements DatabaseType.

Definition at line 199 of file DatabaseMysql.php.

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

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

Parameters:
$resResultWrapper
Returns:
array
Exceptions:
DBUnexpectedError

Implements DatabaseType.

Definition at line 223 of file DatabaseMysql.php.

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

Referenced by masterPosWait().

DatabaseMysql::fieldInfo ( table,
field 
)
Parameters:
$tablestring
$fieldstring
Returns:
bool|MySQLField

Implements DatabaseType.

Definition at line 386 of file DatabaseMysql.php.

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

DatabaseMysql::fieldName ( res,
n 
)
Parameters:
$resResultWrapper
$nstring
Returns:
string

Implements DatabaseType.

Definition at line 276 of file DatabaseMysql.php.

References $n, and $res.

Parameters:
$resResultWrapper
Exceptions:
DBUnexpectedError

Reimplemented from DatabaseBase.

Definition at line 182 of file DatabaseMysql.php.

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

Returns:
array

Reimplemented from DatabaseBase.

Definition at line 928 of file DatabaseMysql.php.

Returns slave lag.

This will do a SHOW SLAVE STATUS

Returns:
int

Reimplemented from DatabaseBase.

Definition at line 501 of file DatabaseMysql.php.

References getLagFromSlaveStatus(), and wfDebug().

Deprecated:
in 1.19, use getLagFromSlaveStatus
Returns:
bool|int

Definition at line 534 of file DatabaseMysql.php.

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

Returns:
bool|int

Definition at line 513 of file DatabaseMysql.php.

References $res, and DatabaseBase\query().

Referenced by getLag().

Get the position of the master from SHOW MASTER STATUS.

Returns:
MySQLMasterPos|bool

Reimplemented from DatabaseBase.

Definition at line 632 of file DatabaseMysql.php.

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

DatabaseMysql::getMysqlStatus ( which = "%")

Get status information from SHOW STATUS in an associative array.

Parameters:
$whichstring
Returns:
array

Definition at line 941 of file DatabaseMysql.php.

References $res, and DatabaseBase\query().

Referenced by getServerUptime().

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 778 of file DatabaseMysql.php.

Determines how long the server has been up.

Returns:
int

Reimplemented from DatabaseBase.

Definition at line 832 of file DatabaseMysql.php.

References getMysqlStatus().

Returns:
string

Implements DatabaseType.

Definition at line 650 of file DatabaseMysql.php.

Get the position of the master from SHOW SLAVE STATUS.

Returns:
MySQLMasterPos|bool

Reimplemented from DatabaseBase.

Definition at line 611 of file DatabaseMysql.php.

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

static DatabaseMysql::getSoftwareLink ( ) [static]
Returns:
string

Implements DatabaseType.

Definition at line 672 of file DatabaseMysql.php.

Returns:
string

Implements DatabaseType.

Definition at line 36 of file DatabaseMysql.php.

DatabaseMysql::indexInfo ( table,
index,
fname = 'DatabaseMysql::indexInfo' 
)

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

Parameters:
$tablestring
$indexstring
$fnamestring
Returns:
bool|array|null False or null on failure

Implements DatabaseType.

Definition at line 411 of file DatabaseMysql.php.

References $fname, $res, $result, DatabaseBase\indexName(), DatabaseBase\query(), and DatabaseBase\tableName().

Returns:
int

Implements DatabaseType.

Definition at line 286 of file DatabaseMysql.php.

Parameters:
$namestring
Returns:
bool

Reimplemented from DatabaseBase.

Definition at line 474 of file DatabaseMysql.php.

Returns:
string

Implements DatabaseType.

Definition at line 316 of file DatabaseMysql.php.

References wfRestoreWarnings(), and wfSuppressWarnings().

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

DatabaseMysql::listTables ( prefix = null,
fname = 'DatabaseMysql::listTables' 
)

List all tables on the database.

Parameters:
$prefixstring Only show tables with this prefix, e.g. mw_
$fnameString: calling function name
Returns:
array

Reimplemented from DatabaseBase.

Definition at line 896 of file DatabaseMysql.php.

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

DatabaseMysql::lock ( lockName,
method,
timeout = 5 
)
Parameters:
$lockNamestring
$methodstring
$timeoutint
Returns:
bool

Reimplemented from DatabaseBase.

Definition at line 717 of file DatabaseMysql.php.

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

DatabaseMysql::lockIsFree ( lockName,
method 
)

Check to see if a named lock is available.

This is non-blocking.

Parameters:
$lockNameString: name of lock to poll
$methodString: name of method calling us
Returns:
Boolean
Since:
1.20

Reimplemented from DatabaseBase.

Definition at line 704 of file DatabaseMysql.php.

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

DatabaseMysql::lockTables ( read,
write,
method,
lowPriority = true 
)
Parameters:
$readarray
$writearray
$methodstring
$lowPrioritybool

Reimplemented from DatabaseBase.

Definition at line 749 of file DatabaseMysql.php.

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

Returns:
string

Reimplemented from DatabaseBase.

Definition at line 665 of file DatabaseMysql.php.

DatabaseMysql::masterPosWait ( DBMasterPos pos,
timeout 
)

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

Parameters:
$posDBMasterPos object
$timeoutInteger: the maximum number of seconds to wait for synchronisation
Returns:
bool|string

Reimplemented from DatabaseBase.

Definition at line 576 of file DatabaseMysql.php.

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

Parameters:
$resResultWrapper
Returns:
int

Implements DatabaseType.

Definition at line 264 of file DatabaseMysql.php.

References $res.

Exceptions:
DBUnexpectedError
Parameters:
$resResultWrapper
Returns:
int

Implements DatabaseType.

Definition at line 247 of file DatabaseMysql.php.

References $n, $res, lastErrno(), lastError(), wfRestoreWarnings(), and wfSuppressWarnings().

Referenced by estimateRowCount().

DatabaseMysql::open ( server,
user,
password,
dbName 
)
Returns:
bool

Reimplemented from DatabaseBase.

Definition at line 481 of file DatabaseMysql.php.

References open().

Referenced by strencode().

DatabaseMysql::replace ( table,
uniqueIndexes,
rows,
fname = 'DatabaseMysql::replace' 
)
Parameters:
$tablestring
$uniqueIndexes
$rowsarray
$fnamestring
Returns:
ResultWrapper

Reimplemented from DatabaseBase.

Definition at line 348 of file DatabaseMysql.php.

References $fname, and DatabaseBase\nativeReplace().

Parameters:
$db
Returns:
bool

Reimplemented from DatabaseBase.

Definition at line 439 of file DatabaseMysql.php.

DatabaseMysql::setBigSelects ( value = true)
Parameters:
bool$value
Returns:
mixed

Reimplemented from DatabaseBase.

Definition at line 786 of file DatabaseMysql.php.

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

DatabaseMysql::setSessionOptions ( array $  options)
Parameters:
$optionsarray

Reimplemented from DatabaseBase.

Definition at line 679 of file DatabaseMysql.php.

References DatabaseBase\query().

DatabaseMysql::streamStatementEnd ( &$  sql,
&$  newLine 
)

Called by sourceStream() to check if we've reached a statement end.

Parameters:
$sqlString SQL assembled so far
$newLineString New line about to be added to $sql
Returns:
Bool Whether $newLine contains end of the statement

Reimplemented from DatabaseBase.

Definition at line 687 of file DatabaseMysql.php.

Parameters:
$sstring
Returns:
string

Implements DatabaseType.

Definition at line 449 of file DatabaseMysql.php.

References $s, and ping().

Referenced by addIdentifierQuotes().

DatabaseMysql::unlock ( lockName,
method 
)

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

Parameters:
$lockNamestring
$methodstring
Returns:
bool

Reimplemented from DatabaseBase.

Definition at line 736 of file DatabaseMysql.php.

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

Parameters:
$methodstring

Reimplemented from DatabaseBase.

Definition at line 768 of file DatabaseMysql.php.

References DatabaseBase\query().

Parameters:
$index
Returns:
string

Reimplemented from DatabaseBase.

Definition at line 658 of file DatabaseMysql.php.

References DatabaseBase\indexName().

Determines if the last failure was due to a deadlock.

Returns:
bool

Reimplemented from DatabaseBase.

Definition at line 842 of file DatabaseMysql.php.

References lastErrno().

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 861 of file DatabaseMysql.php.

References lastErrno().

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

Returns:
bool

Reimplemented from DatabaseBase.

Definition at line 851 of file DatabaseMysql.php.

References lastErrno().

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

Returns:
bool

Reimplemented from DatabaseBase.

Definition at line 870 of file DatabaseMysql.php.

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


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