ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
class.ilDBWrapperFactory.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2009 ILIAS open source, Extended GPL, see docs/LICENSE */
3require_once("./Services/Database/exceptions/exception.ilDatabaseException.php");
4require_once('./Services/Database/classes/class.ilDBConstants.php');
5require_once("./Services/Database/interfaces/interface.ilDBInterface.php");
6require_once('./Services/Database/interfaces/interface.ilDBManager.php');
7require_once('./Services/Database/interfaces/interface.ilDBReverse.php');
8
22
29 static public function getWrapper($a_type, $a_inactive_mysqli = null) {
30 global $ilClientIniFile;
35 if ($a_type == "" && is_object($ilClientIniFile)) {
36 $a_type = $ilClientIniFile->readVariable("db", "type");
37 }
38 if ($a_type == "") {
40 }
41
42 // For legacy code
43 if (!defined('DB_FETCHMODE_ASSOC')) {
44 define("DB_FETCHMODE_ASSOC", ilDBConstants::FETCHMODE_ASSOC);
45 }
46 if (!defined('DB_FETCHMODE_OBJECT')) {
47 define("DB_FETCHMODE_OBJECT", ilDBConstants::FETCHMODE_OBJECT);
48 }
49
50 switch ($a_type) {
53 require_once('./Services/Database/classes/PDO/class.ilDBPdoPostgreSQL.php');
55 break;
57 include_once("./Services/Database/classes/MDB2/class.ilDBOracle.php");
58 $ilDB = new ilDBOracle();
59 break;
62 require_once('./Services/Database/classes/PDO/class.ilDBPdoMySQLInnoDB.php');
64 break;
67 require_once('./Services/Database/classes/PDO/class.ilDBPdoMySQLMyISAM.php');
69 break;
71 require_once('./Services/Database/classes/PDO/class.ilDBPdoMySQLGalera.php');
73 break;
74 case 'postgres-legacy':
75 require_once('./Services/Database/classes/MDB2/class.ilDBPostgreSQL.php');
76 $ilDB = new ilDBPostgreSQL();
77 break;
78 case 'mysql-legacy':
79 require_once('./Services/Database/classes/MDB2/class.ilDBMySQL.php');
80 $ilDB = new ilDBMySQL();
81 break;
82 case 'innodb-legacy':
83 require_once('./Services/Database/classes/MDB2/class.ilDBInnoDB.php');
84 $ilDB = new ilDBInnoDB();
85 break;
86 default:
87 throw new ilDatabaseException("No viable database-type given: " . var_export($a_type, true));
88 }
89
90 return $ilDB;
91 }
92}
An exception for terminatinating execution or to throw for unit testing.
MySQL InnoDB Database Wrapper.
MySQL Database Wrapper.
Oracle Database Wrapper.
Class ilDBPdoMySQLInnoDB.
Class ilDBPdoMySQLInnoDB.
Class ilDBPdoMySQLMyISAM.
Class ilDBPdoPostgreSQL.
PostreSQL Database Wrapper.
Class ilDBWrapperFactory.
Class ilDatabaseException.
defined( 'APPLICATION_ENV')||define( 'APPLICATION_ENV'
Definition: bootstrap.php:27
global $ilDB
$a_type
Definition: workflow.php:93