diff options
author | Andrey Andreev <narf@bofh.bg> | 2012-04-09 15:11:56 +0200 |
---|---|---|
committer | Andrey Andreev <narf@bofh.bg> | 2012-04-09 15:11:56 +0200 |
commit | b457a4001ce2380e97f36b0a983b477c3e31de69 (patch) | |
tree | aa06c44f5ba73e4bb76320ca79e230084de85d2e /system/database/drivers/cubrid | |
parent | a0d4e417ef994628f67a75b2acdb5bb62971e803 (diff) |
DB Utility improvements
- Replaced driver methods _list_databases(), _optimize_table() and _repair_table() with properties
- Added defaults for optimize_table() and repair_table() SQL strings (FALSE, as those are mostly MySQL-specific)
- Added MSSQL/SQLSRV support for optimize_table() (actually rebuilds table indexes)
- Switched public driver methods to protected
- Improved CUBRID support for list_databases() as it used to only return the currently used database
- Minor speed improvements
Diffstat (limited to 'system/database/drivers/cubrid')
-rw-r--r-- | system/database/drivers/cubrid/cubrid_utility.php | 54 |
1 files changed, 5 insertions, 49 deletions
diff --git a/system/database/drivers/cubrid/cubrid_utility.php b/system/database/drivers/cubrid/cubrid_utility.php index dafd66146..274ff6a48 100644 --- a/system/database/drivers/cubrid/cubrid_utility.php +++ b/system/database/drivers/cubrid/cubrid_utility.php @@ -39,69 +39,25 @@ class CI_DB_cubrid_utility extends CI_DB_utility { * * @return array */ - public function _list_databases() + public function list_databases() { - // CUBRID does not allow to see the list of all databases on the - // server. It is the way its architecture is designed. Every - // database is independent and isolated. - // For this reason we can return only the name of the currect - // connected database. - if ($this->conn_id) + if (isset($this->data_cache['db_names'])) { - return "SELECT '" . $this->database . "'"; + return $this->data_cache['db_names']; } - else - { - return FALSE; - } - } - - // -------------------------------------------------------------------- - /** - * Optimize table query - * - * Generates a platform-specific query so that a table can be optimized - * - * @param string the table name - * @return bool - * @link http://www.cubrid.org/manual/840/en/Optimize%20Database - */ - public function _optimize_table($table) - { - // No SQL based support in CUBRID as of version 8.4.0. Database or - // table optimization can be performed using CUBRID Manager - // database administration tool. See the link above for more info. - return FALSE; + return $this->data_cache['db_names'] = cubrid_list_dbs($this->db->conn_id); } // -------------------------------------------------------------------- /** - * Repair table query - * - * Generates a platform-specific query so that a table can be repaired - * - * @param string the table name - * @return bool - * @link http://www.cubrid.org/manual/840/en/Checking%20Database%20Consistency - */ - public function _repair_table($table) - { - // Not supported in CUBRID as of version 8.4.0. Database or - // table consistency can be checked using CUBRID Manager - // database administration tool. See the link above for more info. - return FALSE; - } - - // -------------------------------------------------------------------- - /** * CUBRID Export * * @param array Preferences * @return mixed */ - public function _backup($params = array()) + protected function _backup($params = array()) { // No SQL based support in CUBRID as of version 8.4.0. Database or // table backup can be performed using CUBRID Manager |