blob: 76a0497c19e4261aa575e58ed84086d1d9149479 [file] [log] [blame]
Timothy Warren817af192012-02-16 08:28:00 -05001<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
Timothy Warren76e04352012-02-14 11:55:17 -05002/**
3 * CodeIgniter
4 *
5 * An open source application development framework for PHP 5.1.6 or newer
6 *
7 * NOTICE OF LICENSE
Timothy Warren817af192012-02-16 08:28:00 -05008 *
Timothy Warren76e04352012-02-14 11:55:17 -05009 * Licensed under the Open Software License version 3.0
Timothy Warren817af192012-02-16 08:28:00 -050010 *
Timothy Warren76e04352012-02-14 11:55:17 -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 *
19 * @package CodeIgniter
20 * @author EllisLab Dev Team
21 * @copyright Copyright (c) 2008 - 2012, EllisLab, Inc. (http://ellislab.com/)
22 * @license http://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
23 * @link http://codeigniter.com
24 * @since Version 3.0
25 * @filesource
26 */
27
28// ------------------------------------------------------------------------
29
30/**
31 * Interbase/Firebird Utility Class
32 *
33 * @category Database
34 * @author EllisLab Dev Team
35 * @link http://codeigniter.com/user_guide/database/
36 */
37class CI_DB_interbase_utility extends CI_DB_utility {
38
39 /**
40 * List databases
41 *
42 * I don't believe you can do a database listing with Firebird
43 * since each database is its own file. I suppose we could
44 * try reading a directory looking for Firebird files, but
45 * that doesn't seem like a terribly good idea
46 *
Timothy Warren76e04352012-02-14 11:55:17 -050047 * @return bool
48 */
Timothy Warren4be822b2012-02-14 12:07:34 -050049 public function _list_databases()
Timothy Warren76e04352012-02-14 11:55:17 -050050 {
51 if ($this->db_debug)
52 {
53 return $this->db->display_error('db_unsuported_feature');
54 }
Timothy Warren817af192012-02-16 08:28:00 -050055 return FALSE;
Timothy Warren76e04352012-02-14 11:55:17 -050056 }
57
58 // --------------------------------------------------------------------
59
60 /**
61 * Optimize table query
62 *
63 * Is optimization even supported in Interbase/Firebird?
64 *
Timothy Warren76e04352012-02-14 11:55:17 -050065 * @param string the table name
66 * @return object
67 */
Timothy Warren4be822b2012-02-14 12:07:34 -050068 public function _optimize_table($table)
Timothy Warren76e04352012-02-14 11:55:17 -050069 {
70 return FALSE;
71 }
72
73 // --------------------------------------------------------------------
74
75 /**
76 * Repair table query
77 *
78 * Table repairs are not supported in Interbase/Firebird
79 *
Timothy Warren76e04352012-02-14 11:55:17 -050080 * @param string the table name
81 * @return object
82 */
Timothy Warren4be822b2012-02-14 12:07:34 -050083 public function _repair_table($table)
Timothy Warren76e04352012-02-14 11:55:17 -050084 {
85 return FALSE;
86 }
87
88 // --------------------------------------------------------------------
89
90 /**
91 * Interbase/Firebird Export
92 *
Timothy Warrenab189e12012-02-22 10:34:23 -050093 * @param string $filename
Timothy Warren76e04352012-02-14 11:55:17 -050094 * @return mixed
95 */
Timothy Warrenab189e12012-02-22 10:34:23 -050096 public function backup($filename)
Timothy Warren76e04352012-02-14 11:55:17 -050097 {
Timothy Warrenab189e12012-02-22 10:34:23 -050098 if ($service = ibase_service_attach($this->db->hostname, $this->db->username, $this->db->password))
99 {
100 $res = ibase_backup($service, $this->db->database, $filename.'.fbk');
101
102 //Close the service connection
103 ibase_service_detach($service);
104
105 return $res;
106 }
107 else
108 {
109 return FALSE;
110 }
Timothy Warren76e04352012-02-14 11:55:17 -0500111 }
112}
113
114/* End of file interbase_utility.php */
115/* Location: ./system/database/drivers/interbase/interbase_utility.php */