MediaWiki  master
IDatabase.php
Go to the documentation of this file.
1 <?php
20 namespace Wikimedia\Rdbms;
21 
24 use Exception;
25 use stdClass;
26 
38 interface IDatabase {
40  const TRIGGER_IDLE = 1;
42  const TRIGGER_COMMIT = 2;
44  const TRIGGER_ROLLBACK = 3;
46  const TRIGGER_CANCEL = 4;
47 
49  const TRANSACTION_EXPLICIT = '';
51  const TRANSACTION_INTERNAL = 'implicit';
52 
54  const ATOMIC_NOT_CANCELABLE = '';
56  const ATOMIC_CANCELABLE = 'cancelable';
57 
59  const FLUSHING_ONE = '';
61  const FLUSHING_ALL_PEERS = 'flush';
63  const FLUSHING_INTERNAL = 'flush-internal';
64 
66  const REMEMBER_NOTHING = '';
68  const REMEMBER_PRIOR = 'remember';
70  const RESTORE_PRIOR = 'prior';
72  const RESTORE_INITIAL = 'initial';
73 
75  const ESTIMATE_TOTAL = 'total';
77  const ESTIMATE_DB_APPLY = 'apply';
78 
80  const LIST_COMMA = 0;
82  const LIST_AND = 1;
84  const LIST_SET = 2;
86  const LIST_NAMES = 3;
88  const LIST_OR = 4;
89 
91  const DBO_DEBUG = 1;
93  const DBO_NOBUFFER = 2;
95  const DBO_IGNORE = 4;
97  const DBO_TRX = 8;
99  const DBO_DEFAULT = 16;
101  const DBO_PERSISTENT = 32;
103  const DBO_SYSDBA = 64;
105  const DBO_DDLMODE = 128;
107  const DBO_SSL = 256;
109  const DBO_COMPRESS = 512;
110 
112  const QUERY_NORMAL = 0;
114  const QUERY_SILENCE_ERRORS = 1; // b/c for 1.32 query() argument; note that (int)true = 1
119  const QUERY_PSEUDO_PERMANENT = 2;
121  const QUERY_REPLICA_ROLE = 4;
123  const QUERY_IGNORE_DBO_TRX = 8;
125  const QUERY_NO_RETRY = 16;
126 
128  const UNION_ALL = true;
130  const UNION_DISTINCT = false;
131 
133  const LB_TRX_ROUND_ID = 'trxRoundId';
135  const LB_READ_ONLY_REASON = 'readOnlyReason';
136 
138  const ROLE_STREAMING_MASTER = 'streaming-master';
140  const ROLE_STREAMING_REPLICA = 'streaming-replica';
142  const ROLE_STATIC_CLONE = 'static-clone';
144  const ROLE_UNKNOWN = 'unknown';
145 
153  public function getServerInfo();
154 
161  public function getTopologyRole();
162 
169  public function getTopologyRootMaster();
170 
179  public function trxLevel();
180 
192  public function trxTimestamp();
193 
198  public function explicitTrxActive();
199 
206  public function assertNoOpenTransactions();
207 
214  public function tablePrefix( $prefix = null );
215 
222  public function dbSchema( $schema = null );
223 
230  public function getLBInfo( $name = null );
231 
240  public function setLBInfo( $nameOrArray, $value = null );
241 
248  public function implicitOrderby();
249 
255  public function lastQuery();
256 
263  public function lastDoneWrites();
264 
269  public function writesPending();
270 
275  public function preCommitCallbacksPending();
276 
285  public function writesOrCallbacksPending();
286 
296  public function pendingWriteQueryDuration( $type = self::ESTIMATE_TOTAL );
297 
304  public function pendingWriteCallers();
305 
312  public function pendingWriteRowsAffected();
313 
317  public function isOpen();
318 
325  public function setFlag( $flag, $remember = self::REMEMBER_NOTHING );
326 
333  public function clearFlag( $flag, $remember = self::REMEMBER_NOTHING );
334 
341  public function restoreFlags( $state = self::RESTORE_PRIOR );
342 
349  public function getFlag( $flag );
350 
358  public function getDomainID();
359 
365  public function getType();
366 
376  public function fetchObject( $res );
377 
387  public function fetchRow( $res );
388 
397  public function numRows( $res );
398 
406  public function numFields( $res );
407 
416  public function fieldName( $res, $n );
417 
427  public function insertId();
428 
436  public function dataSeek( $res, $row );
437 
444  public function lastErrno();
445 
452  public function lastError();
453 
462  public function affectedRows();
463 
471  public function getSoftwareLink();
472 
478  public function getServerVersion();
479 
492  public function close( $fname = __METHOD__, $owner = null );
493 
521  public function query( $sql, $fname = __METHOD__, $flags = 0 );
522 
531  public function freeResult( $res );
532 
548  public function selectField(
549  $table, $var, $cond = '', $fname = __METHOD__, $options = [], $join_conds = []
550  );
551 
569  public function selectFieldValues(
570  $table, $var, $cond = '', $fname = __METHOD__, $options = [], $join_conds = []
571  );
572 
733  public function select(
734  $table,
735  $vars,
736  $conds = '',
737  $fname = __METHOD__,
738  $options = [],
739  $join_conds = []
740  );
741 
759  public function selectSQLText(
760  $table,
761  $vars,
762  $conds = '',
763  $fname = __METHOD__,
764  $options = [],
765  $join_conds = []
766  );
767 
784  public function selectRow(
785  $table,
786  $vars,
787  $conds,
788  $fname = __METHOD__,
789  $options = [],
790  $join_conds = []
791  );
792 
815  public function estimateRowCount(
816  $tables, $var = '*', $conds = '', $fname = __METHOD__, $options = [], $join_conds = []
817  );
818 
837  public function selectRowCount(
838  $tables, $var = '*', $conds = '', $fname = __METHOD__, $options = [], $join_conds = []
839  );
840 
853  public function lockForUpdate(
854  $table, $conds = '', $fname = __METHOD__, $options = [], $join_conds = []
855  );
856 
866  public function fieldExists( $table, $field, $fname = __METHOD__ );
867 
877  public function indexExists( $table, $index, $fname = __METHOD__ );
878 
887  public function tableExists( $table, $fname = __METHOD__ );
888 
919  public function insert( $table, $rows, $fname = __METHOD__, $options = [] );
920 
941  public function update( $table, $values, $conds, $fname = __METHOD__, $options = [] );
942 
968  public function makeList( array $a, $mode = self::LIST_COMMA );
969 
980  public function makeWhereFrom2d( $data, $baseKey, $subKey );
981 
991  public function aggregateValue( $valuedata, $valuename = 'value' );
992 
997  public function bitNot( $field );
998 
1004  public function bitAnd( $fieldLeft, $fieldRight );
1005 
1011  public function bitOr( $fieldLeft, $fieldRight );
1012 
1018  public function buildConcat( $stringList );
1019 
1036  public function buildGroupConcatField(
1037  $delim, $table, $field, $conds = '', $join_conds = []
1038  );
1039 
1052  public function buildSubString( $input, $startPosition, $length = null );
1053 
1059  public function buildStringCast( $field );
1060 
1066  public function buildIntegerCast( $field );
1067 
1082  public function buildSelectSubquery(
1083  $table,
1084  $vars,
1085  $conds = '',
1086  $fname = __METHOD__,
1087  $options = [],
1088  $join_conds = []
1089  );
1090 
1108  public function limitResult( $sql, $limit, $offset = false );
1109 
1122  public function databasesAreIndependent();
1123 
1135  public function selectDB( $db );
1136 
1149  public function selectDomain( $domain );
1150 
1155  public function getDBname();
1156 
1161  public function getServer();
1162 
1169  public function addQuotes( $s );
1170 
1180  public function addIdentifierQuotes( $s );
1181 
1201  public function buildLike( $param, ...$params );
1202 
1208  public function anyChar();
1209 
1215  public function anyString();
1216 
1233  public function nextSequenceValue( $seqName );
1234 
1260  public function replace( $table, $uniqueIndexes, $rows, $fname = __METHOD__ );
1261 
1297  public function upsert(
1298  $table, array $rows, $uniqueIndexes, array $set, $fname = __METHOD__
1299  );
1300 
1321  public function deleteJoin(
1322  $delTable,
1323  $joinTable,
1324  $delVar,
1325  $joinVar,
1326  $conds,
1327  $fname = __METHOD__
1328  );
1329 
1340  public function delete( $table, $conds, $fname = __METHOD__ );
1341 
1372  public function insertSelect(
1373  $destTable,
1374  $srcTable,
1375  $varMap,
1376  $conds,
1377  $fname = __METHOD__,
1378  $insertOptions = [],
1379  $selectOptions = [],
1380  $selectJoinConds = []
1381  );
1382 
1388  public function unionSupportsOrderAndLimit();
1389 
1399  public function unionQueries( $sqls, $all );
1400 
1427  public function unionConditionPermutations(
1428  $table,
1429  $vars,
1430  array $permute_conds,
1431  $extra_conds = '',
1432  $fname = __METHOD__,
1433  $options = [],
1434  $join_conds = []
1435  );
1436 
1447  public function conditional( $cond, $trueVal, $falseVal );
1448 
1457  public function strreplace( $orig, $old, $new );
1458 
1465  public function getServerUptime();
1466 
1474  public function wasDeadlock();
1475 
1483  public function wasLockTimeout();
1484 
1493  public function wasConnectionLoss();
1494 
1500  public function wasReadOnlyError();
1501 
1509  public function wasErrorReissuable();
1510 
1525  public function masterPosWait( DBMasterPos $pos, $timeout );
1526 
1533  public function getReplicaPos();
1534 
1541  public function getMasterPos();
1542 
1547  public function serverIsReadOnly();
1548 
1573  public function onTransactionResolution( callable $callback, $fname = __METHOD__ );
1574 
1610  public function onTransactionCommitOrIdle( callable $callback, $fname = __METHOD__ );
1611 
1620  public function onTransactionIdle( callable $callback, $fname = __METHOD__ );
1621 
1648  public function onTransactionPreCommitOrIdle( callable $callback, $fname = __METHOD__ );
1649 
1673  public function onAtomicSectionCancel( callable $callback, $fname = __METHOD__ );
1674 
1692  public function setTransactionListener( $name, callable $callback = null );
1693 
1768  public function startAtomic( $fname = __METHOD__, $cancelable = self::ATOMIC_NOT_CANCELABLE );
1769 
1781  public function endAtomic( $fname = __METHOD__ );
1782 
1808  public function cancelAtomic( $fname = __METHOD__, AtomicSectionIdentifier $sectionId = null );
1809 
1882  public function doAtomicSection(
1883  $fname, callable $callback, $cancelable = self::ATOMIC_NOT_CANCELABLE
1884  );
1885 
1905  public function begin( $fname = __METHOD__, $mode = self::TRANSACTION_EXPLICIT );
1906 
1925  public function commit( $fname = __METHOD__, $flush = self::FLUSHING_ONE );
1926 
1946  public function rollback( $fname = __METHOD__, $flush = self::FLUSHING_ONE );
1947 
1967  public function flushSnapshot( $fname = __METHOD__, $flush = self::FLUSHING_ONE );
1968 
1980  public function timestamp( $ts = 0 );
1981 
1996  public function timestampOrNull( $ts = null );
1997 
2004  public function ping( &$rtt = null );
2005 
2014  public function getLag();
2015 
2030  public function getSessionLagStatus();
2031 
2037  public function maxListLen();
2038 
2049  public function encodeBlob( $b );
2050 
2060  public function decodeBlob( $b );
2061 
2073  public function setSessionOptions( array $options );
2074 
2082  public function setSchemaVars( $vars );
2083 
2093  public function lockIsFree( $lockName, $method );
2094 
2106  public function lock( $lockName, $method, $timeout = 5 );
2107 
2118  public function unlock( $lockName, $method );
2119 
2141  public function getScopedLockAndFlush( $lockKey, $fname, $timeout );
2142 
2149  public function namedLocksEnqueue();
2150 
2158  public function getInfinity();
2159 
2166  public function encodeExpiry( $expiry );
2167 
2175  public function decodeExpiry( $expiry, $format = TS_MW );
2176 
2186  public function setBigSelects( $value = true );
2187 
2192  public function isReadOnly();
2193 
2207  public function setTableAliases( array $aliases );
2208 
2221  public function setIndexAliases( array $aliases );
2222 
2230  public function __toString();
2231 }
2232 
2236 class_alias( IDatabase::class, 'IDatabase' );
upsert( $table, array $rows, $uniqueIndexes, array $set, $fname=__METHOD__)
INSERT ON DUPLICATE KEY UPDATE wrapper, upserts an array into a table.
selectDB( $db)
Change the current database.
const DBO_IGNORE
Definition: defines.php:11
buildSelectSubquery( $table, $vars, $conds='', $fname=__METHOD__, $options=[], $join_conds=[])
Equivalent to IDatabase::selectSQLText() except wraps the result in Subqyery.
aggregateValue( $valuedata, $valuename='value')
Return aggregated value alias.
pendingWriteCallers()
Get the list of method names that did write queries for this transaction.
dbSchema( $schema=null)
Get/set the db schema.
insertSelect( $destTable, $srcTable, $varMap, $conds, $fname=__METHOD__, $insertOptions=[], $selectOptions=[], $selectJoinConds=[])
INSERT SELECT wrapper.
getServerInfo()
Get a human-readable string describing the current software version.
deleteJoin( $delTable, $joinTable, $delVar, $joinVar, $conds, $fname=__METHOD__)
DELETE where the condition is a join.
addIdentifierQuotes( $s)
Escape a SQL identifier (e.g.
selectDomain( $domain)
Set the current domain (database, schema, and table prefix)
setSessionOptions(array $options)
Override database&#39;s default behavior.
conditional( $cond, $trueVal, $falseVal)
Returns an SQL expression for a simple conditional.
fetchObject( $res)
Fetch the next row from the given result object, in object form.
affectedRows()
Get the number of rows affected by the last write query.
getServerUptime()
Determines how long the server has been up.
timestampOrNull( $ts=null)
Convert a timestamp in one of the formats accepted by ConvertibleTimestamp to the format used for ins...
selectField( $table, $var, $cond='', $fname=__METHOD__, $options=[], $join_conds=[])
A SELECT wrapper which returns a single field from a single result row.
makeList(array $a, $mode=self::LIST_COMMA)
Makes an encoded list of strings from an array.
lastErrno()
Get the last error number.
getLBInfo( $name=null)
Get properties passed down from the server info array of the load balancer.
maxListLen()
Return the maximum number of items allowed in a list, or 0 for unlimited.
getInfinity()
Find out when &#39;infinity&#39; is.
numFields( $res)
Get the number of fields in a result object.
unionSupportsOrderAndLimit()
Determine if the RDBMS supports ORDER BY and LIMIT for separate subqueries within UNION...
pendingWriteRowsAffected()
Get the number of affected rows from pending write queries.
namedLocksEnqueue()
Check to see if a named lock used by lock() use blocking queues.
const LIST_NAMES
Definition: Defines.php:41
numRows( $res)
Get the number of rows in a query result.
setLBInfo( $nameOrArray, $value=null)
Set the entire array or a particular key of the managing load balancer info array.
lock( $lockName, $method, $timeout=5)
Acquire a named lock.
getSessionLagStatus()
Get the replica DB lag when the current transaction started or a general lag estimate if not transact...
getMasterPos()
Get the position of this master.
commit( $fname=__METHOD__, $flush=self::FLUSHING_ONE)
Commits a transaction previously started using begin()
endAtomic( $fname=__METHOD__)
Ends an atomic section of SQL statements.
encodeBlob( $b)
Some DBMSs have a special format for inserting into blob fields, they don&#39;t allow simple quoted strin...
getLag()
Get the amount of replication lag for this database server.
databasesAreIndependent()
Returns true if DBs are assumed to be on potentially different servers.
insertId()
Get the inserted value of an auto-increment row.
implicitOrderby()
Returns true if this database does an implicit order by when the column has an index For example: SEL...
flushSnapshot( $fname=__METHOD__, $flush=self::FLUSHING_ONE)
Commit any transaction but error out if writes or callbacks are pending.
trxLevel()
Gets the current transaction level.
wasDeadlock()
Determines if the last failure was due to a deadlock.
getDomainID()
Return the currently selected domain ID.
const DBO_DDLMODE
Definition: defines.php:16
wasErrorReissuable()
Determines if the last query error was due to something outside of the query itself.
getServerVersion()
A string describing the current software version, like from mysql_get_server_info() ...
timestamp( $ts=0)
Convert a timestamp in one of the formats accepted by ConvertibleTimestamp to the format used for ins...
anyString()
Returns a token for buildLike() that denotes a &#39;&#39; to be used in a LIKE query.
pendingWriteQueryDuration( $type=self::ESTIMATE_TOTAL)
Get the time spend running write queries for this transaction.
const DBO_PERSISTENT
Definition: defines.php:14
begin( $fname=__METHOD__, $mode=self::TRANSACTION_EXPLICIT)
Begin a transaction.
writesOrCallbacksPending()
Whether there is a transaction open with either possible write queries or unresolved pre-commit/commi...
unionQueries( $sqls, $all)
Construct a UNION query.
selectRow( $table, $vars, $conds, $fname=__METHOD__, $options=[], $join_conds=[])
Wrapper to IDatabase::select() that only fetches one row (via LIMIT)
bitAnd( $fieldLeft, $fieldRight)
rollback( $fname=__METHOD__, $flush=self::FLUSHING_ONE)
Rollback a transaction previously started using begin()
cancelAtomic( $fname=__METHOD__, AtomicSectionIdentifier $sectionId=null)
Cancel an atomic section of SQL statements.
assertNoOpenTransactions()
Assert that all explicit transactions or atomic sections have been closed.
getScopedLockAndFlush( $lockKey, $fname, $timeout)
Acquire a named lock, flush any transaction, and return an RAII style unlocker object.
lastDoneWrites()
Get the last time the connection may have been used for a write query.
setSchemaVars( $vars)
Set schema variables to be used when streaming commands from SQL files or stdin.
const DBO_DEBUG
Definition: defines.php:9
const LIST_AND
Definition: Defines.php:39
getReplicaPos()
Get the replication position of this replica DB.
const DBO_SYSDBA
Definition: defines.php:15
An object representing a master or replica DB position in a replicated setup.
Definition: DBMasterPos.php:12
__toString()
Get a debugging string that mentions the database type, the ID of this instance, and the ID of any un...
const LIST_COMMA
Definition: Defines.php:38
onTransactionIdle(callable $callback, $fname=__METHOD__)
Alias for onTransactionCommitOrIdle() for backwards-compatibility.
makeWhereFrom2d( $data, $baseKey, $subKey)
Build a partial where clause from a 2-d array such as used for LinkBatch.
buildConcat( $stringList)
Build a concatenation list to feed into a SQL query.
getDBname()
Get the current DB name.
fieldName( $res, $n)
Get a field name in a result object.
bitOr( $fieldLeft, $fieldRight)
dataSeek( $res, $row)
Change the position of the cursor in a result object.
wasLockTimeout()
Determines if the last failure was due to a lock timeout.
getTopologyRole()
Get the replication topology role of this server.
wasReadOnlyError()
Determines if the last failure was due to the database being read-only.
unionConditionPermutations( $table, $vars, array $permute_conds, $extra_conds='', $fname=__METHOD__, $options=[], $join_conds=[])
Construct a UNION query for permutations of conditions.
getSoftwareLink()
Returns a wikitext style link to the DB&#39;s website (e.g.
encodeExpiry( $expiry)
Encode an expiry time into the DBMS dependent format.
selectSQLText( $table, $vars, $conds='', $fname=__METHOD__, $options=[], $join_conds=[])
Take the same arguments as IDatabase::select() and return the SQL it would use.
onTransactionPreCommitOrIdle(callable $callback, $fname=__METHOD__)
Run a callback before the current transaction commits or now if there is none.
lastError()
Get a description of the last error.
lastQuery()
Get the last query that sent on account of IDatabase::query()
selectRowCount( $tables, $var=' *', $conds='', $fname=__METHOD__, $options=[], $join_conds=[])
Get the number of rows in dataset.
wasConnectionLoss()
Determines if the last query error was due to a dropped connection.
decodeExpiry( $expiry, $format=TS_MW)
Decode an expiry time into a DBMS independent format.
strreplace( $orig, $old, $new)
Returns a SQL expression for simple string replacement (e.g.
lockIsFree( $lockName, $method)
Check to see if a named lock is not locked by any thread (non-blocking)
setTransactionListener( $name, callable $callback=null)
Run a callback after each time any transaction commits or rolls back.
buildSubString( $input, $startPosition, $length=null)
Build a SUBSTRING function.
const LIST_SET
Definition: Defines.php:40
const LIST_OR
Definition: Defines.php:42
const DBO_TRX
Definition: defines.php:12
setFlag( $flag, $remember=self::REMEMBER_NOTHING)
Set a flag for this connection.
const DBO_NOBUFFER
Definition: defines.php:10
setIndexAliases(array $aliases)
Convert certain index names to alternative names before querying the DB.
masterPosWait(DBMasterPos $pos, $timeout)
Wait for the replica DB to catch up to a given master position.
setBigSelects( $value=true)
Allow or deny "big selects" for this session only.
anyChar()
Returns a token for buildLike() that denotes a &#39;_&#39; to be used in a LIKE query.
const DBO_DEFAULT
Definition: defines.php:13
selectFieldValues( $table, $var, $cond='', $fname=__METHOD__, $options=[], $join_conds=[])
A SELECT wrapper which returns a list of single field values from result rows.
getType()
Get the type of the DBMS (e.g.
doAtomicSection( $fname, callable $callback, $cancelable=self::ATOMIC_NOT_CANCELABLE)
Perform an atomic section of reversable SQL statements from a callback.
buildGroupConcatField( $delim, $table, $field, $conds='', $join_conds=[])
Build a GROUP_CONCAT or equivalent statement for a query.
Basic database interface for live and lazy-loaded relation database handles.
Definition: IDatabase.php:38
setTableAliases(array $aliases)
Make certain table names use their own database, schema, and table prefix when passed into SQL querie...
indexExists( $table, $index, $fname=__METHOD__)
Determines whether an index exists.
startAtomic( $fname=__METHOD__, $cancelable=self::ATOMIC_NOT_CANCELABLE)
Begin an atomic section of SQL statements.
estimateRowCount( $tables, $var=' *', $conds='', $fname=__METHOD__, $options=[], $join_conds=[])
Estimate the number of rows in dataset.
getFlag( $flag)
Returns a boolean whether the flag $flag is set for this connection.
freeResult( $res)
Free a result object returned by query() or select()
insert( $table, $rows, $fname=__METHOD__, $options=[])
INSERT wrapper, inserts an array into a table.
limitResult( $sql, $limit, $offset=false)
Construct a LIMIT query with optional offset.
getTopologyRootMaster()
Get the host (or address) of the root master server for the replication topology. ...
getServer()
Get the server hostname or IP address.
select( $table, $vars, $conds='', $fname=__METHOD__, $options=[], $join_conds=[])
Execute a SELECT query constructed using the various parameters provided.
restoreFlags( $state=self::RESTORE_PRIOR)
Restore the flags to their prior state before the last setFlag/clearFlag call.
replace( $table, $uniqueIndexes, $rows, $fname=__METHOD__)
REPLACE query wrapper.
lockForUpdate( $table, $conds='', $fname=__METHOD__, $options=[], $join_conds=[])
Lock all rows meeting the given conditions/options FOR UPDATE.
close( $fname=__METHOD__, $owner=null)
Close the database connection.
onTransactionResolution(callable $callback, $fname=__METHOD__)
Run a callback as soon as the current transaction commits or rolls back.
update( $table, $values, $conds, $fname=__METHOD__, $options=[])
UPDATE wrapper.
trxTimestamp()
Get the UNIX timestamp of the time that the transaction was established.
query( $sql, $fname=__METHOD__, $flags=0)
Run an SQL query and return the result.
unlock( $lockName, $method)
Release a lock.
Class used for token representing identifiers for atomic sections from IDatabase instances.
fetchRow( $res)
Fetch the next row from the given result object, in associative array form.
const DBO_SSL
Definition: defines.php:17
addQuotes( $s)
Escape and quote a raw value string for use in a SQL query.
tablePrefix( $prefix=null)
Get/set the table prefix.
onAtomicSectionCancel(callable $callback, $fname=__METHOD__)
Run a callback when the atomic section is cancelled.
fieldExists( $table, $field, $fname=__METHOD__)
Determines whether a field exists in a table.
onTransactionCommitOrIdle(callable $callback, $fname=__METHOD__)
Run a callback as soon as there is no transaction pending.
const DBO_COMPRESS
Definition: defines.php:18
clearFlag( $flag, $remember=self::REMEMBER_NOTHING)
Clear a flag for this connection.
buildLike( $param,... $params)
LIKE statement wrapper.
tableExists( $table, $fname=__METHOD__)
Query whether a given table exists.
nextSequenceValue( $seqName)
Deprecated method, calls should be removed.
ping(&$rtt=null)
Ping the server and try to reconnect if it there is no connection.
decodeBlob( $b)
Some DBMSs return a special placeholder object representing blob fields in result objects...