MediaWiki REL1_31
|
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. | |
buildIntegerCast ( $field) | |
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, $var=' *', $conds='', $fname=__METHOD__, $options=[], $join_conds=[]) | |
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) | |
getLag () | |
Get the amount of replication lag for this database server. | |
getMasterPos () | |
Get the position of the master from SHOW MASTER STATUS. | |
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. | |
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. | |
tableLocksHaveTransactionScope () | |
Checks if table locks acquired by lockTables() are transaction-bound in their scope. | |
unlock ( $lockName, $method) | |
FROM MYSQL DOCS: https://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html#function_release-lock. | |
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. | |
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 Wikimedia\Rdbms\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 () | |
affectedRows () | |
Get the number of rows affected by the last write query. | |
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(). | |
buildSelectSubquery ( $table, $vars, $conds='', $fname=__METHOD__, $options=[], $join_conds=[]) | |
Equivalent to IDatabase::selectSQLText() except wraps the result in Subqyery. | |
buildStringCast ( $field) | |
buildSubstring ( $input, $startPosition, $length=null) | |
cancelAtomic ( $fname=__METHOD__, AtomicSectionIdentifier $sectionId=null) | |
Cancel an atomic section of SQL statements. | |
clearFlag ( $flag, $remember=self::REMEMBER_NOTHING) | |
Clear a flag for this connection. | |
close () | |
Close the database connection. | |
commit ( $fname=__METHOD__, $flush=self::FLUSHING_ONE) | |
Commits a transaction previously started using begin(). | |
conditional ( $cond, $trueVal, $falseVal) | |
Returns an SQL expression for a simple conditional. | |
connectionErrorLogger ( $errno, $errstr) | |
Error handler for logging errors during database connection This method should not be used outside of Database classes. | |
databasesAreIndependent () | |
Returns true if DBs are assumed to be on potentially different servers. | |
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, $cancelable=self::ATOMIC_NOT_CANCELABLE) | |
Perform an atomic section of reversable SQL statements from a callback. | |
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. | |
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. | |
initConnection () | |
Initialize the connection to the database over the wire (or to local files) | |
insert ( $table, $a, $fname=__METHOD__, $options=[]) | |
INSERT wrapper, inserts an array into a table. | |
insertSelect ( $destTable, $srcTable, $varMap, $conds, $fname=__METHOD__, $insertOptions=[], $selectOptions=[], $selectJoinConds=[]) | |
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. | |
lockTables (array $read, array $write, $method) | |
Lock specific tables. | |
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) | |
Deprecated method, calls should be removed. | |
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. | |
pendingWriteRowsAffected () | |
Get the number of affected rows from pending write queries. | |
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=[], $join_conds=[]) | |
A SELECT wrapper which returns a single field from a single result row. | |
selectFieldValues ( $table, $var, $cond='', $fname=__METHOD__, $options=[], $join_conds=[]) | |
A SELECT wrapper which returns a list of single field values from result rows. | |
selectRow ( $table, $vars, $conds, $fname=__METHOD__, $options=[], $join_conds=[]) | |
Single row SELECT wrapper. | |
selectRowCount ( $tables, $var=' *', $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. | |
setIndexAliases (array $aliases) | |
Convert certain index names to alternative names before querying the DB. | |
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) | |
Set the PSR-3 logger interface to use for query logging. | |
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__, $cancelable=self::ATOMIC_NOT_CANCELABLE) | |
Begin an atomic section of SQL statements. | |
strreplace ( $orig, $old, $new) | |
Returns a command 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. | |
trxStatus () | |
trxTimestamp () | |
Get the UNIX timestamp of the time that the transaction was established. | |
unionConditionPermutations ( $table, $vars, array $permute_conds, $extra_conds='', $fname=__METHOD__, $options=[], $join_conds=[]) | |
Construct a UNION query for permutations of conditions. | |
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. | |
unlockTables ( $method) | |
Unlock all tables locked via lockTables() | |
update ( $table, $values, $conds, $fname=__METHOD__, $options=[]) | |
UPDATE wrapper. | |
wasConnectionLoss () | |
Determines if the last query error was due to a dropped connection. | |
wasErrorReissuable () | |
Determines if the last query error was due to something outside of the query itself. | |
writesOrCallbacksPending () | |
Returns true if there is a transaction/round open with possible write queries or transaction pre-commit/idle callbacks waiting on it to finish. | |
writesPending () | |
Public Member Functions inherited from Wikimedia\Rdbms\IDatabase | |
buildSubString ( $input, $startPosition, $length=null) | |
Build a SUBSTRING function. | |
insertId () | |
Get the inserted value of an auto-increment row. | |
lastErrno () | |
Get the last error number. | |
Public Attributes | |
const | SERVER_ID_CACHE_TTL = 86400 |
Public Attributes inherited from Wikimedia\Rdbms\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 = 0.500 |
const | SMALL_WRITE_ROWS = 100 |
const | TINY_WRITE_SEC = 0.010 |
Protected Member Functions | |
connectInitCharset () | |
Set the character set information right after connection. | |
doLockTables (array $read, array $write, $method) | |
Helper function for lockTables() that handles the actual table locking. | |
doUnlockTables ( $method) | |
Helper function for unlockTables() that handles the actual table unlocking. | |
getApproximateLagStatus () | |
Get a replica DB lag estimate for this server. | |
getHeartbeatData (array $conds) | |
getLagDetectionMethod () | |
getLagFromPtHeartbeat () | |
getLagFromSlaveStatus () | |
getMasterServerInfo () | |
getReplicationSafetyInfo () | |
getServerGTIDs ( $fname=__METHOD__) | |
getServerId () | |
getServerRoleStatus ( $role, $fname=__METHOD__) | |
getServerUUID () | |
isInsertSelectSafe (array $insertOptions, array $selectOptions) | |
isTransactableQuery ( $sql) | |
Determine whether a SQL statement is sensitive to isolation level. | |
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. | |
useGTIDs () | |
wasKnownStatementRollbackError () | |
wasQueryTimeout ( $error, $errno) | |
Checks whether the cause of the error is detected to be a timeout. | |
Protected Member Functions inherited from Wikimedia\Rdbms\Database | |
assertBuildSubstringParams ( $startPosition, $length) | |
Check type and bounds for parameters to self::buildSubstring() | |
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. | |
doInitConnection () | |
Actually connect to the database over the wire (or to local files) | |
doQuery ( $sql) | |
Run a query and return a DBMS-dependent wrapper (that has all IResultWrapper methods) | |
doReleaseSavepoint ( $identifier, $fname) | |
Release a savepoint. | |
doRollback ( $fname) | |
Issues the ROLLBACK command to the database server. | |
doRollbackToSavepoint ( $identifier, $fname) | |
Rollback to a savepoint. | |
doSavepoint ( $identifier, $fname) | |
Create a savepoint. | |
escapeLikeInternal ( $s, $escapeChar='`') | |
extractSingleFieldFromList ( $var) | |
fetchAffectedRowCount () | |
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 connection handle. | |
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 () | |
getRecordedTransactionLagStatus () | |
Get the replica DB lag when the current transaction started. | |
getSchemaVars () | |
Get schema variables. | |
getTransactionRoundId () | |
indexName ( $index) | |
Allows for index remapping in queries where this is not consistent across DBMS. | |
installErrorHandler () | |
Set a custom error handler for logging errors during database connection. | |
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=[], $selectJoinConds=[]) | |
Native server-side implementation of insertSelect() for situations where we don't want to select everything into memory. | |
nativeReplace ( $table, $rows, $fname) | |
REPLACE query wrapper for MySQL and SQLite, which have a native REPLACE statement. | |
nonNativeInsertSelect ( $destTable, $srcTable, $varMap, $conds, $fname=__METHOD__, $insertOptions=[], $selectOptions=[], $selectJoinConds=[]) | |
Implementation of insertSelect() based on select() and insert() | |
normalizeConditions ( $conds, $fname) | |
pendingWriteAndCallbackCallers () | |
Get the list of method names that have pending write queries or callbacks for this transaction. | |
qualifiedTableComponents ( $name) | |
Get the table components needed for a query given the currently selected database. | |
registerTempTableOperation ( $sql) | |
replaceLostConnection ( $fname) | |
Close any existing (dead) database connection and open a new connection. | |
replaceVars ( $ins) | |
Database independent variable replacement. | |
restoreErrorHandler () | |
Restore the previous error handler and return the last PHP error for this DB. | |
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 ( $table, $alias=false) | |
Get an aliased table name. | |
Protected Attributes | |
bool null | $defaultBigSelects = null |
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 | $sslCAFile |
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 Wikimedia\Rdbms\Database | |
integer null | $affectedRowCount |
Rows affected by the last query to query() or its CRUD wrappers. | |
string | $agent |
Agent name for query profiling. | |
bool | $cliMode |
Whether this PHP instance is for a CLI script. | |
resource null | $conn = null |
Database connection. | |
array | $connectionParams = [] |
Parameters used by initConnection() to establish a connection. | |
LoggerInterface | $connLogger |
DatabaseDomain | $currentDomain |
string | $dbName |
Database that this instance is currently connected to. | |
string | $delimiter = ';' |
callback | $deprecationLogger |
Deprecation logging callback. | |
callback | $errorLogger |
Error logging callback. | |
int | $flags |
string bool null | $htmlErrors |
Stashed value of html_errors INI setting. | |
string[] | $indexAliases = [] |
Map of (index alias => index) | |
float | $lastPing = 0.0 |
UNIX timestamp. | |
string | $lastQuery = '' |
SQL query. | |
float bool | $lastWriteTime = false |
UNIX timestamp of last write query. | |
array | $lbInfo = [] |
int | $nonNativeInsertSelectBatchSize = 10000 |
bool | $opened = false |
string | $password |
Password used to establish the current connection. | |
string bool | $phpError = false |
array null | $preparedArgs |
object string | $profiler |
Class name or object With profileIn/profileOut methods. | |
LoggerInterface | $queryLogger |
string | $schema = '' |
array bool | $schemaVars = false |
string | $server |
Server that this instance is currently connected to. | |
array | $sessionTempTables = [] |
Map of (table name => 1) for TEMPORARY tables. | |
array | $sessionVars = [] |
BagOStuff | $srvCache |
APC cache. | |
array[] | $tableAliases = [] |
Map of (table => (dbname, schema, prefix) map) | |
string | $tablePrefix = '' |
array[] | $trxEndCallbacks = [] |
List of (callable, method name, atomic section id) | |
bool | $trxEndCallbacksSuppressed = false |
Whether to suppress triggering of transaction end callbacks. | |
array[] | $trxIdleCallbacks = [] |
List of (callable, method name, atomic section id) | |
int | $trxLevel = 0 |
Either 1 if a transaction is active or 0 otherwise. | |
array[] | $trxPreCommitCallbacks = [] |
List of (callable, method name, atomic section id) | |
TransactionProfiler | $trxProfiler |
callable[] | $trxRecurringCallbacks = [] |
Map of (name => callable) | |
string | $trxShortId = '' |
Either a short hexidecimal string if a transaction is active or "". | |
int | $trxStatus = self::STATUS_TRX_NONE |
Transaction status. | |
Exception null | $trxStatusCause |
The last error that caused the status to become STATUS_TRX_ERROR. | |
array null | $trxStatusIgnoredCause |
If wasKnownStatementRollbackError() prevented trxStatus from being set, the relevant details are stored here. | |
string | $user |
User that this instance is currently connected under the name of. | |
Private Member Functions | |
getMysqlStatus ( $which="%") | |
Get status information from SHOW STATUS in an associative array. | |
makeLockName ( $lockName) | |
Private Attributes | |
bool null | $insertSelectIsSafe = null |
stdClass null | $replicationInfoRow = null |
string null | $serverVersion = null |
Additional Inherited Members | |
Static Public Member Functions inherited from Wikimedia\Rdbms\Database | |
static | attributesFromType ( $dbType, $driver=null) |
static | factory ( $dbType, $p=[], $connect=self::NEW_CONNECTED) |
Construct a Database subclass instance given a database type and parameters. | |
static | getCacheSetOptions (IDatabase $db1, IDatabase $db2=null) |
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. | |
Static Protected Member Functions inherited from Wikimedia\Rdbms\Database | |
static | generalizeSQL ( $sql) |
Removes most variables from an SQL query and replaces them with X or N for numbers. | |
static | getAttributes () |
Database abstraction object for MySQL.
Defines methods independent on used MySQL extension.
Definition at line 40 of file DatabaseMysqlBase.php.
Wikimedia\Rdbms\DatabaseMysqlBase::__construct | ( | array | $params | ) |
Additional $params include:
array | $params |
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 98 of file DatabaseMysqlBase.php.
References $params, and Wikimedia\Rdbms\DatabaseMysqlBase\useGTIDs().
Wikimedia\Rdbms\DatabaseMysqlBase::addIdentifierQuotes | ( | $s | ) |
MySQL uses backticks
for identifier quoting instead of the sql standard "double quotes".
string | $s |
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 720 of file DatabaseMysqlBase.php.
References $s.
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\duplicateTableStructure(), Wikimedia\Rdbms\DatabaseMysqlBase\open(), and Wikimedia\Rdbms\DatabaseMysqlBase\tableExists().
Wikimedia\Rdbms\DatabaseMysqlBase::addQuotes | ( | $s | ) |
Adds quotes and backslashes.
string | int | null | bool | Blob | $s |
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 704 of file DatabaseMysqlBase.php.
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\lock(), Wikimedia\Rdbms\DatabaseMysqlBase\lockIsFree(), Wikimedia\Rdbms\DatabaseMysqlBase\masterPosWait(), Wikimedia\Rdbms\DatabaseMysqlBase\open(), and Wikimedia\Rdbms\DatabaseMysqlBase\unlock().
Wikimedia\Rdbms\DatabaseMysqlBase::buildIntegerCast | ( | $field | ) |
string | $field | Field or column to cast |
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 1565 of file DatabaseMysqlBase.php.
|
protected |
Set the character set information right after connection.
Reimplemented in Wikimedia\Rdbms\DatabaseMysqli.
Definition at line 235 of file DatabaseMysqlBase.php.
References Wikimedia\Rdbms\DatabaseMysqlBase\mysqlSetCharset().
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\open().
Wikimedia\Rdbms\DatabaseMysqlBase::dataSeek | ( | $res, | |
$row ) |
ResultWrapper | resource | $res | |
int | $row |
Implements Wikimedia\Rdbms\IDatabase.
Definition at line 457 of file DatabaseMysqlBase.php.
References $res, and Wikimedia\Rdbms\DatabaseMysqlBase\mysqlDataSeek().
Wikimedia\Rdbms\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 Wikimedia\Rdbms\Database.
Definition at line 1323 of file DatabaseMysqlBase.php.
References $fname, Wikimedia\Rdbms\Database\makeList(), query, and tableName().
|
protected |
Helper function for lockTables() that handles the actual table locking.
array | $read | Array of tables to lock for read access |
array | $write | Array of tables to lock for write access |
string | $method | Name of caller |
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 1272 of file DatabaseMysqlBase.php.
References query, and tableName().
|
protected |
Helper function for unlockTables() that handles the actual table unlocking.
string | $method | Name of caller |
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 1287 of file DatabaseMysqlBase.php.
References query.
Wikimedia\Rdbms\DatabaseMysqlBase::dropTable | ( | $tableName, | |
$fName = __METHOD__ ) |
string | $tableName | |
string | $fName |
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 1484 of file DatabaseMysqlBase.php.
References query, Wikimedia\Rdbms\DatabaseMysqlBase\tableExists(), and tableName().
Wikimedia\Rdbms\DatabaseMysqlBase::duplicateTableStructure | ( | $oldName, | |
$newName, | |||
$temporary = false, | |||
$fname = __METHOD__ ) |
string | $oldName | |
string | $newName | |
bool | $temporary | |
string | $fname |
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 1444 of file DatabaseMysqlBase.php.
References $fname, $query, Wikimedia\Rdbms\DatabaseMysqlBase\addIdentifierQuotes(), and query.
Wikimedia\Rdbms\DatabaseMysqlBase::estimateRowCount | ( | $table, | |
$var = '*', | |||
$conds = '', | |||
$fname = __METHOD__, | |||
$options = [], | |||
$join_conds = [] ) |
Estimate rows in dataset Returns estimated count, based on EXPLAIN output Takes same arguments as Database::select()
string | array | $table | |
string | array | $var | |
string | array | $conds | |
string | $fname | |
string | array | $options | |
array | $join_conds |
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 574 of file DatabaseMysqlBase.php.
References $fname, $options, $res, $rows, Wikimedia\Rdbms\Database\extractSingleFieldFromList(), Wikimedia\Rdbms\Database\normalizeConditions(), Wikimedia\Rdbms\DatabaseMysqlBase\numRows(), and select().
Wikimedia\Rdbms\DatabaseMysqlBase::fetchObject | ( | $res | ) |
ResultWrapper | resource | $res |
DBUnexpectedError |
Implements Wikimedia\Rdbms\IDatabase.
Definition at line 291 of file DatabaseMysqlBase.php.
References $res, Wikimedia\Rdbms\IDatabase\lastErrno(), Wikimedia\Rdbms\DatabaseMysqlBase\lastError(), and Wikimedia\Rdbms\DatabaseMysqlBase\mysqlFetchObject().
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\getServerId(), Wikimedia\Rdbms\DatabaseMysqlBase\getServerUUID(), Wikimedia\Rdbms\DatabaseMysqlBase\lock(), Wikimedia\Rdbms\DatabaseMysqlBase\lockIsFree(), Wikimedia\Rdbms\DatabaseMysqlBase\serverIsReadOnly(), and Wikimedia\Rdbms\DatabaseMysqlBase\unlock().
Wikimedia\Rdbms\DatabaseMysqlBase::fetchRow | ( | $res | ) |
IResultWrapper | resource | $res |
DBUnexpectedError |
Implements Wikimedia\Rdbms\IDatabase.
Definition at line 327 of file DatabaseMysqlBase.php.
References $res, Wikimedia\Rdbms\IDatabase\lastErrno(), Wikimedia\Rdbms\DatabaseMysqlBase\lastError(), and Wikimedia\Rdbms\DatabaseMysqlBase\mysqlFetchArray().
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\masterPosWait().
Wikimedia\Rdbms\DatabaseMysqlBase::fieldInfo | ( | $table, | |
$field ) |
string | $table | |
string | $field |
Implements Wikimedia\Rdbms\IMaintainableDatabase.
Definition at line 630 of file DatabaseMysqlBase.php.
References $res, Wikimedia\Rdbms\DatabaseMysqlBase\mysqlFetchField(), Wikimedia\Rdbms\DatabaseMysqlBase\mysqlNumFields(), query, and tableName().
Wikimedia\Rdbms\DatabaseMysqlBase::fieldName | ( | $res, | |
$n ) |
ResultWrapper | resource | $res | |
int | $n |
Implements Wikimedia\Rdbms\IDatabase.
Definition at line 412 of file DatabaseMysqlBase.php.
References $res, and Wikimedia\Rdbms\DatabaseMysqlBase\mysqlFieldName().
Wikimedia\Rdbms\DatabaseMysqlBase::fieldType | ( | $res, | |
$n ) |
mysql_field_type() wrapper
ResultWrapper | resource | $res | |
int | $n |
Definition at line 435 of file DatabaseMysqlBase.php.
References $res, and Wikimedia\Rdbms\DatabaseMysqlBase\mysqlFieldType().
Wikimedia\Rdbms\DatabaseMysqlBase::freeResult | ( | $res | ) |
ResultWrapper | resource | $res |
DBUnexpectedError |
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 266 of file DatabaseMysqlBase.php.
References $res, and Wikimedia\Rdbms\DatabaseMysqlBase\mysqlFreeResult().
|
protected |
Get a replica DB lag estimate for this server.
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 890 of file DatabaseMysqlBase.php.
References Wikimedia\Rdbms\DatabaseMysqlBase\getLagDetectionMethod(), and Wikimedia\Rdbms\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 868 of file DatabaseMysqlBase.php.
References $res, Wikimedia\Rdbms\Database\clearFlag(), Wikimedia\Rdbms\Database\makeList(), query, and Wikimedia\Rdbms\Database\restoreFlags().
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\getLagFromPtHeartbeat().
Wikimedia\Rdbms\DatabaseMysqlBase::getLag | ( | ) |
Get the amount of replication lag for this database server.
Callers should avoid using this method while a transaction is active
DBError |
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 734 of file DatabaseMysqlBase.php.
References Wikimedia\Rdbms\DatabaseMysqlBase\getLagDetectionMethod(), Wikimedia\Rdbms\DatabaseMysqlBase\getLagFromPtHeartbeat(), and Wikimedia\Rdbms\DatabaseMysqlBase\getLagFromSlaveStatus().
|
protected |
Definition at line 745 of file DatabaseMysqlBase.php.
References Wikimedia\Rdbms\DatabaseMysqlBase\$lagDetectionMethod.
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\getApproximateLagStatus(), and Wikimedia\Rdbms\DatabaseMysqlBase\getLag().
|
protected |
Definition at line 766 of file DatabaseMysqlBase.php.
References Wikimedia\Rdbms\DatabaseMysqlBase\$lagDetectionOptions, $options, $time, Wikimedia\Rdbms\DatabaseMysqlBase\getHeartbeatData(), Wikimedia\Rdbms\Database\getLogContext(), Wikimedia\Rdbms\DatabaseMysqlBase\getMasterServerInfo(), Wikimedia\Rdbms\Database\getRecordedTransactionLagStatus(), and list.
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\getLag().
|
protected |
Definition at line 752 of file DatabaseMysqlBase.php.
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\getLag().
Wikimedia\Rdbms\DatabaseMysqlBase::getMasterPos | ( | ) |
Get the position of the master from SHOW MASTER STATUS.
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 1013 of file DatabaseMysqlBase.php.
References Wikimedia\Rdbms\DatabaseMysqlBase\getServerGTIDs(), Wikimedia\Rdbms\DatabaseMysqlBase\getServerId(), Wikimedia\Rdbms\DatabaseMysqlBase\getServerRoleStatus(), Wikimedia\Rdbms\DatabaseMysqlBase\getServerUUID(), and Wikimedia\Rdbms\DatabaseMysqlBase\useGTIDs().
|
protected |
Definition at line 825 of file DatabaseMysqlBase.php.
References $cache, Wikimedia\Rdbms\Database\$conn, $e, $res, Wikimedia\Rdbms\Database\$srvCache, Wikimedia\Rdbms\Database\getLazyMasterHandle(), Wikimedia\Rdbms\Database\getLBInfo(), Wikimedia\Rdbms\Database\getServer(), BagOStuff\makeGlobalKey(), and use.
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\getLagFromPtHeartbeat().
|
private |
Get status information from SHOW STATUS in an associative array.
string | $which |
Definition at line 1498 of file DatabaseMysqlBase.php.
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\getServerUptime().
Wikimedia\Rdbms\DatabaseMysqlBase::getReplicaPos | ( | ) |
Get the position of the master from SHOW SLAVE STATUS.
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 983 of file DatabaseMysqlBase.php.
References Wikimedia\Rdbms\DatabaseMysqlBase\getServerGTIDs(), Wikimedia\Rdbms\DatabaseMysqlBase\getServerRoleStatus(), and Wikimedia\Rdbms\DatabaseMysqlBase\useGTIDs().
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\masterPosWait().
|
protected |
Definition at line 545 of file DatabaseMysqlBase.php.
References Wikimedia\Rdbms\DatabaseMysqlBase\$replicationInfoRow, and Wikimedia\Rdbms\Database\selectRow().
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\isInsertSelectSafe().
|
protected |
string | $fname |
Definition at line 1082 of file DatabaseMysqlBase.php.
References $fname, $res, and query.
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\getMasterPos(), and Wikimedia\Rdbms\DatabaseMysqlBase\getReplicaPos().
|
protected |
DBQueryError | If the variable doesn't exist for some reason |
Definition at line 1051 of file DatabaseMysqlBase.php.
References $res, Wikimedia\Rdbms\DatabaseMysqlBase\fetchObject(), function, and query.
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\getMasterPos().
|
protected |
string | $role | One of "MASTER"/"SLAVE" |
string | $fname |
Definition at line 1103 of file DatabaseMysqlBase.php.
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\getMasterPos(), and Wikimedia\Rdbms\DatabaseMysqlBase\getReplicaPos().
Wikimedia\Rdbms\DatabaseMysqlBase::getServerUptime | ( | ) |
Determines how long the server has been up.
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 1379 of file DatabaseMysqlBase.php.
References $vars, and Wikimedia\Rdbms\DatabaseMysqlBase\getMysqlStatus().
|
protected |
Definition at line 1065 of file DatabaseMysqlBase.php.
References $res, Wikimedia\Rdbms\DatabaseMysqlBase\fetchObject(), function, and query.
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\getMasterPos().
Wikimedia\Rdbms\DatabaseMysqlBase::getServerVersion | ( | ) |
Implements Wikimedia\Rdbms\IDatabase.
Definition at line 1158 of file DatabaseMysqlBase.php.
References Wikimedia\Rdbms\DatabaseMysqlBase\$serverVersion, and Wikimedia\Rdbms\Database\selectField().
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\getSoftwareLink().
Wikimedia\Rdbms\DatabaseMysqlBase::getSoftwareLink | ( | ) |
Implements Wikimedia\Rdbms\IDatabase.
Definition at line 1140 of file DatabaseMysqlBase.php.
References Wikimedia\Rdbms\DatabaseMysqlBase\getServerVersion().
Wikimedia\Rdbms\DatabaseMysqlBase::getType | ( | ) |
Implements Wikimedia\Rdbms\IDatabase.
Definition at line 123 of file DatabaseMysqlBase.php.
Wikimedia\Rdbms\DatabaseMysqlBase::ignoreIndexClause | ( | $index | ) |
string | $index |
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 1126 of file DatabaseMysqlBase.php.
References Wikimedia\Rdbms\Database\indexName().
Wikimedia\Rdbms\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 Wikimedia\Rdbms\Database.
Definition at line 665 of file DatabaseMysqlBase.php.
References $fname, $res, Wikimedia\Rdbms\Database\indexName(), query, and tableName().
|
protected |
array | $insertOptions | INSERT options |
array | $selectOptions | SELECT options |
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 519 of file DatabaseMysqlBase.php.
References Wikimedia\Rdbms\DatabaseMysqlBase\getReplicationSafetyInfo().
Wikimedia\Rdbms\DatabaseMysqlBase::isQuotedIdentifier | ( | $name | ) |
string | $name |
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 730 of file DatabaseMysqlBase.php.
|
protected |
Determine whether a SQL statement is sensitive to isolation level.
A SQL statement is considered transactable if its result could vary depending on the transaction isolation level. Operational commands such as 'SET' and 'SHOW' are not considered to be transactable.
string | $sql |
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 1556 of file DatabaseMysqlBase.php.
Wikimedia\Rdbms\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 1552 of file DatabaseMysqlBase.php.
References Wikimedia\Rdbms\DatabaseMysqlBase\listViews().
Wikimedia\Rdbms\DatabaseMysqlBase::lastError | ( | ) |
Implements Wikimedia\Rdbms\IDatabase.
Definition at line 477 of file DatabaseMysqlBase.php.
References Wikimedia\Rdbms\DatabaseMysqlBase\mysqlError().
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\fetchObject(), Wikimedia\Rdbms\DatabaseMysqlBase\fetchRow(), Wikimedia\Rdbms\DatabaseMysqlBase\open(), and Wikimedia\Rdbms\DatabaseMysqlBase\wasReadOnlyError().
Wikimedia\Rdbms\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 Wikimedia\Rdbms\Database.
Definition at line 1462 of file DatabaseMysqlBase.php.
Wikimedia\Rdbms\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 Wikimedia\Rdbms\Database.
Definition at line 1518 of file DatabaseMysqlBase.php.
References Wikimedia\Rdbms\Database\$dbName, $res, and query.
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\isView().
Wikimedia\Rdbms\DatabaseMysqlBase::lock | ( | $lockName, | |
$method, | |||
$timeout = 5 ) |
string | $lockName | |
string | $method | |
int | $timeout |
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 1220 of file DatabaseMysqlBase.php.
References Wikimedia\Rdbms\DatabaseMysqlBase\addQuotes(), Wikimedia\Rdbms\DatabaseMysqlBase\fetchObject(), Wikimedia\Rdbms\DatabaseMysqlBase\makeLockName(), and query.
Wikimedia\Rdbms\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 Wikimedia\Rdbms\Database.
Definition at line 1202 of file DatabaseMysqlBase.php.
References Wikimedia\Rdbms\DatabaseMysqlBase\addQuotes(), Wikimedia\Rdbms\DatabaseMysqlBase\fetchObject(), Wikimedia\Rdbms\DatabaseMysqlBase\makeLockName(), and query.
Wikimedia\Rdbms\DatabaseMysqlBase::lowPriorityOption | ( | ) |
Definition at line 1133 of file DatabaseMysqlBase.php.
|
private |
Definition at line 1258 of file DatabaseMysqlBase.php.
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\lock(), Wikimedia\Rdbms\DatabaseMysqlBase\lockIsFree(), and Wikimedia\Rdbms\DatabaseMysqlBase\unlock().
Wikimedia\Rdbms\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 |
DBError |
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 908 of file DatabaseMysqlBase.php.
References $res, Wikimedia\Rdbms\DatabaseMysqlBase\addQuotes(), Wikimedia\Rdbms\Database\doQuery(), Wikimedia\Rdbms\DatabaseMysqlBase\fetchRow(), Wikimedia\Rdbms\MySQLMasterPos\getCommonDomainGTIDs(), Wikimedia\Rdbms\Database\getLBInfo(), Wikimedia\Rdbms\Database\getLogContext(), and Wikimedia\Rdbms\DatabaseMysqlBase\getReplicaPos().
|
abstractprotected |
Open a connection to a MySQL server.
string | $realServer |
DBConnectionError |
Reimplemented in Wikimedia\Rdbms\DatabaseMysqli.
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\open().
|
abstractprotected |
Move internal result pointer.
ResultWrapper | resource | $res | |
int | $row |
Reimplemented in Wikimedia\Rdbms\DatabaseMysqli.
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\dataSeek().
|
abstractprotected |
Returns the text of the error message from previous MySQL operation.
resource | $conn | Raw connection |
Reimplemented in Wikimedia\Rdbms\DatabaseMysqli.
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\lastError().
|
abstractprotected |
Fetch a result row as an associative and numeric array.
resource | $res | Raw result |
Reimplemented in Wikimedia\Rdbms\DatabaseMysqli.
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\fetchRow().
|
abstractprotected |
Get column information from a result.
resource | $res | Raw result |
int | $n |
Reimplemented in Wikimedia\Rdbms\DatabaseMysqli.
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\fieldInfo().
|
abstractprotected |
Fetch a result row as an object.
resource | $res | Raw result |
Reimplemented in Wikimedia\Rdbms\DatabaseMysqli.
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\fetchObject().
|
abstractprotected |
Get the name of the specified field in a result.
ResultWrapper | resource | $res | |
int | $n |
Reimplemented in Wikimedia\Rdbms\DatabaseMysqli.
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\fieldName().
|
abstractprotected |
Get the type of the specified field in a result.
ResultWrapper | resource | $res | |
int | $n |
Reimplemented in Wikimedia\Rdbms\DatabaseMysqli.
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\fieldType().
|
abstractprotected |
Free result memory.
resource | $res | Raw result |
Reimplemented in Wikimedia\Rdbms\DatabaseMysqli.
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\freeResult().
|
abstractprotected |
Get number of fields in result.
resource | $res | Raw result |
Reimplemented in Wikimedia\Rdbms\DatabaseMysqli.
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\fieldInfo(), and Wikimedia\Rdbms\DatabaseMysqlBase\numFields().
|
abstractprotected |
Get number of rows in result.
resource | $res | Raw result |
Reimplemented in Wikimedia\Rdbms\DatabaseMysqli.
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\numRows().
|
abstractprotected |
string | $s |
Reimplemented in Wikimedia\Rdbms\DatabaseMysqli.
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\strencode().
|
abstractprotected |
Set the character set of the MySQL link.
string | $charset |
Reimplemented in Wikimedia\Rdbms\DatabaseMysqli.
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\connectInitCharset().
Wikimedia\Rdbms\DatabaseMysqlBase::namedLocksEnqueue | ( | ) |
Check to see if a named lock used by lock() use blocking queues.
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 1264 of file DatabaseMysqlBase.php.
Wikimedia\Rdbms\DatabaseMysqlBase::numFields | ( | $res | ) |
ResultWrapper | resource | $res |
Implements Wikimedia\Rdbms\IDatabase.
Definition at line 391 of file DatabaseMysqlBase.php.
References $res, and Wikimedia\Rdbms\DatabaseMysqlBase\mysqlNumFields().
Wikimedia\Rdbms\DatabaseMysqlBase::numRows | ( | $res | ) |
DBUnexpectedError |
ResultWrapper | resource | $res |
Implements Wikimedia\Rdbms\IDatabase.
Definition at line 363 of file DatabaseMysqlBase.php.
References $res, and Wikimedia\Rdbms\DatabaseMysqlBase\mysqlNumRows().
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\estimateRowCount().
Wikimedia\Rdbms\DatabaseMysqlBase::open | ( | $server, | |
$user, | |||
$password, | |||
$dbName ) |
string | $server | |
string | $user | |
string | $password | |
string | $dbName |
Exception|DBConnectionError |
Implements Wikimedia\Rdbms\IDatabase.
Definition at line 135 of file DatabaseMysqlBase.php.
References Wikimedia\Rdbms\Database\$dbName, Wikimedia\Rdbms\Database\$password, Wikimedia\Rdbms\Database\$server, $success, Wikimedia\Rdbms\Database\$user, Wikimedia\Rdbms\DatabaseMysqlBase\addIdentifierQuotes(), Wikimedia\Rdbms\DatabaseMysqlBase\addQuotes(), Wikimedia\Rdbms\Database\close(), Wikimedia\Rdbms\DatabaseMysqlBase\connectInitCharset(), Wikimedia\Rdbms\Database\doQuery(), Wikimedia\Rdbms\Database\getLogContext(), Wikimedia\Rdbms\Database\installErrorHandler(), Wikimedia\Rdbms\DatabaseMysqlBase\lastError(), Wikimedia\Rdbms\DatabaseMysqlBase\mysqlConnect(), Wikimedia\Rdbms\Database\reportConnectionError(), Wikimedia\Rdbms\Database\restoreErrorHandler(), and Wikimedia\Rdbms\Database\selectDB().
Wikimedia\Rdbms\DatabaseMysqlBase::replace | ( | $table, | |
$uniqueIndexes, | |||
$rows, | |||
$fname = __METHOD__ ) |
string | $table | |
array | $uniqueIndexes | |
array | $rows | |
string | $fname |
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 515 of file DatabaseMysqlBase.php.
References $fname, $rows, and Wikimedia\Rdbms\Database\nativeReplace().
Wikimedia\Rdbms\DatabaseMysqlBase::serverIsReadOnly | ( | ) |
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 1107 of file DatabaseMysqlBase.php.
References $res, Wikimedia\Rdbms\DatabaseMysqlBase\fetchObject(), and query.
Wikimedia\Rdbms\DatabaseMysqlBase::setBigSelects | ( | $value = true | ) |
bool | $value |
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 1296 of file DatabaseMysqlBase.php.
References Wikimedia\Rdbms\DatabaseMysqlBase\$defaultBigSelects, $value, query, and Wikimedia\Rdbms\Database\selectField().
Wikimedia\Rdbms\DatabaseMysqlBase::setSessionOptions | ( | array | $options | ) |
array | $options |
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 1171 of file DatabaseMysqlBase.php.
Wikimedia\Rdbms\DatabaseMysqlBase::streamStatementEnd | ( | & | $sql, |
& | $newLine ) |
string | &$sql | |
string | &$newLine |
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 1184 of file DatabaseMysqlBase.php.
Wikimedia\Rdbms\DatabaseMysqlBase::strencode | ( | $s | ) |
string | $s |
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 694 of file DatabaseMysqlBase.php.
References $s, and Wikimedia\Rdbms\DatabaseMysqlBase\mysqlRealEscapeString().
Wikimedia\Rdbms\DatabaseMysqlBase::tableExists | ( | $table, | |
$fname = __METHOD__ ) |
Query whether a given table exists.
string | $table | |
string | $fname |
DBError |
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 600 of file DatabaseMysqlBase.php.
References $fname, $query, Wikimedia\Rdbms\DatabaseMysqlBase\addIdentifierQuotes(), Wikimedia\Rdbms\Database\escapeLikeInternal(), list, Wikimedia\Rdbms\Database\qualifiedTableComponents(), and query.
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\dropTable().
Wikimedia\Rdbms\DatabaseMysqlBase::tableLocksHaveTransactionScope | ( | ) |
Checks if table locks acquired by lockTables() are transaction-bound in their scope.
Transaction-bound table locks will be released when the current transaction terminates. Table locks that are not bound to a transaction are not effected by BEGIN/COMMIT/ROLLBACK and will last until either lockTables()/unlockTables() is called or the TCP connection to the database is closed.
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 1268 of file DatabaseMysqlBase.php.
Wikimedia\Rdbms\DatabaseMysqlBase::unlock | ( | $lockName, | |
$method ) |
FROM MYSQL DOCS: https://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html#function_release-lock.
string | $lockName | |
string | $method |
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 1243 of file DatabaseMysqlBase.php.
References Wikimedia\Rdbms\DatabaseMysqlBase\addQuotes(), Wikimedia\Rdbms\DatabaseMysqlBase\fetchObject(), Wikimedia\Rdbms\DatabaseMysqlBase\makeLockName(), and query.
Wikimedia\Rdbms\DatabaseMysqlBase::upsert | ( | $table, | |
array | $rows, | ||
array | $uniqueIndexes, | ||
array | $set, | ||
$fname = __METHOD__ ) |
string | $table | |
array | $rows | |
array | $uniqueIndexes | |
array | $set | |
string | $fname |
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 1349 of file DatabaseMysqlBase.php.
References $fname, $rows, Wikimedia\Rdbms\Database\makeList(), query, and tableName().
|
protected |
Definition at line 1572 of file DatabaseMysqlBase.php.
References Wikimedia\Rdbms\DatabaseMysqlBase\$useGTIDs.
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\__construct(), Wikimedia\Rdbms\DatabaseMysqlBase\getMasterPos(), and Wikimedia\Rdbms\DatabaseMysqlBase\getReplicaPos().
Wikimedia\Rdbms\DatabaseMysqlBase::useIndexClause | ( | $index | ) |
string | $index |
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 1118 of file DatabaseMysqlBase.php.
References Wikimedia\Rdbms\Database\indexName().
Wikimedia\Rdbms\DatabaseMysqlBase::wasConnectionError | ( | $errno | ) |
Do not use this method outside of Database/DBError classes.
int | string | $errno |
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 1413 of file DatabaseMysqlBase.php.
Wikimedia\Rdbms\DatabaseMysqlBase::wasDeadlock | ( | ) |
Determines if the last failure was due to a deadlock.
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 1390 of file DatabaseMysqlBase.php.
References Wikimedia\Rdbms\IDatabase\lastErrno().
|
protected |
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 1417 of file DatabaseMysqlBase.php.
References false, Wikimedia\Rdbms\IDatabase\lastErrno(), and Wikimedia\Rdbms\Database\selectRow().
Wikimedia\Rdbms\DatabaseMysqlBase::wasLockTimeout | ( | ) |
Determines if the last failure was due to a lock timeout.
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 1399 of file DatabaseMysqlBase.php.
References Wikimedia\Rdbms\IDatabase\lastErrno().
|
protected |
Checks whether the cause of the error is detected to be a timeout.
It returns false by default, and not all engines support detecting this yet. If this returns false, it will be treated as a generic query error.
string | $error | Error text |
int | $errno | Error number |
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 504 of file DatabaseMysqlBase.php.
Wikimedia\Rdbms\DatabaseMysqlBase::wasReadOnlyError | ( | ) |
Determines if the last failure was due to the database being read-only.
Reimplemented from Wikimedia\Rdbms\Database.
Definition at line 1408 of file DatabaseMysqlBase.php.
References false, Wikimedia\Rdbms\IDatabase\lastErrno(), and Wikimedia\Rdbms\DatabaseMysqlBase\lastError().
|
protected |
Definition at line 64 of file DatabaseMysqlBase.php.
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\setBigSelects().
|
private |
Definition at line 69 of file DatabaseMysqlBase.php.
|
protected |
Method to detect replica DB lag.
Definition at line 44 of file DatabaseMysqlBase.php.
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\getLagDetectionMethod().
|
protected |
Method to detect replica DB lag.
Definition at line 46 of file DatabaseMysqlBase.php.
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\getLagFromPtHeartbeat().
|
protected |
Definition at line 42 of file DatabaseMysqlBase.php.
|
private |
Definition at line 71 of file DatabaseMysqlBase.php.
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\getReplicationSafetyInfo().
|
private |
Definition at line 67 of file DatabaseMysqlBase.php.
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\getServerVersion().
|
protected |
sql_mode value to send on connection
Definition at line 60 of file DatabaseMysqlBase.php.
|
protected |
Definition at line 54 of file DatabaseMysqlBase.php.
|
protected |
Definition at line 56 of file DatabaseMysqlBase.php.
|
protected |
Definition at line 52 of file DatabaseMysqlBase.php.
|
protected |
Definition at line 58 of file DatabaseMysqlBase.php.
|
protected |
Definition at line 50 of file DatabaseMysqlBase.php.
|
protected |
bool Whether to use GTID methods
Definition at line 48 of file DatabaseMysqlBase.php.
Referenced by Wikimedia\Rdbms\DatabaseMysqlBase\useGTIDs().
|
protected |
Use experimental UTF-8 transmission encoding.
Definition at line 62 of file DatabaseMysqlBase.php.
const Wikimedia\Rdbms\DatabaseMysqlBase::SERVER_ID_CACHE_TTL = 86400 |
Definition at line 74 of file DatabaseMysqlBase.php.