3 * @defgroup Database Database
5 * This file deals with database interface functions
6 * and query specifics/optimisations.
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
18 * You should have received a copy of the GNU General Public License along
19 * with this program; if not, write to the Free Software Foundation, Inc.,
20 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21 * http://www.gnu.org/copyleft/gpl.html
28 * Database abstraction object
31 abstract class DatabaseBase
extends Database
{
33 * Boolean, controls output of large amounts of debug information.
34 * @param bool|null $debug
35 * - true to enable debugging
36 * - false to disable debugging
37 * - omitted or null to do nothing
39 * @return bool Previous value of the flag
40 * @deprecated since 1.28; use setFlag()
42 public function debug( $debug = null ) {
43 $res = $this->getFlag( DBO_DEBUG
);
44 if ( $debug !== null ) {
45 $debug ?
$this->setFlag( DBO_DEBUG
) : $this->clearFlag( DBO_DEBUG
);
52 * Returns true if this database supports (and uses) cascading deletes
56 public function cascadingDeletes() {
60 * Returns true if this database supports (and uses) triggers (e.g. on the page table)
64 public function cleanupTriggers() {
68 * Returns true if this database is strict about what can be put into an IP field.
69 * Specifically, it uses a NULL value instead of an empty string.
73 public function strictIPs() {
79 * @deprecated since 1.27; use SearchEngineFactory::getSearchEngineClass()
81 public function getSearchEngine() {
82 return 'SearchEngineDummy';