blob: 11a1b3ad0a090f6c7b251f15337d9b18cdc5f79b [file] [log] [blame]
Andrey Andreev4da24f82012-01-25 21:54:23 +02001<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
Derek Allard2067d1a2008-11-13 22:59:24 +00002/**
3 * CodeIgniter
4 *
Greg Aker741de1c2010-11-10 14:52:57 -06005 * An open source application development framework for PHP 5.1.6 or newer
Derek Allard2067d1a2008-11-13 22:59:24 +00006 *
Derek Jonesf4a4bd82011-10-20 12:18:42 -05007 * NOTICE OF LICENSE
Andrey Andreev4da24f82012-01-25 21:54:23 +02008 *
Derek Jonesf4a4bd82011-10-20 12:18:42 -05009 * Licensed under the Open Software License version 3.0
Andrey Andreev4da24f82012-01-25 21:54:23 +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 *
Derek Allard2067d1a2008-11-13 22:59:24 +000019 * @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)
Derek Allard2067d1a2008-11-13 22:59:24 +000023 * @link http://codeigniter.com
24 * @since Version 1.0
25 * @filesource
26 */
27
Derek Allard2067d1a2008-11-13 22:59:24 +000028/**
29 * MS SQL Utility Class
30 *
31 * @category Database
Derek Jonesf4a4bd82011-10-20 12:18:42 -050032 * @author EllisLab Dev Team
Derek Allard2067d1a2008-11-13 22:59:24 +000033 * @link http://codeigniter.com/user_guide/database/
34 */
35class CI_DB_mssql_utility extends CI_DB_utility {
36
37 /**
38 * List databases
39 *
Andrey Andreev4da24f82012-01-25 21:54:23 +020040 * @return string
Derek Allard2067d1a2008-11-13 22:59:24 +000041 */
Andrey Andreev4da24f82012-01-25 21:54:23 +020042 public function _list_databases()
Derek Allard2067d1a2008-11-13 22:59:24 +000043 {
Andrey Andreev4da24f82012-01-25 21:54:23 +020044 return 'EXEC sp_helpdb'; // Can also be: EXEC sp_databases
Derek Allard2067d1a2008-11-13 22:59:24 +000045 }
46
47 // --------------------------------------------------------------------
48
49 /**
50 * Optimize table query
51 *
52 * Generates a platform-specific query so that a table can be optimized
53 *
Derek Allard2067d1a2008-11-13 22:59:24 +000054 * @param string the table name
Andrey Andreev4da24f82012-01-25 21:54:23 +020055 * @return string
Derek Allard2067d1a2008-11-13 22:59:24 +000056 */
Andrey Andreev4da24f82012-01-25 21:54:23 +020057 public function _optimize_table($table)
Derek Allard2067d1a2008-11-13 22:59:24 +000058 {
Andrey Andreev4da24f82012-01-25 21:54:23 +020059 // Only supported in MSSQL 2005 and newer
60 return 'ALTER INDEX all ON '.$this->db->protect_identifiers($table).' REORGANIZE';
Derek Allard2067d1a2008-11-13 22:59:24 +000061 }
62
63 // --------------------------------------------------------------------
Barry Mienydd671972010-10-04 16:33:58 +020064
Derek Allard2067d1a2008-11-13 22:59:24 +000065 /**
66 * Repair table query
67 *
68 * Generates a platform-specific query so that a table can be repaired
69 *
Derek Allard2067d1a2008-11-13 22:59:24 +000070 * @param string the table name
Andrey Andreev4da24f82012-01-25 21:54:23 +020071 * @return bool
Derek Allard2067d1a2008-11-13 22:59:24 +000072 */
Andrey Andreev4da24f82012-01-25 21:54:23 +020073 public function _repair_table($table)
Derek Allard2067d1a2008-11-13 22:59:24 +000074 {
Andrey Andreev4da24f82012-01-25 21:54:23 +020075 // Not supported in MSSQL
76 return FALSE;
Derek Allard2067d1a2008-11-13 22:59:24 +000077 }
78
79 // --------------------------------------------------------------------
80
81 /**
82 * MSSQL Export
83 *
Derek Allard2067d1a2008-11-13 22:59:24 +000084 * @param array Preferences
Andrey Andreev4da24f82012-01-25 21:54:23 +020085 * @return bool
Derek Allard2067d1a2008-11-13 22:59:24 +000086 */
Andrey Andreev4da24f82012-01-25 21:54:23 +020087 public function _backup($params = array())
Derek Allard2067d1a2008-11-13 22:59:24 +000088 {
89 // Currently unsupported
90 return $this->db->display_error('db_unsuported_feature');
91 }
92
Derek Allard2067d1a2008-11-13 22:59:24 +000093}
94
Derek Allard2067d1a2008-11-13 22:59:24 +000095/* End of file mssql_utility.php */
Andrey Andreev4da24f82012-01-25 21:54:23 +020096/* Location: ./system/database/drivers/mssql/mssql_utility.php */