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 */
3 require_once("./Services/Database/exceptions/exception.ilDatabaseException.php");
4 require_once('./Services/Database/classes/class.ilDBConstants.php');
5 require_once("./Services/Database/interfaces/interface.ilDBInterface.php");
6 require_once('./Services/Database/interfaces/interface.ilDBManager.php');
7 require_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');
54  $ilDB = new ilDBPdoPostgreSQL();
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');
63  $ilDB = new ilDBPdoMySQLInnoDB();
64  break;
67  require_once('./Services/Database/classes/PDO/class.ilDBPdoMySQLMyISAM.php');
68  $ilDB = new ilDBPdoMySQLMyISAM();
69  break;
71  require_once('./Services/Database/classes/PDO/class.ilDBPdoMySQLGalera.php');
72  $ilDB = new ilDBPdoMySQLGalera();
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 }
PostreSQL Database Wrapper.
Class ilDBPdoPostgreSQL.
MySQL InnoDB Database Wrapper.
Class ilDBPdoMySQLMyISAM.
Class ilDatabaseException.
$a_type
Definition: workflow.php:93
MySQL Database Wrapper.
global $ilDB
Class ilDBWrapperFactory.
Class ilDBPdoMySQLInnoDB.
defined( 'APPLICATION_ENV')||define( 'APPLICATION_ENV'
Definition: bootstrap.php:27
Class ilDBPdoMySQLInnoDB.
Oracle Database Wrapper.