MediaWiki  1.30.0
Database

This file deals with database interface functions and query specifics/optimisations. More...

Files

file  ChronologyProtector.php
 Generator of database load balancing objects.
 
file  CloneDatabase.php
 Helper class for making a copy of the database, mostly for unit testing.
 
file  Database.php
 
file  DatabaseDomain.php
 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
 
file  DatabaseMssql.php
 This is the MS SQL Server Native database abstraction layer.
 
file  DatabaseMysql.php
 This is the MySQL database abstraction layer.
 
file  DatabaseMysqlBase.php
 This is the MySQL database abstraction layer.
 
file  DatabaseMysqli.php
 This is the MySQLi database abstraction layer.
 
file  DatabaseOracle.php
 This is the Oracle database abstraction layer.
 
file  DatabasePostgres.php
 This is the Postgres database abstraction layer.
 
file  DatabaseSqlite.php
 This is the SQLite database abstraction layer.
 
file  DBAccessBase.php
 Base class for objects that allow access to other wiki's databases using the foreign database access mechanism implemented by LBFactoryMulti.
 
file  DBAccessError.php
 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
 
file  DBAccessObjectUtils.php
 This file contains database access object related constants.
 
file  DBConnectionError.php
 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
 
file  DBError.php
 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
 
file  DBExpectedError.php
 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
 
file  DBQueryError.php
 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
 
file  DBReadOnlyError.php
 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
 
file  DBReplicationWaitError.php
 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
 
file  DBTransactionError.php
 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
 
file  DBTransactionSizeError.php
 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
 
file  DBUnexpectedError.php
 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
 
file  IDatabase.php
 
file  IDBAccessObject.php
 This file contains database access object related constants.
 
file  ILBFactory.php
 Generator and manager of database load balancing objects.
 
file  ILoadBalancer.php
 Database load balancing interface.
 
file  ILoadMonitor.php
 Database load monitoring interface.
 
file  IMaintainableDatabase.php
 This file deals with database interface functions and query specifics/optimisations.
 
file  LBFactory.php
 Generator and manager of database load balancing objects.
 
file  LBFactoryMulti.php
 Advanced generator of database load balancing objects for database farms.
 
file  LBFactorySimple.php
 Generator of database load balancing objects.
 
file  LBFactorySingle.php
 Simple generator of database connections that always returns the same object.
 
file  LoadBalancer.php
 Database load balancing manager.
 
file  LoadBalancerSingle.php
 Simple generator of database connections that always returns the same object.
 
file  LoadMonitor.php
 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
 
file  LoadMonitorMySQL.php
 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
 
file  LoadMonitorNull.php
 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
 
file  MWLBFactory.php
 Generator of database load balancing objects.
 
file  SavepointPostgres.php
 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
 

Classes

class  Wikimedia\Rdbms\Database
 Relational database abstraction object. More...
 
class  Wikimedia\Rdbms\DatabaseMssql
 
class  Wikimedia\Rdbms\DatabaseMysql
 Database abstraction object for PHP extension mysql. More...
 
class  Wikimedia\Rdbms\DatabaseMysqlBase
 Database abstraction object for MySQL. More...
 
class  Wikimedia\Rdbms\DatabaseMysqli
 Database abstraction object for PHP extension mysqli. More...
 
class  DatabaseOracle
 
class  Wikimedia\Rdbms\DatabasePostgres
 
class  Wikimedia\Rdbms\DatabaseSqlite
 
class  Wikimedia\Rdbms\DBAccessError
 Exception class for attempted DB access. More...
 
class  Wikimedia\Rdbms\DBConnectionError
 
class  Wikimedia\Rdbms\DBConnRef
 Helper class to handle automatically marking connections as reusable (via RAII pattern) as well handling deferring the actual network connection until the handle is used. More...
 
class  Wikimedia\Rdbms\DBError
 Database error base class. More...
 
class  Wikimedia\Rdbms\DBExpectedError
 Base class for the more common types of database errors. More...
 
class  Wikimedia\Rdbms\DBQueryError
 
class  Wikimedia\Rdbms\DBReadOnlyError
 
class  Wikimedia\Rdbms\DBReplicationWaitError
 Exception class for replica DB wait timeouts. More...
 
class  Wikimedia\Rdbms\DBTransactionError
 
class  Wikimedia\Rdbms\DBTransactionSizeError
 
class  Wikimedia\Rdbms\DBUnexpectedError
 
interface  Wikimedia\Rdbms\Field
 Base for all database-specific classes representing information about database fields. More...
 
interface  Wikimedia\Rdbms\IBlob
 Wrapper allowing us to distinguish a blob from a normal string and an array of strings. More...
 
interface  Wikimedia\Rdbms\IDatabase
 Basic database interface for live and lazy-loaded relation database handles. More...
 
interface  Wikimedia\Rdbms\ILBFactory
 An interface for generating database load balancers. More...
 
interface  Wikimedia\Rdbms\ILoadBalancer
 Database cluster connection, tracking, load balancing, and transaction manager interface. More...
 
interface  Wikimedia\Rdbms\ILoadMonitor
 An interface for database load monitoring. More...
 
interface  Wikimedia\Rdbms\IMaintainableDatabase
 Advanced database interface for IDatabase handles that include maintenance methods. More...
 
interface  Wikimedia\Rdbms\IResultWrapper
 Result wrapper for grabbing data queried from an IDatabase object. More...
 
class  Wikimedia\Rdbms\LBFactory
 An interface for generating database load balancers. More...
 
class  Wikimedia\Rdbms\LBFactoryMulti
 A multi-database, multi-master factory for Wikimedia and similar installations. More...
 
class  Wikimedia\Rdbms\LoadBalancer
 Database connection, tracking, load balancing, and transaction manager for a cluster. More...
 
class  Wikimedia\Rdbms\LoadMonitor
 Basic DB load monitor with no external dependencies Uses memcached to cache the replication lag for a short time. More...
 
class  Wikimedia\Rdbms\LoadMonitorMySQL
 Basic MySQL load monitor with no external dependencies Uses memcached to cache the replication lag for a short time. More...
 
class  Wikimedia\Rdbms\MaintainableDBConnRef
 Helper class to handle automatically marking connections as reusable (via RAII pattern) as well handling deferring the actual network connection until the handle is used. More...
 
class  MWLBFactory
 MediaWiki-specific class for generating database load balancers. More...
 
class  ORAResult
 The oci8 extension is fairly weak and doesn't support oci_num_rows, among other things. More...
 
class  Wikimedia\Rdbms\ResultWrapper
 Result wrapper for grabbing data queried from an IDatabase object. More...
 
class  Wikimedia\Rdbms\SavepointPostgres
 Manage savepoints within a transaction. More...
 

Detailed Description

This file deals with database interface functions and query specifics/optimisations.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. http://www.gnu.org/copyleft/gpl.html