Advanced database interface for IDatabase handles that include maintenance methods.
More...
|
| dropTable ( $table, $fname=__METHOD__) |
| Delete a table.
|
|
| duplicateTableStructure ( $oldName, $newName, $temporary=false, $fname=__METHOD__) |
| Creates a new table with structure copied from existing table.
|
|
| fieldExists ( $table, $field, $fname=__METHOD__) |
| Determines whether a field exists in a table.
|
|
| fieldInfo ( $table, $field) |
| Get information about a field Returns false if the field doesn't exist.
|
|
| indexExists ( $table, $index, $fname=__METHOD__) |
| Determines whether an index exists.
|
|
| indexUnique ( $table, $index, $fname=__METHOD__) |
| Determines if a given index is unique.
|
|
| listTables ( $prefix=null, $fname=__METHOD__) |
| List all tables on the database.
|
|
| 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.
|
|
| streamStatementEnd (&$sql, &$newLine) |
| Called by sourceStream() to check if we've reached a statement end.
|
|
| tableExists ( $table, $fname=__METHOD__) |
| Query whether a given table exists.
|
|
| truncateTable ( $table, $fname=__METHOD__) |
| Delete all data in a table and reset any sequences owned by that table.
|
|
| affectedRows () |
| Get the number of rows affected by the last query method call.
|
|
| begin ( $fname=__METHOD__, $mode=self::TRANSACTION_EXPLICIT) |
| Begin a transaction.
|
|
| cancelAtomic ( $fname=__METHOD__, ?AtomicSectionIdentifier $sectionId=null) |
| Cancel an atomic section of SQL statements.
|
|
| commit ( $fname=__METHOD__, $flush=self::FLUSHING_ONE) |
| Commits a transaction previously started using begin()
|
|
| delete ( $table, $conds, $fname=__METHOD__) |
| Delete all rows in a table that match a condition.
|
|
| deleteJoin ( $delTable, $joinTable, $delVar, $joinVar, $conds, $fname=__METHOD__) |
| Delete all rows in a table that match a condition which includes a join.
|
|
| doAtomicSection ( $fname, callable $callback, $cancelable=self::ATOMIC_NOT_CANCELABLE) |
| Perform an atomic section of reversible SQL statements from a callback.
|
|
| endAtomic ( $fname=__METHOD__) |
| Ends an atomic section of SQL statements.
|
|
| explicitTrxActive () |
| Check whether there is a transaction open at the specific request of a caller.
|
|
| flushSnapshot ( $fname=__METHOD__, $flush=self::FLUSHING_ONE) |
| Commit any transaction but error out if writes or callbacks are pending.
|
|
| getLBInfo ( $name=null) |
| Get properties passed down from the server info array of the load balancer.
|
|
| getScopedLockAndFlush ( $lockKey, $fname, $timeout) |
| Acquire a named lock, flush any transaction, and return an RAII style unlocker object.
|
|
| insert ( $table, $rows, $fname=__METHOD__, $options=[]) |
| Insert row(s) into a table, in the provided order.
|
|
| insertId () |
| Get the sequence-based ID assigned by the last query method call.
|
|
| insertSelect ( $destTable, $srcTable, $varMap, $conds, $fname=__METHOD__, $insertOptions=[], $selectOptions=[], $selectJoinConds=[]) |
| INSERT SELECT wrapper.
|
|
| isReadOnly () |
| Check if this DB server is marked as read-only according to load balancer info.
|
|
| lock ( $lockName, $method, $timeout=5, $flags=0) |
| Acquire a named lock.
|
|
| lockForUpdate ( $table, $conds='', $fname=__METHOD__, $options=[], $join_conds=[]) |
| Lock all rows meeting the given conditions/options FOR UPDATE.
|
|
| lockIsFree ( $lockName, $method) |
| Check to see if a named lock is not locked by any thread (non-blocking)
|
|
| newDeleteQueryBuilder () |
| Get an DeleteQueryBuilder bound to this connection.
|
|
| newInsertQueryBuilder () |
| Get an InsertQueryBuilder bound to this connection.
|
|
| newReplaceQueryBuilder () |
| Get an ReplaceQueryBuilder bound to this connection.
|
|
| newUpdateQueryBuilder () |
| Get an UpdateQueryBuilder bound to this connection.
|
|
| onAtomicSectionCancel (callable $callback, $fname=__METHOD__) |
| Run a callback when the atomic section is cancelled.
|
|
| onTransactionCommitOrIdle (callable $callback, $fname=__METHOD__) |
| Run a callback when the current transaction commits or now if there is none.
|
|
| 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 when the current transaction commits or rolls back.
|
|
| query ( $sql, $fname=__METHOD__, $flags=0) |
| Run an SQL query statement and return the result.
|
|
| replace ( $table, $uniqueKeys, $rows, $fname=__METHOD__) |
| Insert row(s) into a table, in the provided order, while deleting conflicting rows.
|
|
| rollback ( $fname=__METHOD__, $flush=self::FLUSHING_ONE) |
| Rollback a transaction previously started using begin()
|
|
| setSessionOptions (array $options) |
| Override database's default behavior.
|
|
| startAtomic ( $fname=__METHOD__, $cancelable=self::ATOMIC_NOT_CANCELABLE) |
| Begin an atomic section of SQL statements.
|
|
| trxLevel () |
| Gets the current transaction level.
|
|
| trxTimestamp () |
| Get the UNIX timestamp of the time that the transaction was established.
|
|
| unlock ( $lockName, $method) |
| Release a lock.
|
|
| update ( $table, $set, $conds, $fname=__METHOD__, $options=[]) |
| Update all rows in a table that match a given condition.
|
|
| upsert ( $table, array $rows, $uniqueKeys, array $set, $fname=__METHOD__) |
| Upsert row(s) into a table, in the provided order, while updating conflicting rows.
|
|
| __toString () |
| Get a debugging string that mentions the database type, the ID of this instance, and the ID of any underlying connection resource or driver object if one is present.
|
|
| andExpr (array $conds) |
| See Expression::__construct()
|
|
| close ( $fname=__METHOD__) |
| Close the database connection.
|
|
| databasesAreIndependent () |
| Returns true if DBs are assumed to be on potentially different servers.
|
|
| dbSchema ( $schema=null) |
| Get/set the db schema.
|
|
| decodeBlob ( $b) |
| Some DBMSs return a special placeholder object representing blob fields in result objects.
|
|
| encodeBlob ( $b) |
| Some DBMSs have a special format for inserting into blob fields, they don't allow simple quoted strings to be inserted.
|
|
| estimateRowCount ( $tables, $var=' *', $conds='', $fname=__METHOD__, $options=[], $join_conds=[]) |
| Estimate the number of rows in dataset.
|
|
| expr (string $field, string $op, $value) |
| See Expression::__construct()
|
|
| getDBname () |
| Get the current database name; null if there isn't one.
|
|
| getDomainID () |
| Return the currently selected domain ID.
|
|
| getLag () |
| Get the seconds of replication lag on this database server.
|
|
| getServer () |
| Get the hostname or IP address of the server.
|
|
| getServerInfo () |
| Get a human-readable string describing the current software version.
|
|
| getServerName () |
| Get the readable name for the server.
|
|
| getServerVersion () |
| A string describing the current software version.
|
|
| getSessionLagStatus () |
| Get a cached estimate of the seconds of replication lag on this database server, using the estimate obtained at the start of the current transaction if one is active.
|
|
| getSoftwareLink () |
| Returns a wikitext style link to the DB's website (e.g.
|
|
| getType () |
| Get the RDBMS type of the server (e.g.
|
|
| isOpen () |
|
| lastErrno () |
| Get the RDBMS-specific error code from the last attempted query statement.
|
|
| lastError () |
| Get the RDBMS-specific error description from the last attempted query statement.
|
|
| newSelectQueryBuilder () |
| Create an empty SelectQueryBuilder which can be used to run queries against this connection.
|
|
| newUnionQueryBuilder () |
| Create an empty UnionQueryBuilder which can be used to run queries against this connection.
|
|
| orExpr (array $conds) |
| See Expression::__construct()
|
|
| ping () |
| Ping the server and try to reconnect if it there is no connection.
|
|
| select ( $tables, $vars, $conds='', $fname=__METHOD__, $options=[], $join_conds=[]) |
| Execute a SELECT query constructed using the various parameters provided.
|
|
| selectDomain ( $domain) |
| Set the current domain (database, schema, and table prefix)
|
|
| selectField ( $tables, $var, $cond='', $fname=__METHOD__, $options=[], $join_conds=[]) |
| A SELECT wrapper which returns a single field from a single result row.
|
|
| selectFieldValues ( $tables, $var, $cond='', $fname=__METHOD__, $options=[], $join_conds=[]) |
| A SELECT wrapper which returns a list of single field values from result rows.
|
|
| selectRow ( $tables, $vars, $conds, $fname=__METHOD__, $options=[], $join_conds=[]) |
| Wrapper to IDatabase::select() that only fetches one row (via LIMIT)
|
|
| selectRowCount ( $tables, $var=' *', $conds='', $fname=__METHOD__, $options=[], $join_conds=[]) |
| Get the number of rows in dataset.
|
|
| tablePrefix ( $prefix=null) |
| Get/set the table prefix.
|
|
| addIdentifierQuotes ( $s) |
| Escape a SQL identifier (e.g.
|
|
| 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.
|
|
| bitAnd ( $fieldLeft, $fieldRight) |
|
| bitNot ( $field) |
|
| bitOr ( $fieldLeft, $fieldRight) |
|
| buildComparison (string $op, array $conds) |
| Build a condition comparing multiple values, for use with indexes that cover multiple fields, common when e.g.
|
|
| buildConcat ( $stringList) |
| Build a concatenation list to feed into a SQL query.
|
|
| buildExcludedValue ( $column) |
| Build a reference to a column value from the conflicting proposed upsert() row.
|
|
| buildGreatest ( $fields, $values) |
| Build a GREATEST function statement comparing columns/values.
|
|
| buildGroupConcatField ( $delim, $tables, $field, $conds='', $join_conds=[]) |
| Build a GROUP_CONCAT or equivalent statement for a query.
|
|
| buildIntegerCast ( $field) |
|
| buildLeast ( $fields, $values) |
| Build a LEAST function statement comparing columns/values.
|
|
| buildLike ( $param,... $params) |
| LIKE statement wrapper.
|
|
| buildSelectSubquery ( $tables, $vars, $conds='', $fname=__METHOD__, $options=[], $join_conds=[]) |
| Equivalent to IDatabase::selectSQLText() except wraps the result in Subquery.
|
|
| buildStringCast ( $field) |
|
| buildSubString ( $input, $startPosition, $length=null) |
| Build a SUBSTRING function.
|
|
| conditional ( $cond, $caseTrueExpression, $caseFalseExpression) |
| Returns an SQL expression for a simple conditional.
|
|
| decodeExpiry ( $expiry, $format=TS_MW) |
| Decode an expiry time into a DBMS independent format.
|
|
| encodeExpiry ( $expiry) |
| Encode an expiry time into the DBMS dependent format.
|
|
| factorConds ( $condsArray) |
| Given an array of condition arrays representing an OR list of AND lists, for example:
|
|
| getInfinity () |
| Find out when 'infinity' is.
|
|
| getTableAliases () |
| Return current table aliases.
|
|
| 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.
|
|
| limitResult ( $sql, $limit, $offset=false) |
| Construct a LIMIT query with optional offset.
|
|
| makeList (array $a, $mode=self::LIST_COMMA) |
| Makes an encoded list of strings from an array.
|
|
| makeWhereFrom2d ( $data, $baseKey, $subKey) |
| Build a "OR" condition with pairs from a two-dimensional array.
|
|
| selectSQLText ( $tables, $vars, $conds='', $fname=__METHOD__, $options=[], $join_conds=[]) |
| Take the same arguments as IDatabase::select() and return the SQL it would use.
|
|
| setIndexAliases (array $aliases) |
| Convert certain index names to alternative names before querying the DB.
|
|
| setSchemaVars ( $vars) |
| Set schema variables to be used when streaming commands from SQL files or stdin.
|
|
| 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.
|
|
| strreplace ( $orig, $old, $new) |
| Returns a SQL expression for simple string replacement (e.g.
|
|
| tableName (string $name, $format='quoted') |
| Format a table name ready for use in constructing an SQL query.
|
|
| tableNames (... $tables) |
| Fetch a number of table names into an associative array.
|
|
| tableNamesN (... $tables) |
| Fetch a number of table names into a zero-indexed numerical array.
|
|
| timestamp ( $ts=0) |
| Convert a timestamp in one of the formats accepted by ConvertibleTimestamp 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 ConvertibleTimestamp to the format used for inserting into timestamp fields in this DBMS.
|
|
| unionQueries ( $sqls, $all, $options=[]) |
| Construct a UNION query.
|
|
| unionSupportsOrderAndLimit () |
| Determine if the RDBMS supports ORDER BY and LIMIT for separate subqueries within UNION.
|
|
| addQuotes ( $s) |
| Escape and quote a raw value string for use in a SQL query.
|
|
| clearFlag ( $flag, $remember=self::REMEMBER_NOTHING) |
| Clear a flag for this connection.
|
|
| getFlag ( $flag) |
| Returns a boolean whether the flag $flag is set for this connection.
|
|
| restoreFlags ( $state=self::RESTORE_PRIOR) |
| Restore the flags to their prior state before the last setFlag/clearFlag call.
|
|
| setFlag ( $flag, $remember=self::REMEMBER_NOTHING) |
| Set a flag for this connection.
|
|
|
const | ATOMIC_CANCELABLE = 'cancelable' |
| Atomic section is cancelable.
|
|
const | ATOMIC_NOT_CANCELABLE = '' |
| Atomic section is not cancelable.
|
|
const | ESTIMATE_DB_APPLY = 'apply' |
| Estimate time to apply (scanning, applying)
|
|
const | ESTIMATE_TOTAL = 'total' |
| Estimate total time (RTT, scanning, waiting on locks, applying)
|
|
const | FLUSHING_ALL_PEERS = 'flush' |
| Commit/rollback is from the owning connection manager for the IDatabase handle.
|
|
const | FLUSHING_INTERNAL = 'flush-internal' |
| Commit/rollback is from the IDatabase handle internally.
|
|
const | FLUSHING_ONE = '' |
| Commit/rollback is from outside the IDatabase handle and connection manager.
|
|
const | LB_READ_ONLY_REASON = 'readOnlyReason' |
| Field for getLBInfo()/setLBInfo()
|
|
const | LB_TRX_ROUND_ID = 'trxRoundId' |
| Field for getLBInfo()/setLBInfo()
|
|
const | LOCK_TIMESTAMP = 1 |
| Flag to return the lock acquisition timestamp (null if not acquired)
|
|
const | ROLE_STATIC_CLONE = 'static-clone' |
| Replica server within a static dataset.
|
|
const | ROLE_STREAMING_MASTER = 'streaming-master' |
| Primary server than can stream writes to replica servers.
|
|
const | ROLE_STREAMING_REPLICA = 'streaming-replica' |
| Replica server that receives writes from a primary server.
|
|
const | ROLE_UNKNOWN = 'unknown' |
| Server with unknown topology role.
|
|
const | TRANSACTION_EXPLICIT = '' |
| Transaction is requested by regular caller outside of the DB layer.
|
|
const | TRANSACTION_INTERNAL = 'implicit' |
| Transaction is requested internally via DBO_TRX/startAtomic()
|
|
const | TRIGGER_CANCEL = 4 |
| Callback triggered by atomic section cancel (ROLLBACK TO SAVEPOINT)
|
|
const | TRIGGER_COMMIT = 2 |
| Callback triggered by COMMIT.
|
|
const | TRIGGER_IDLE = 1 |
| Callback triggered immediately due to no active transaction.
|
|
const | TRIGGER_ROLLBACK = 3 |
| Callback triggered by ROLLBACK.
|
|
const | UNION_ALL = true |
| Parameter to unionQueries() for UNION ALL.
|
|
const | UNION_DISTINCT = false |
| Parameter to unionQueries() for UNION DISTINCT.
|
|
const | ALL_ROWS = '*' |
| Unconditional update/delete of whole table.
|
|
const | CALLER_SUBQUERY = 'subquery' |
| Special value for ->caller() / $fname parameter used when providing a caller is not expected, because we're formatting a subquery that won't be executed directly.
|
|
const | CALLER_UNKNOWN = 'unknown' |
| Special value for ->caller() / $fname parameter used when a caller is not provided.
|
|
const | LIST_AND = 1 |
| Combine list with AND clauses.
|
|
const | LIST_COMMA = 0 |
| Combine list with comma delimiters.
|
|
const | LIST_NAMES = 3 |
| Treat as field name and do not apply value escaping.
|
|
const | LIST_OR = 4 |
| Combine list with OR clauses.
|
|
const | LIST_SET = 2 |
| Convert map into a SET clause.
|
|
const | QUERY_CHANGE_LOCKS = 512 |
| Query is a command for advisory locks.
|
|
const | QUERY_CHANGE_NONE = 32 |
| Query is a read-only Data Query Language query.
|
|
const | QUERY_CHANGE_ROWS = 128 |
| Query is a Data Manipulation Language command (INSERT, DELETE, LOCK, ...)
|
|
const | QUERY_CHANGE_SCHEMA = 256 |
| Query is a Data Definition Language command.
|
|
const | QUERY_CHANGE_TRX = 64 |
| Query is a Transaction Control Language command (BEGIN, USE, SET, ...)
|
|
const | QUERY_IGNORE_DBO_TRX = 8 |
| Ignore the current presence of any DBO_TRX flag.
|
|
const | QUERY_NO_RETRY = 16 |
| Do not try to retry the query if the connection was lost.
|
|
const | QUERY_NORMAL = 0 |
| Idiom for "no special flags".
|
|
const | QUERY_PSEUDO_PERMANENT = 2 |
| Track a TEMPORARY table CREATE as if it was for a permanent table (for testing)
|
|
const | QUERY_REPLICA_ROLE = 4 |
| Enforce that a query does not make effective writes.
|
|
const | QUERY_SILENCE_ERRORS = 1 |
| Ignore query errors and return false when they happen.
|
|
const | DBO_COMPRESS = 512 |
| Enable compression in connection protocol.
|
|
const | DBO_DDLMODE = 128 |
| Schema file mode; was used by Oracle.
|
|
const | DBO_DEBUG = 1 |
| Enable debug logging of all SQL queries.
|
|
const | DBO_DEFAULT = 16 |
| Join load balancer transaction rounds (which control DBO_TRX) in non-CLI mode.
|
|
const | DBO_GAUGE = 1024 |
| Optimize connection for guaging server state (e.g.
|
|
const | DBO_IGNORE = 4 |
| Unused since 1.31.
|
|
const | DBO_NOBUFFER = 2 |
| Unused since 1.34.
|
|
const | DBO_PERSISTENT = 32 |
| Use DB persistent connections if possible.
|
|
const | DBO_SSL = 256 |
| Enable SSL/TLS in connection protocol.
|
|
const | DBO_SYSDBA = 64 |
| DBA session mode; was used by Oracle.
|
|
const | DBO_TRX = 8 |
| Automatically start a transaction before running a query if none is active.
|
|
const | REMEMBER_NOTHING = '' |
| Do not remember the prior flags.
|
|
const | REMEMBER_PRIOR = 'remember' |
| Remember the prior flags.
|
|
const | RESTORE_INITIAL = 'initial' |
| Restore to the initial flag state.
|
|
const | RESTORE_PRIOR = 'prior' |
| Restore to the prior flag state.
|
|