MediaWiki REL1_27
Database Class Reference
Inheritance diagram for Database:
Collaboration diagram for Database:

Additional Inherited Members

- Public Member Functions inherited from DatabaseBase
 __construct (array $params)
 Constructor.
 
 __destruct ()
 Run a few simple sanity checks.
 
 __sleep ()
 Called by serialize.
 
 __toString ()
 
 addIdentifierQuotes ( $s)
 Quotes an identifier using backticks or "double quotes" depending on the database type.
 
 addQuotes ( $s)
 Adds quotes and backslashes.
 
 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__)
 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().
 
 cascadingDeletes ()
 Returns true if this database supports (and uses) cascading deletes.
 
 cleanupTriggers ()
 Returns true if this database supports (and uses) triggers (e.g.
 
 clearFlag ( $flag)
 Clear a flag for this connection.
 
 clearViewsCache ()
 Reset the views process cache set by listViews()
 
 close ()
 Closes a database connection.
 
 commit ( $fname=__METHOD__, $flush='')
 Commits a transaction previously started using begin().
 
 conditional ( $cond, $trueVal, $falseVal)
 Returns an SQL expression for a simple conditional.
 
 connectionErrorHandler ( $errno, $errstr)
 
 dbSchema ( $schema=null)
 Get/set the db schema.
 
 deadlockLoop ()
 Perform a deadlock-prone transaction.
 
 debug ( $debug=null)
 Boolean, controls output of large amounts of debug information.
 
 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.
 
 deleteJoin ( $delTable, $joinTable, $delVar, $joinVar, $conds, $fname=__METHOD__)
 DELETE where the condition is a join.
 
 doAtomicSection ( $fname, $callback)
 Run a callback to do an atomic set of updates for this database.
 
 doneWrites ()
 Returns true if the connection may have been used for write queries.
 
 dropTable ( $tableName, $fName=__METHOD__)
 Delete a table.
 
 duplicateTableStructure ( $oldName, $newName, $temporary=false, $fname=__METHOD__)
 Creates a new table with structure copied from existing table Note that unlike most database abstraction functions, this function does not automatically append database prefix, because it works at a lower abstraction level.
 
 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.
 
 estimateRowCount ( $table, $vars=' *', $conds='', $fname=__METHOD__, $options=[])
 Estimate the number of rows in dataset.
 
 execute ( $prepared, $args=null)
 Execute a prepared query with the various arguments.
 
 fieldExists ( $table, $field, $fname=__METHOD__)
 Determines whether a field exists in a table.
 
 fieldNamesWithAlias ( $fields)
 Gets an array of aliased field names.
 
 fieldNameWithAlias ( $name, $alias=false)
 Get an aliased field name e.g.
 
 fillPrepared ( $preparedQuery, $args)
 For faking prepared SQL statements on DBs that don't support it directly.
 
 freeResult ( $res)
 Free a result object returned by query() or select().
 
 functionalIndexes ()
 Returns true if this database can use functional indexes.
 
 getApproximateLagStatus ()
 Get a slave lag estimate for this server.
 
 getDBname ()
 Get the current DB name.
 
 getDelimiter ()
 
 getFlag ( $flag)
 Returns a boolean whether the flag $flag is set for this connection.
 
 getInfinity ()
 Find out when 'infinity' is.
 
 getLag ()
 Get slave lag.
 
 getLazyMasterHandle ()
 
 getLBInfo ( $name=null)
 Get properties passed down from the server info array of the load balancer.
 
 getMasterPos ()
 Get the position of this master.
 
 getProperty ( $name)
 General read-only accessor.
 
 getSchemaPath ()
 Return a path to the DBMS-specific schema file, otherwise default to tables.sql.
 
 getScopedLockAndFlush ( $lockKey, $fname, $timeout)
 Acquire a named lock, flush any transaction, and return an RAII style unlocker object.
 
 getSearchEngine ()
 Get search engine class.
 
 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.
 
 getServerUptime ()
 Determines how long the server has been up STUB.
 
 getSessionLagStatus ()
 Get the slave lag when the current transaction started or a general lag estimate if not transaction is active.
 
 getSlavePos ()
 Get the replication position of this slave.
 
 getTransactionLagStatus ()
 Get the slave lag when the current transaction started.
 
 getUpdateKeysPath ()
 Return a path to the DBMS-specific update key file, otherwise default to update-keys.sql.
 
 getWikiID ()
 
 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.
 
 indexInfo ( $table, $index, $fname=__METHOD__)
 Get information about an index into an object.
 
 indexUnique ( $table, $index)
 Determines if a given index is unique.
 
 insert ( $table, $a, $fname=__METHOD__, $options=[])
 INSERT wrapper, inserts an array into a table.
 
 insertSelect ( $destTable, $srcTable, $varMap, $conds, $fname=__METHOD__, $insertOptions=[], $selectOptions=[])
 INSERT SELECT wrapper.
 
 isOpen ()
 Is a connection to the database open?
 
 isQuotedIdentifier ( $name)
 Returns if the given identifier looks quoted or not according to the database convention for quoting identifiers .
 
 isReadOnly ()
 
 isView ( $name)
 Differentiates between a TABLE and a VIEW.
 
 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.
 
 listTables ( $prefix=null, $fname=__METHOD__)
 List all tables on the database.
 
 listViews ( $prefix=null, $fname=__METHOD__)
 Lists all the VIEWs in the database.
 
 lock ( $lockName, $method, $timeout=5)
 Acquire a named lock.
 
 lockIsFree ( $lockName, $method)
 Check to see if a named lock is available (non-blocking)
 
 lockTables ( $read, $write, $method, $lowPriority=true)
 Lock specific tables.
 
 lowPriorityOption ()
 A string to insert into queries to show that they're low-priority, like MySQL's LOW_PRIORITY.
 
 makeGroupByWithHaving ( $options)
 Returns an optional GROUP BY with an optional HAVING.
 
 makeList ( $a, $mode=LIST_COMMA)
 Makes an encoded list of strings from an array.
 
 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.
 
 makeWhereFrom2d ( $data, $baseKey, $subKey)
 Build a partial where clause from a 2-d array such as used for LinkBatch.
 
 masterPosWait (DBMasterPos $pos, $timeout)
 Wait for the slave to catch up to a given master position.
 
 maxListLen ()
 Return the maximum number of items allowed in a list, or 0 for unlimited.
 
 namedLocksEnqueue ()
 Check to see if a named lock used by lock() use blocking queues.
 
 nextSequenceValue ( $seqName)
 Returns an appropriately quoted sequence value for inserting a new row.
 
 onTransactionIdle ( $callback)
 Run an anonymous function as soon as there is no transaction pending.
 
 onTransactionPreCommitOrIdle ( $callback)
 Run an anonymous function before the current transaction commits or now if there is none.
 
 patchPath ( $patch)
 Get the full path of a patch file.
 
 pendingWriteCallers ()
 Get the list of method names that did write queries for this transaction.
 
 pendingWriteQueryDuration ()
 Get the time spend running write queries for this transaction.
 
 ping ()
 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.
 
 realTimestamps ()
 Returns true if this database uses timestamps rather than integers.
 
 replace ( $table, $uniqueIndexes, $rows, $fname=__METHOD__)
 REPLACE query wrapper.
 
 reportConnectionError ( $error='Unknown error')
 
 reportQueryError ( $error, $errno, $sql, $fname, $tempIgnore=false)
 Report a query error.
 
 rollback ( $fname=__METHOD__, $flush='')
 Rollback a transaction previously started using begin().
 
 searchableIPs ()
 Returns true if this database can do a native search on IP columns e.g.
 
 select ( $table, $vars, $conds='', $fname=__METHOD__, $options=[], $join_conds=[])
 Execute a SELECT query constructed using the various parameters provided.
 
 selectDB ( $db)
 Change the current database.
 
 selectField ( $table, $var, $cond='', $fname=__METHOD__, $options=[])
 A SELECT wrapper which returns a single field from a single result row.
 
 selectFieldValues ( $table, $var, $cond='', $fname=__METHOD__, $options=[], $join_conds=[])
 
 selectRow ( $table, $vars, $conds, $fname=__METHOD__, $options=[], $join_conds=[])
 Single row SELECT wrapper.
 
 selectRowCount ( $tables, $vars=' *', $conds='', $fname=__METHOD__, $options=[], $join_conds=[])
 Get the number of rows in dataset.
 
 selectSQLText ( $table, $vars, $conds='', $fname=__METHOD__, $options=[], $join_conds=[])
 The equivalent of IDatabase::select() except that the constructed SQL is returned, instead of being immediately executed.
 
 setBigSelects ( $value=true)
 Allow or deny "big selects" for this session only.
 
 setFileHandle ( $fh)
 Set the filehandle to copy write statements to.
 
 setFlag ( $flag)
 Set a flag for this connection.
 
 setLazyMasterHandle (IDatabase $conn)
 Set a lazy-connecting DB handle to the master DB (for replication status purposes)
 
 setLBInfo ( $name, $value=null)
 Set the LB info array, or a member of it.
 
 setSchemaVars ( $vars)
 Set variables to be used in sourceFile/sourceStream, in preference to the ones in $GLOBALS.
 
 setSessionOptions (array $options)
 Override database's default behavior.
 
 setTransactionProfiler (TransactionProfiler $profiler)
 
 sourceFile ( $filename, $lineCallback=false, $resultCallback=false, $fname=false, $inputCallback=false)
 Read and execute SQL commands from a file.
 
 sourceStream ( $fp, $lineCallback=false, $resultCallback=false, $fname=__METHOD__, $inputCallback=false)
 Read and execute commands from an open file handle.
 
 startAtomic ( $fname=__METHOD__)
 Begin an atomic section of statements.
 
 streamStatementEnd (&$sql, &$newLine)
 Called by sourceStream() to check if we've reached a statement end.
 
 strencode ( $s)
 Wrapper for addslashes()
 
 strictIPs ()
 Returns true if this database is strict about what can be put into an IP field.
 
 strreplace ( $orig, $old, $new)
 Returns a comand for str_replace function in SQL query.
 
 tableExists ( $table, $fname=__METHOD__)
 Query whether a given table exists.
 
 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.
 
 tableNamesWithAlias ( $tables)
 Gets an array of aliased table names.
 
 tableNameWithAlias ( $name, $alias=false)
 Get an aliased table name e.g.
 
 tablePrefix ( $prefix=null)
 Get/set the table prefix.
 
 textFieldSize ( $table, $field)
 Returns the size of a text field, or -1 for "unlimited".
 
 timestamp ( $ts=0)
 Convert a timestamp in one of the formats accepted by wfTimestamp() to the format used for inserting into timestamp fields in this DBMS.
 
 timestampOrNull ( $ts=null)
 Convert a timestamp in one of the formats accepted by wfTimestamp() to the format used for inserting into timestamp fields in this DBMS.
 
 trxLevel ()
 Gets the current transaction level.
 
 trxTimestamp ()
 Get the UNIX timestamp of the time that the transaction was established.
 
 unionQueries ( $sqls, $all)
 Construct a UNION query This is used for providing overload point for other DB abstractions not compatible with the MySQL syntax.
 
 unionSupportsOrderAndLimit ()
 Returns true if current database backend supports ORDER BY or LIMIT for separate subqueries within the UNION construct.
 
 unlock ( $lockName, $method)
 Release a lock.
 
 unlockTables ( $method)
 Unlock specific tables.
 
 update ( $table, $values, $conds, $fname=__METHOD__, $options=[])
 UPDATE wrapper.
 
 upsert ( $table, array $rows, array $uniqueIndexes, array $set, $fname=__METHOD__)
 INSERT ON DUPLICATE KEY UPDATE wrapper, upserts an array into a table.
 
 useIndexClause ( $index)
 USE INDEX clause.
 
 wasConnectionError ( $errno)
 Determines if the given query error was a connection drop STUB.
 
 wasDeadlock ()
 Determines if the last failure was due to a deadlock STUB.
 
 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 STUB.
 
 wasReadOnlyError ()
 Determines if the last failure was due to the database being read-only.
 
 writesOrCallbacksPending ()
 Returns true if there is a transaction open with possible write queries or transaction pre-commit/idle callbacks waiting on it to finish.
 
 writesPending ()
 
- Public Member Functions inherited from IDatabase
 affectedRows ()
 Get the number of rows affected by the last write query.
 
 dataSeek ( $res, $row)
 Change the position of the cursor in a result object.
 
 fetchObject ( $res)
 Fetch the next row from the given result object, in object form.
 
 fetchRow ( $res)
 Fetch the next row from the given result object, in associative array form.
 
 fieldInfo ( $table, $field)
 mysql_fetch_field() wrapper Returns false if the field doesn't exist
 
 fieldName ( $res, $n)
 Get a field name in a result object.
 
 getServerVersion ()
 A string describing the current software version, like from mysql_get_server_info().
 
 getSoftwareLink ()
 Returns a wikitext link to the DB's website, e.g., return "[http://www.mysql.com/ MySQL]"; Should at least contain plain text, if for some reason your database has no website.
 
 getType ()
 Get the type of the DBMS, as it appears in $wgDBtype.
 
 insertId ()
 Get the inserted value of an auto-increment row.
 
 lastErrno ()
 Get the last error number.
 
 lastError ()
 Get a description of the last error.
 
 numFields ( $res)
 Get the number of fields in a result object.
 
 numRows ( $res)
 Get the number of rows in a result object.
 
 open ( $server, $user, $password, $dbName)
 Open a connection to the database.
 
 selectFieldValues ( $table, $var, $cond='', $fname=__METHOD__, $options=[])
 A SELECT wrapper which returns a list of single field values from result rows.
 
- Static Public Member Functions inherited from DatabaseBase
static factory ( $dbType, $p=[])
 Given a DB type, construct the name of the appropriate child class of DatabaseBase.
 
static getCacheSetOptions (IDatabase $db1)
 Merge the result of getSessionLagStatus() for several DBs using the most pessimistic values to estimate the lag of any data derived from them in combination.
 
- Public Attributes inherited from DatabaseBase
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.
 
- Protected Member Functions inherited from DatabaseBase
 assertOpen ()
 Make sure isOpen() returns true as a sanity check.
 
 closeConnection ()
 Closes underlying database connection.
 
 doBegin ( $fname)
 Issues the BEGIN command to the database server.
 
 doCommit ( $fname)
 Issues the COMMIT command to the database server.
 
 doQuery ( $sql)
 The DBMS-dependent part of query()
 
 doRollback ( $fname)
 Issues the ROLLBACK command to the database server.
 
 escapeLikeInternal ( $s)
 
 fillPreparedArg ( $matches)
 preg_callback func for fillPrepared() The arguments should be in $this->preparedArgs and must not be touched while we're doing this.
 
 freePrepared ( $prepared)
 Free a prepared query, generated by prepare().
 
 getDefaultSchemaVars ()
 Get schema variables to use if none have been set via setSchemaVars().
 
 getLogContext (array $extras=[])
 Create a log context to pass to wfLogDBError or other logging functions.
 
 getReadOnlyReason ()
 
 getSchemaVars ()
 Get schema variables.
 
 getTransactionProfiler ()
 
 ignoreErrors ( $ignoreErrors=null)
 Turns on (false) or off (true) the automatic generation and sending of a "we're sorry, but there has been a database error" page on database errors.
 
 indexName ( $index)
 Get the name of an index in a given table.
 
 installErrorHandler ()
 
 isTransactableQuery ( $sql)
 Determine whether a SQL statement is sensitive to isolation level.
 
 isWriteQuery ( $sql)
 Determine whether a query writes to the DB.
 
 makeInsertOptions ( $options)
 Helper for DatabaseBase::insert().
 
 makeUpdateOptions ( $options)
 Make UPDATE options for the DatabaseBase::update function.
 
 makeUpdateOptionsArray ( $options)
 Make UPDATE options array for DatabaseBase::makeUpdateOptions.
 
 nativeReplace ( $table, $rows, $fname)
 REPLACE query wrapper for MySQL and SQLite, which have a native REPLACE statement.
 
 prepare ( $sql, $func='DatabaseBase::prepare')
 Intended to be compatible with the PEAR::DB wrapper functions.
 
 replaceVars ( $ins)
 Database independent variable replacement.
 
 restoreErrorHandler ()
 
 resultObject ( $result)
 Take the result from a query, and wrap it in a ResultWrapper if necessary.
 
 runOnTransactionIdleCallbacks ()
 Actually any "on transaction idle" callbacks.
 
 runOnTransactionPreCommitCallbacks ()
 Actually any "on transaction pre-commit" callbacks.
 
 tableNamesWithUseIndexOrJOIN ( $tables, $use_index=[], $join_conds=[])
 Get the aliased table name clause for a FROM clause which might have a JOIN and/or USE INDEX clause.
 
- Static Protected Member Functions inherited from DatabaseBase
static generalizeSQL ( $sql)
 Removes most variables from an SQL query and replaces them with X or N for numbers.
 
- Protected Attributes inherited from DatabaseBase
string[] $allViews = null
 
 $delimiter = ';'
 
resource $fileHandle = null
 
 $htmlErrors
 
resource $mConn = null
 Database connection.
 
 $mDBname
 
 $mDefaultBigSelects = null
 
 $mDoneWrites = false
 
 $mFlags
 
 $mForeign
 
 $mLastQuery = ''
 
 $mLBInfo = []
 
 $mOpened = false
 
 $mPassword
 
 $mPHPError = false
 
 $mSchema
 
 $mSchemaVars = false
 
 $mServer
 
array $mSessionVars = []
 
 $mTablePrefix
 
callable[] $mTrxIdleCallbacks = []
 
int $mTrxLevel = 0
 Either 1 if a transaction is active or 0 otherwise.
 
callable[] $mTrxPreCommitCallbacks = []
 
string $mTrxShortId = ''
 Either a short hexidecimal string if a transaction is active or "".
 
 $mUser
 
 $preparedArgs
 
BagOStuff $srvCache
 APC cache.
 
TransactionProfiler $trxProfiler
 

Detailed Description

Since
1.27

Definition at line 3322 of file Database.php.


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