MediaWiki REL1_35
Database

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

Collaboration diagram for Database:

Files

file  AtomicSectionIdentifier.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  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  ConnectionManager.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  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  DatabaseMysqlBase.php
 This is the MySQL database abstraction layer.
 
file  DatabaseMysqli.php
 This is the MySQLi 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  DBQueryDisconnectedError.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  DBQueryTimeoutError.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  DBReadOnlyRoleError.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  DBTransactionStateError.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  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  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  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  SessionConsistentConnectionManager.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  Subquery.php
 This file deals with database interface functions and query specifics/optimisations.
 

Classes

class  Wikimedia\Rdbms\Database
 Relational database abstraction object. More...
 
class  Wikimedia\Rdbms\DatabaseMysqlBase
 Database abstraction object for MySQL. More...
 
class  Wikimedia\Rdbms\DatabaseMysqli
 Database abstraction object for PHP extension mysqli. More...
 
class  Wikimedia\Rdbms\DatabasePostgres
 
class  Wikimedia\Rdbms\DatabaseSqlite
 
class  Wikimedia\Rdbms\DBAccessError
 Exception class for attempted DB access @newable. More...
 
class  Wikimedia\Rdbms\DBConnectionError
 @newable More...
 
class  Wikimedia\Rdbms\DBConnRef
 Helper class used for automatically marking an IDatabase connection as reusable (once it no longer matters which DB domain is selected) and for deferring the actual network connection. More...
 
class  Wikimedia\Rdbms\DBError
 Database error base class @newable Stable to extend. More...
 
class  Wikimedia\Rdbms\DBExpectedError
 Base class for the more common types of database errors. More...
 
class  Wikimedia\Rdbms\DBQueryDisconnectedError
 @newable More...
 
class  Wikimedia\Rdbms\DBQueryError
 @newable Stable to extend More...
 
class  Wikimedia\Rdbms\DBQueryTimeoutError
 Error thrown when a query times out. More...
 
class  Wikimedia\Rdbms\DBReadOnlyError
 @newable More...
 
class  Wikimedia\Rdbms\DBReadOnlyRoleError
 Exception class for attempted DB write access to a DBConnRef with the DB_REPLICA role. More...
 
class  Wikimedia\Rdbms\DBReplicationWaitError
 Exception class for replica DB wait errors @newable. More...
 
class  Wikimedia\Rdbms\DBTransactionError
 @newable Stable to extend More...
 
class  Wikimedia\Rdbms\DBTransactionSizeError
 @newable More...
 
class  Wikimedia\Rdbms\DBTransactionStateError
 @newable More...
 
class  Wikimedia\Rdbms\DBUnexpectedError
 @newable Stable to extend More...
 
interface  Wikimedia\Rdbms\Field
 Base for all database-specific classes representing information about database fields. More...
 
class  Wikimedia\Rdbms\GeneralizedSql
 Lazy-loaded wrapper for simplification and scrubbing of SQL queries for profiling. 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. 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  Wikimedia\Rdbms\ResultWrapper
 Result wrapper for grabbing data queried from an IDatabase object. More...
 
class  Wikimedia\Rdbms\TransactionProfiler
 Detect high-contention DB queries via profiling calls. More...
 

Detailed Description

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

This group 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