blob: dafd66146e0dc8aa5514802469b04b9ebb5b4285 [file] [log] [blame]
Andrey Andreeve3e3d502012-03-20 15:14:45 +02001<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
Esen Sagynov2e087942011-08-09 23:35:01 -07002/**
3 * CodeIgniter
4 *
Phil Sturgeon07c1ac82012-03-09 17:03:37 +00005 * An open source application development framework for PHP 5.2.4 or newer
Esen Sagynov2e087942011-08-09 23:35:01 -07006 *
Derek Jonesf4a4bd82011-10-20 12:18:42 -05007 * NOTICE OF LICENSE
Andrey Andreeve3e3d502012-03-20 15:14:45 +02008 *
Derek Jonesf4a4bd82011-10-20 12:18:42 -05009 * Licensed under the Open Software License version 3.0
Andrey Andreeve3e3d502012-03-20 15:14:45 +020010 *
Derek Jonesf4a4bd82011-10-20 12:18:42 -050011 * This source file is subject to the Open Software License (OSL 3.0) that is
12 * bundled with this package in the files license.txt / license.rst. It is
13 * also available through the world wide web at this URL:
14 * http://opensource.org/licenses/OSL-3.0
15 * If you did not receive a copy of the license and are unable to obtain it
16 * through the world wide web, please send an email to
17 * licensing@ellislab.com so we can send you a copy immediately.
18 *
Esen Sagynov2e087942011-08-09 23:35:01 -070019 * @package CodeIgniter
Derek Jonesf4a4bd82011-10-20 12:18:42 -050020 * @author EllisLab Dev Team
Greg Aker0defe5d2012-01-01 18:46:41 -060021 * @copyright Copyright (c) 2008 - 2012, EllisLab, Inc. (http://ellislab.com/)
Derek Jonesf4a4bd82011-10-20 12:18:42 -050022 * @license http://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
Esen Sagynov2e087942011-08-09 23:35:01 -070023 * @link http://codeigniter.com
24 * @since Version 1.0
25 * @filesource
26 */
27
Esen Sagynov2e087942011-08-09 23:35:01 -070028/**
29 * CUBRID Utility Class
30 *
31 * @category Database
Esen Sagynov2ab2b1e2011-08-11 00:41:16 -070032 * @author Esen Sagynov
Esen Sagynov2e087942011-08-09 23:35:01 -070033 * @link http://codeigniter.com/user_guide/database/
34 */
35class CI_DB_cubrid_utility extends CI_DB_utility {
36
37 /**
38 * List databases
39 *
Esen Sagynov2e087942011-08-09 23:35:01 -070040 * @return array
41 */
Andrey Andreeve3e3d502012-03-20 15:14:45 +020042 public function _list_databases()
Esen Sagynov2e087942011-08-09 23:35:01 -070043 {
44 // CUBRID does not allow to see the list of all databases on the
45 // server. It is the way its architecture is designed. Every
46 // database is independent and isolated.
47 // For this reason we can return only the name of the currect
48 // connected database.
49 if ($this->conn_id)
50 {
51 return "SELECT '" . $this->database . "'";
52 }
Esen Sagynov2ab2b1e2011-08-11 00:41:16 -070053 else
54 {
Esen Sagynov2e087942011-08-09 23:35:01 -070055 return FALSE;
56 }
57 }
58
59 // --------------------------------------------------------------------
60
61 /**
62 * Optimize table query
63 *
64 * Generates a platform-specific query so that a table can be optimized
65 *
Esen Sagynov2e087942011-08-09 23:35:01 -070066 * @param string the table name
Andrey Andreeve3e3d502012-03-20 15:14:45 +020067 * @return bool
Esen Sagynov2e087942011-08-09 23:35:01 -070068 * @link http://www.cubrid.org/manual/840/en/Optimize%20Database
69 */
Andrey Andreeve3e3d502012-03-20 15:14:45 +020070 public function _optimize_table($table)
Esen Sagynov2e087942011-08-09 23:35:01 -070071 {
72 // No SQL based support in CUBRID as of version 8.4.0. Database or
73 // table optimization can be performed using CUBRID Manager
74 // database administration tool. See the link above for more info.
75 return FALSE;
76 }
77
78 // --------------------------------------------------------------------
79
80 /**
81 * Repair table query
82 *
83 * Generates a platform-specific query so that a table can be repaired
84 *
Esen Sagynov2e087942011-08-09 23:35:01 -070085 * @param string the table name
Andrey Andreeve3e3d502012-03-20 15:14:45 +020086 * @return bool
Esen Sagynov2e087942011-08-09 23:35:01 -070087 * @link http://www.cubrid.org/manual/840/en/Checking%20Database%20Consistency
88 */
Andrey Andreeve3e3d502012-03-20 15:14:45 +020089 public function _repair_table($table)
Esen Sagynov2e087942011-08-09 23:35:01 -070090 {
91 // Not supported in CUBRID as of version 8.4.0. Database or
92 // table consistency can be checked using CUBRID Manager
93 // database administration tool. See the link above for more info.
94 return FALSE;
95 }
96
97 // --------------------------------------------------------------------
98 /**
99 * CUBRID Export
100 *
Esen Sagynov2e087942011-08-09 23:35:01 -0700101 * @param array Preferences
102 * @return mixed
103 */
Andrey Andreeve3e3d502012-03-20 15:14:45 +0200104 public function _backup($params = array())
Esen Sagynov2e087942011-08-09 23:35:01 -0700105 {
106 // No SQL based support in CUBRID as of version 8.4.0. Database or
107 // table backup can be performed using CUBRID Manager
108 // database administration tool.
109 return $this->db->display_error('db_unsuported_feature');
110 }
111}
112
113/* End of file cubrid_utility.php */
114/* Location: ./system/database/drivers/cubrid/cubrid_utility.php */