summaryrefslogtreecommitdiffstats
path: root/system/database
diff options
context:
space:
mode:
Diffstat (limited to 'system/database')
-rw-r--r--system/database/DB_driver.php140
-rw-r--r--system/database/DB_utility.php214
-rw-r--r--system/database/drivers/mssql/mssql_driver.php45
-rw-r--r--system/database/drivers/mssql/mssql_utility.php62
-rw-r--r--system/database/drivers/mysql/mysql_driver.php47
-rw-r--r--system/database/drivers/mysql/mysql_utility.php59
-rw-r--r--system/database/drivers/mysqli/mysqli_driver.php47
-rw-r--r--system/database/drivers/mysqli/mysqli_utility.php59
-rw-r--r--system/database/drivers/oci8/oci8_driver.php51
-rw-r--r--system/database/drivers/oci8/oci8_utility.php72
-rw-r--r--system/database/drivers/odbc/odbc_driver.php47
-rw-r--r--system/database/drivers/odbc/odbc_utility.php69
-rw-r--r--system/database/drivers/postgre/postgre_driver.php47
-rw-r--r--system/database/drivers/postgre/postgre_utility.php59
-rw-r--r--system/database/drivers/sqlite/sqlite_driver.php46
-rw-r--r--system/database/drivers/sqlite/sqlite_utility.php68
16 files changed, 572 insertions, 560 deletions
diff --git a/system/database/DB_driver.php b/system/database/DB_driver.php
index 3f7c82627..d25135ea6 100644
--- a/system/database/DB_driver.php
+++ b/system/database/DB_driver.php
@@ -145,6 +145,49 @@ class CI_DB_driver {
// --------------------------------------------------------------------
/**
+ * The name of the platform in use (mysql, mssql, etc...)
+ *
+ * @access public
+ * @return string
+ */
+ function platform()
+ {
+ return $this->dbdriver;
+ }
+
+ // --------------------------------------------------------------------
+
+ /**
+ * Database Version Number. Returns a string containing the
+ * version of the database being used
+ *
+ * @access public
+ * @return string
+ */
+ function version()
+ {
+ if (FALSE === ($sql = $this->_version()))
+ {
+ if ($this->db_debug)
+ {
+ return $this->display_error('db_unsupported_function');
+ }
+ return FALSE;
+ }
+
+ if ($this->dbdriver == 'oci8')
+ {
+ return $sql;
+ }
+
+ $query = $this->query($sql);
+ $row = $query->row();
+ return $row->ver;
+ }
+
+ // --------------------------------------------------------------------
+
+ /**
* Execute the query
*
* Accepts an SQL string as input and returns a result object upon
@@ -483,6 +526,103 @@ class CI_DB_driver {
return $str;
}
+
+
+ // --------------------------------------------------------------------
+
+ /**
+ * Primary
+ *
+ * Retrieves the primary key. It assumes that the row in the first
+ * position is the primary key
+ *
+ * @access public
+ * @param string the table name
+ * @return string
+ */
+ function primary($table = '')
+ {
+ $fields = $this->field_names($table);
+
+ if ( ! is_array($fields))
+ {
+ return FALSE;
+ }
+
+ return current($fields);
+ }
+
+ // --------------------------------------------------------------------
+
+ /**
+ * Fetch MySQL Field Names
+ *
+ * @access public
+ * @param string the table name
+ * @return array
+ */
+ function field_names($table = '')
+ {
+ if ($table == '')
+ {
+ if ($this->db_debug)
+ {
+ return $this->display_error('db_field_param_missing');
+ }
+ return FALSE;
+ }
+
+ if (FALSE === ($sql = $this->_list_columns($this->dbprefix.$table)))
+ {
+ if ($this->db_debug)
+ {
+ return $this->display_error('db_unsupported_function');
+ }
+ return FALSE;
+ }
+
+ $query = $this->query($sql);
+
+ $retval = array();
+ foreach($query->result_array() as $row)
+ {
+ if (isset($row['COLUMN_NAME']))
+ {
+ $retval[] = $row['COLUMN_NAME'];
+ }
+ else
+ {
+ $retval[] = current($row);
+ }
+ }
+
+ return $retval;
+ }
+
+ // --------------------------------------------------------------------
+
+ /**
+ * Returns an object with field data
+ *
+ * @access public
+ * @param string the table name
+ * @return object
+ */
+ function field_data($table = '')
+ {
+ if ($table == '')
+ {
+ if ($this->db_debug)
+ {
+ return $this->display_error('db_field_param_missing');
+ }
+ return FALSE;
+ }
+
+ $query = $this->query($this->_field_data($this->dbprefix.$table));
+ return $query->field_data();
+ }
+
// --------------------------------------------------------------------
/**
diff --git a/system/database/DB_utility.php b/system/database/DB_utility.php
index 950db7dfd..f98448adf 100644
--- a/system/database/DB_utility.php
+++ b/system/database/DB_utility.php
@@ -33,57 +33,69 @@ class CI_DB_utility {
$this->db =& $obj->db;
}
+ // --------------------------------------------------------------------
/**
- * Database Version Number. Returns a string containing the
- * version of the database being used
+ * Create database
*
* @access public
- * @return string
- */
- function version()
+ * @param string the database name
+ * @return bool
+ */
+ function create_database($db_name)
{
- if (FALSE === ($sql = $this->_version()))
+ $sql = $this->_create_database($db_name);
+
+ if (is_bool($sql))
{
- if ($this->db->db_debug)
- {
- return $this->db->display_error('db_unsupported_function');
- }
- return FALSE;
+ return $sql;
}
+
+ return $this->db->query($sql);
+ }
+
+ // --------------------------------------------------------------------
+
+ /**
+ * Drop database
+ *
+ * @access public
+ * @param string the database name
+ * @return bool
+ */
+ function drop_database($db_name)
+ {
+ $sql = $this->_drop_database($db_name);
- if ($this->db->dbdriver == 'oci8')
- {
+ if (is_bool($sql))
+ {
return $sql;
}
- $query = $this->db->query($sql);
- $row = $query->row();
- return $row->ver;
+ return $this->db->query($sql);
}
// --------------------------------------------------------------------
/**
- * Primary
+ * List databases
*
- * Retrieves the primary key. It assumes that the row in the first
- * position is the primary key
- *
* @access public
- * @param string the table name
- * @return string
- */
- function primary($table = '')
+ * @return bool
+ */
+ function list_databases()
{
- $fields = $this->field_names($table);
-
- if ( ! is_array($fields))
+ $query = $this->db->query($this->_list_database());
+ $dbs = array();
+ if ($query->num_rows() > 0)
{
- return FALSE;
+ foreach ($query->result_array() as $row)
+ {
+ $dbs[] = current($row);
+ }
}
-
- return current($fields);
+
+ return $dbs;
}
// --------------------------------------------------------------------
@@ -94,9 +106,9 @@ class CI_DB_utility {
* @access public
* @return array
*/
- function tables()
+ function list_tables()
{
- if (FALSE === ($sql = $this->_show_tables()))
+ if (FALSE === ($sql = $this->_list_tables()))
{
if ($this->db->db_debug)
{
@@ -135,143 +147,7 @@ class CI_DB_utility {
*/
function table_exists($table_name)
{
- return ( ! in_array($this->db->dbprefix.$table_name, $this->tables())) ? FALSE : TRUE;
- }
-
- // --------------------------------------------------------------------
-
- /**
- * Fetch MySQL Field Names
- *
- * @access public
- * @param string the table name
- * @return array
- */
- function field_names($table = '')
- {
- if ($table == '')
- {
- if ($this->db->db_debug)
- {
- return $this->db->display_error('db_field_param_missing');
- }
- return FALSE;
- }
-
- if (FALSE === ($sql = $this->_show_columns($this->db->dbprefix.$table)))
- {
- if ($this->db->db_debug)
- {
- return $this->db->display_error('db_unsupported_function');
- }
- return FALSE;
- }
-
- $query = $this->db->query($sql);
-
- $retval = array();
- foreach($query->result_array() as $row)
- {
- if (isset($row['COLUMN_NAME']))
- {
- $retval[] = $row['COLUMN_NAME'];
- }
- else
- {
- $retval[] = current($row);
- }
- }
-
- return $retval;
- }
-
- // --------------------------------------------------------------------
-
- /**
- * Returns an object with field data
- *
- * @access public
- * @param string the table name
- * @return object
- */
- function field_data($table = '')
- {
- if ($table == '')
- {
- if ($this->db->db_debug)
- {
- return $this->db->display_error('db_field_param_missing');
- }
- return FALSE;
- }
-
- $query = $this->db->query($this->_field_data($this->db->dbprefix.$table));
- return $query->field_data();
- }
-
- // --------------------------------------------------------------------
-
- /**
- * Create database
- *
- * @access public
- * @param string the database name
- * @return bool
- */
- function create_database($db_name)
- {
- $sql = $this->_create_database($db_name);
-
- if (is_bool($sql))
- {
- return $sql;
- }
-
- return $this->db->query($sql);
- }
-
- // --------------------------------------------------------------------
-
- /**
- * Drop database
- *
- * @access public
- * @param string the database name
- * @return bool
- */
- function drop_database($db_name)
- {
- $sql = $this->_drop_database($db_name);
-
- if (is_bool($sql))
- {
- return $sql;
- }
-
- return $this->db->query($sql);
- }
-
- // --------------------------------------------------------------------
-
- /**
- * List databases
- *
- * @access public
- * @return bool
- */
- function list_databases()
- {
- $query = $this->db->query($this->_list_database());
- $dbs = array();
- if ($query->num_rows() > 0)
- {
- foreach ($query->result_array() as $row)
- {
- $dbs[] = current($row);
- }
- }
-
- return $dbs;
+ return ( ! in_array($this->db->dbprefix.$table_name, $this->list_tables())) ? FALSE : TRUE;
}
// --------------------------------------------------------------------
diff --git a/system/database/drivers/mssql/mssql_driver.php b/system/database/drivers/mssql/mssql_driver.php
index 38fce1134..3f5e53345 100644
--- a/system/database/drivers/mssql/mssql_driver.php
+++ b/system/database/drivers/mssql/mssql_driver.php
@@ -66,6 +66,19 @@ class CI_DB_mssql_driver extends CI_DB {
{
return @mssql_select_db($this->database, $this->conn_id);
}
+
+ // --------------------------------------------------------------------
+
+ /**
+ * Version number query string
+ *
+ * @access public
+ * @return string
+ */
+ function _version()
+ {
+ return "SELECT version() AS ver";
+ }
// --------------------------------------------------------------------
@@ -249,6 +262,38 @@ class CI_DB_mssql_driver extends CI_DB {
// --------------------------------------------------------------------
/**
+ * List columnn query
+ *
+ * Generates a platform-specific query string so that the column names can be fetched
+ *
+ * @access private
+ * @param string the table name
+ * @return string
+ */
+ function _list_columns($table = '')
+ {
+ return "SELECT * FROM INFORMATION_SCHEMA.Columns WHERE TABLE_NAME = '".$this->_escape_table($table)."'";
+ }
+
+ // --------------------------------------------------------------------
+
+ /**
+ * Field data query
+ *
+ * Generates a platform-specific query so that the column data can be retrieved
+ *
+ * @access public
+ * @param string the table name
+ * @return object
+ */
+ function _field_data($table)
+ {
+ return "SELECT TOP 1 FROM ".$this->_escape_table($table);
+ }
+
+ // --------------------------------------------------------------------
+
+ /**
* The error message string
*
* @access private
diff --git a/system/database/drivers/mssql/mssql_utility.php b/system/database/drivers/mssql/mssql_utility.php
index cf15104c6..96b8180b8 100644
--- a/system/database/drivers/mssql/mssql_utility.php
+++ b/system/database/drivers/mssql/mssql_utility.php
@@ -67,76 +67,30 @@ class CI_DB_mssql_utility extends CI_DB_utility {
// --------------------------------------------------------------------
/**
- * Drop Table
- *
- * @access private
- * @return bool
- */
- function _drop_table($table)
- {
- return "DROP TABLE ".$this->db->_escape_table($name);
- }
-
- // --------------------------------------------------------------------
-
- /**
- * Version number query string
- *
- * @access public
- * @return string
- */
- function _version()
- {
- return "SELECT version() AS ver";
- }
-
- // --------------------------------------------------------------------
-
- /**
- * Show table query
+ * List table query
*
* Generates a platform-specific query string so that the table names can be fetched
*
- * @access public
+ * @access private
* @return string
*/
- function _show_tables()
+ function _list_tables()
{
return "SELECT name FROM sysobjects WHERE type = 'U' ORDER BY name";
}
-
- // --------------------------------------------------------------------
-
- /**
- * Show columnn query
- *
- * Generates a platform-specific query string so that the column names can be fetched
- *
- * @access public
- * @param string the table name
- * @return string
- */
- function _show_columns($table = '')
- {
- return "SELECT * FROM INFORMATION_SCHEMA.Columns WHERE TABLE_NAME = '".$this->db->_escape_table($table)."'";
- }
// --------------------------------------------------------------------
/**
- * Field data query
- *
- * Generates a platform-specific query so that the column data can be retrieved
+ * Drop Table
*
- * @access public
- * @param string the table name
- * @return object
+ * @access private
+ * @return bool
*/
- function _field_data($table)
+ function _drop_table($table)
{
- return "SELECT TOP 1 FROM ".$this->db->_escape_table($table);
+ return "DROP TABLE ".$this->db->_escape_table($name);
}
-
// --------------------------------------------------------------------
diff --git a/system/database/drivers/mysql/mysql_driver.php b/system/database/drivers/mysql/mysql_driver.php
index 545ac1986..b6c4eb7ea 100644
--- a/system/database/drivers/mysql/mysql_driver.php
+++ b/system/database/drivers/mysql/mysql_driver.php
@@ -73,7 +73,20 @@ class CI_DB_mysql_driver extends CI_DB {
{
return @mysql_select_db($this->database, $this->conn_id);
}
-
+
+ // --------------------------------------------------------------------
+
+ /**
+ * Version number query string
+ *
+ * @access public
+ * @return string
+ */
+ function _version()
+ {
+ return "SELECT version() AS ver";
+ }
+
// --------------------------------------------------------------------
/**
@@ -267,6 +280,38 @@ class CI_DB_mysql_driver extends CI_DB {
// --------------------------------------------------------------------
/**
+ * Show columnn query
+ *
+ * Generates a platform-specific query string so that the column names can be fetched
+ *
+ * @access public
+ * @param string the table name
+ * @return string
+ */
+ function _list_columns($table = '')
+ {
+ return "SHOW COLUMNS FROM ".$this->_escape_table($table);
+ }
+
+ // --------------------------------------------------------------------
+
+ /**
+ * Field data query
+ *
+ * Generates a platform-specific query so that the column data can be retrieved
+ *
+ * @access public
+ * @param string the table name
+ * @return object
+ */
+ function _field_data($table)
+ {
+ return "SELECT * FROM ".$this->_escape_table($table)." LIMIT 1";
+ }
+
+ // --------------------------------------------------------------------
+
+ /**
* The error message string
*
* @access private
diff --git a/system/database/drivers/mysql/mysql_utility.php b/system/database/drivers/mysql/mysql_utility.php
index 800a90c7a..9ba4a79c5 100644
--- a/system/database/drivers/mysql/mysql_utility.php
+++ b/system/database/drivers/mysql/mysql_utility.php
@@ -66,74 +66,29 @@ class CI_DB_mysql_utility extends CI_DB_utility {
// --------------------------------------------------------------------
/**
- * Drop Table
- *
- * @access private
- * @return bool
- */
- function _drop_table($table)
- {
- return "DROP TABLE IF EXISTS ".$this->db->_escape_table($name);
- }
-
- // --------------------------------------------------------------------
-
- /**
- * Version number query string
- *
- * @access public
- * @return string
- */
- function _version()
- {
- return "SELECT version() AS ver";
- }
-
- // --------------------------------------------------------------------
-
- /**
* Show table query
*
* Generates a platform-specific query string so that the table names can be fetched
*
- * @access public
+ * @access private
* @return string
*/
- function _show_tables()
+ function _list_tables()
{
return "SHOW TABLES FROM `".$this->db->database."`";
}
-
- // --------------------------------------------------------------------
-
- /**
- * Show columnn query
- *
- * Generates a platform-specific query string so that the column names can be fetched
- *
- * @access public
- * @param string the table name
- * @return string
- */
- function _show_columns($table = '')
- {
- return "SHOW COLUMNS FROM ".$this->db->_escape_table($table);
- }
// --------------------------------------------------------------------
/**
- * Field data query
- *
- * Generates a platform-specific query so that the column data can be retrieved
+ * Drop Table
*
- * @access public
- * @param string the table name
- * @return object
+ * @access private
+ * @return bool
*/
- function _field_data($table)
+ function _drop_table($table)
{
- return "SELECT * FROM ".$this->db->_escape_table($table)." LIMIT 1";
+ return "DROP TABLE IF EXISTS ".$this->db->_escape_table($name);
}
// --------------------------------------------------------------------
diff --git a/system/database/drivers/mysqli/mysqli_driver.php b/system/database/drivers/mysqli/mysqli_driver.php
index adc482dfe..d6e967498 100644
--- a/system/database/drivers/mysqli/mysqli_driver.php
+++ b/system/database/drivers/mysqli/mysqli_driver.php
@@ -75,7 +75,20 @@ class CI_DB_mysqli_driver extends CI_DB {
{
return @mysqli_select_db($this->conn_id, $this->database);
}
-
+
+ // --------------------------------------------------------------------
+
+ /**
+ * Version number query string
+ *
+ * @access public
+ * @return string
+ */
+ function _version()
+ {
+ return "SELECT version() AS ver";
+ }
+
// --------------------------------------------------------------------
/**
@@ -270,6 +283,38 @@ class CI_DB_mysqli_driver extends CI_DB {
// --------------------------------------------------------------------
/**
+ * Show columnn query
+ *
+ * Generates a platform-specific query string so that the column names can be fetched
+ *
+ * @access public
+ * @param string the table name
+ * @return string
+ */
+ function _list_columns($table = '')
+ {
+ return "SHOW COLUMNS FROM ".$this->_escape_table($table);
+ }
+
+ // --------------------------------------------------------------------
+
+ /**
+ * Field data query
+ *
+ * Generates a platform-specific query so that the column data can be retrieved
+ *
+ * @access public
+ * @param string the table name
+ * @return object
+ */
+ function _field_data($table)
+ {
+ return "SELECT * FROM ".$this->_escape_table($table)." LIMIT 1";
+ }
+
+ // --------------------------------------------------------------------
+
+ /**
* The error message string
*
* @access private
diff --git a/system/database/drivers/mysqli/mysqli_utility.php b/system/database/drivers/mysqli/mysqli_utility.php
index 8c9e1e960..754ffbda2 100644
--- a/system/database/drivers/mysqli/mysqli_utility.php
+++ b/system/database/drivers/mysqli/mysqli_utility.php
@@ -62,33 +62,7 @@ class CI_DB_mysqli_utility extends CI_DB_utility {
{
return "SHOW DATABASES";
}
-
- // --------------------------------------------------------------------
- /**
- * Drop Table
- *
- * @access private
- * @return bool
- */
- function _drop_table($table)
- {
- return "DROP TABLE IF EXISTS ".$this->db->_escape_table($name);
- }
-
- // --------------------------------------------------------------------
-
- /**
- * Version number query string
- *
- * @access public
- * @return string
- */
- function _version()
- {
- return "SELECT version() AS ver";
- }
-
// --------------------------------------------------------------------
/**
@@ -96,44 +70,25 @@ class CI_DB_mysqli_utility extends CI_DB_utility {
*
* Generates a platform-specific query string so that the table names can be fetched
*
- * @access public
+ * @access private
* @return string
*/
- function _show_tables()
+ function _list_tables()
{
return "SHOW TABLES FROM `".$this->db->database."`";
}
-
- // --------------------------------------------------------------------
-
- /**
- * Show columnn query
- *
- * Generates a platform-specific query string so that the column names can be fetched
- *
- * @access public
- * @param string the table name
- * @return string
- */
- function _show_columns($table = '')
- {
- return "SHOW COLUMNS FROM ".$this->db->_escape_table($table);
- }
// --------------------------------------------------------------------
/**
- * Field data query
- *
- * Generates a platform-specific query so that the column data can be retrieved
+ * Drop Table
*
- * @access public
- * @param string the table name
- * @return object
+ * @access private
+ * @return bool
*/
- function _field_data($table)
+ function _drop_table($table)
{
- return "SELECT * FROM ".$this->db->_escape_table($table)." LIMIT 1";
+ return "DROP TABLE IF EXISTS ".$this->db->_escape_table($name);
}
// --------------------------------------------------------------------
diff --git a/system/database/drivers/oci8/oci8_driver.php b/system/database/drivers/oci8/oci8_driver.php
index f7f4bd143..bc0a100c2 100644
--- a/system/database/drivers/oci8/oci8_driver.php
+++ b/system/database/drivers/oci8/oci8_driver.php
@@ -91,6 +91,19 @@ class CI_DB_oci8_driver extends CI_DB {
return TRUE;
}
+ // --------------------------------------------------------------------
+
+ /**
+ * Version number query string
+ *
+ * @access public
+ * @return string
+ */
+ function _version()
+ {
+ return ociserverversion($this->conn_id);
+ }
+
// --------------------------------------------------------------------
/**
@@ -102,10 +115,8 @@ class CI_DB_oci8_driver extends CI_DB {
*/
function _execute($sql)
{
- // oracle must parse the query before it
- // is run, all of the actions with
- // the query are based off the statement id
- // returned by ociparse
+ // oracle must parse the query before it is run. All of the actions with
+ // the query are based on the statement id returned by ociparse
$this->_set_stmt_id($sql);
ocisetprefetch($this->stmt_id, 1000);
return @ociexecute($this->stmt_id, $this->_commit);
@@ -391,6 +402,38 @@ class CI_DB_oci8_driver extends CI_DB {
// --------------------------------------------------------------------
/**
+ * Show columnn query
+ *
+ * Generates a platform-specific query string so that the column names can be fetched
+ *
+ * @access public
+ * @param string the table name
+ * @return string
+ */
+ function _list_columns($table = '')
+ {
+ return "SELECT COLUMN_NAME FROM all_tab_columns WHERE table_name = '$table'";
+ }
+
+ // --------------------------------------------------------------------
+
+ /**
+ * Field data query
+ *
+ * Generates a platform-specific query so that the column data can be retrieved
+ *
+ * @access public
+ * @param string the table name
+ * @return object
+ */
+ function _field_data($table)
+ {
+ return "SELECT * FROM ".$this->_escape_table($table)." where rownum = 1";
+ }
+
+ // --------------------------------------------------------------------
+
+ /**
* The error message string
*
* @access private
diff --git a/system/database/drivers/oci8/oci8_utility.php b/system/database/drivers/oci8/oci8_utility.php
index 011e971d9..dc259ac39 100644
--- a/system/database/drivers/oci8/oci8_utility.php
+++ b/system/database/drivers/oci8/oci8_utility.php
@@ -64,32 +64,6 @@ class CI_DB_oci8_utility extends CI_DB_utility {
return FALSE;
}
- // --------------------------------------------------------------------
-
- /**
- * Drop Table
- *
- * @access private
- * @return bool
- */
- function _drop_table($table)
- {
- return FALSE;
- }
-
- // --------------------------------------------------------------------
-
- /**
- * Version number query string
- *
- * @access public
- * @return string
- */
- function _version()
- {
- return ociserverversion($this->conn_id);
- }
-
// --------------------------------------------------------------------
/**
@@ -97,46 +71,26 @@ class CI_DB_oci8_utility extends CI_DB_utility {
*
* Generates a platform-specific query string so that the table names can be fetched
*
- * @access public
+ * @access private
* @return string
*/
- function _show_tables()
+ function _list_tables()
{
return "select TABLE_NAME FROM ALL_TABLES";
}
- // --------------------------------------------------------------------
-
- /**
- * Show columnn query
- *
- * Generates a platform-specific query string so that the column names can be fetched
- *
- * @access public
- * @param string the table name
- * @return string
- */
- function _show_columns($table = '')
- {
- return "SELECT COLUMN_NAME FROM all_tab_columns WHERE table_name = '$table'";
- }
-
- // --------------------------------------------------------------------
-
- /**
- * Field data query
- *
- * Generates a platform-specific query so that the column data can be retrieved
- *
- * @access public
- * @param string the table name
- * @return object
- */
- function _field_data($table)
- {
- return "SELECT * FROM ".$this->db->_escape_table($table)." where rownum = 1";
- }
+ // --------------------------------------------------------------------
+ /**
+ * Drop Table
+ *
+ * @access private
+ * @return bool
+ */
+ function _drop_table($table)
+ {
+ return FALSE;
+ }
// --------------------------------------------------------------------
diff --git a/system/database/drivers/odbc/odbc_driver.php b/system/database/drivers/odbc/odbc_driver.php
index bef6258de..cdde2e2ea 100644
--- a/system/database/drivers/odbc/odbc_driver.php
+++ b/system/database/drivers/odbc/odbc_driver.php
@@ -67,7 +67,20 @@ class CI_DB_odbc_driver extends CI_DB {
// Not needed for ODBC
return TRUE;
}
-
+
+ // --------------------------------------------------------------------
+
+ /**
+ * Version number query string
+ *
+ * @access public
+ * @return string
+ */
+ function _version()
+ {
+ return "SELECT version() AS ver";
+ }
+
// --------------------------------------------------------------------
/**
@@ -250,6 +263,38 @@ class CI_DB_odbc_driver extends CI_DB {
// --------------------------------------------------------------------
/**
+ * Show columnn query
+ *
+ * Generates a platform-specific query string so that the column names can be fetched
+ *
+ * @access public
+ * @param string the table name
+ * @return string
+ */
+ function _list_columns($table = '')
+ {
+ return "SHOW COLUMNS FROM ".$this->_escape_table($table);
+ }
+
+ // --------------------------------------------------------------------
+
+ /**
+ * Field data query
+ *
+ * Generates a platform-specific query so that the column data can be retrieved
+ *
+ * @access public
+ * @param string the table name
+ * @return object
+ */
+ function _field_data($table)
+ {
+ return "SELECT TOP 1 FROM ".$this->_escape_table($table);
+ }
+
+ // --------------------------------------------------------------------
+
+ /**
* The error message string
*
* @access private
diff --git a/system/database/drivers/odbc/odbc_utility.php b/system/database/drivers/odbc/odbc_utility.php
index 2932da874..3d420f69d 100644
--- a/system/database/drivers/odbc/odbc_utility.php
+++ b/system/database/drivers/odbc/odbc_utility.php
@@ -84,79 +84,34 @@ class CI_DB_odbc_utility extends CI_DB_utility {
// --------------------------------------------------------------------
/**
- * Drop Table
- *
- * @access private
- * @return bool
- */
- function _drop_table($table)
- {
- // Not a supported ODBC feature
- if ($this->db_debug)
- {
- return $this->display_error('db_unsuported_feature');
- }
- return FALSE;
- }
-
- // --------------------------------------------------------------------
-
- /**
- * Version number query string
- *
- * @access public
- * @return string
- */
- function _version()
- {
- return "SELECT version() AS ver";
- }
-
- // --------------------------------------------------------------------
-
- /**
* Show table query
*
* Generates a platform-specific query string so that the table names can be fetched
*
- * @access public
+ * @access private
* @return string
*/
- function _show_tables()
+ function _list_tables()
{
return "SHOW TABLES FROM `".$this->db->database."`";
}
-
- // --------------------------------------------------------------------
-
- /**
- * Show columnn query
- *
- * Generates a platform-specific query string so that the column names can be fetched
- *
- * @access public
- * @param string the table name
- * @return string
- */
- function _show_columns($table = '')
- {
- return "SHOW COLUMNS FROM ".$this->db->_escape_table($table);
- }
// --------------------------------------------------------------------
/**
- * Field data query
- *
- * Generates a platform-specific query so that the column data can be retrieved
+ * Drop Table
*
- * @access public
- * @param string the table name
- * @return object
+ * @access private
+ * @return bool
*/
- function _field_data($table)
+ function _drop_table($table)
{
- return "SELECT TOP 1 FROM ".$this->db->_escape_table($table);
+ // Not a supported ODBC feature
+ if ($this->db_debug)
+ {
+ return $this->display_error('db_unsuported_feature');
+ }
+ return FALSE;
}
// --------------------------------------------------------------------
diff --git a/system/database/drivers/postgre/postgre_driver.php b/system/database/drivers/postgre/postgre_driver.php
index 9c8a18eb5..026284118 100644
--- a/system/database/drivers/postgre/postgre_driver.php
+++ b/system/database/drivers/postgre/postgre_driver.php
@@ -71,7 +71,20 @@ class CI_DB_postgre_driver extends CI_DB {
// Not needed for Postgre so we'll return TRUE
return TRUE;
}
-
+
+ // --------------------------------------------------------------------
+
+ /**
+ * Version number query string
+ *
+ * @access public
+ * @return string
+ */
+ function _version()
+ {
+ return "SELECT version() AS ver";
+ }
+
// --------------------------------------------------------------------
/**
@@ -277,6 +290,38 @@ class CI_DB_postgre_driver extends CI_DB {
// --------------------------------------------------------------------
/**
+ * Show columnn query
+ *
+ * Generates a platform-specific query string so that the column names can be fetched
+ *
+ * @access public
+ * @param string the table name
+ * @return string
+ */
+ function _list_columns($table = '')
+ {
+ return "SELECT column_name FROM information_schema.columns WHERE table_name ='".$this->_escape_table($table)."'";
+ }
+
+ // --------------------------------------------------------------------
+
+ /**
+ * Field data query
+ *
+ * Generates a platform-specific query so that the column data can be retrieved
+ *
+ * @access public
+ * @param string the table name
+ * @return object
+ */
+ function _field_data($table)
+ {
+ return "SELECT * FROM ".$this->_escape_table($table)." LIMIT 1";
+ }
+
+ // --------------------------------------------------------------------
+
+ /**
* The error message string
*
* @access private
diff --git a/system/database/drivers/postgre/postgre_utility.php b/system/database/drivers/postgre/postgre_utility.php
index b2fdd5fd4..0ee448f9e 100644
--- a/system/database/drivers/postgre/postgre_utility.php
+++ b/system/database/drivers/postgre/postgre_utility.php
@@ -63,32 +63,6 @@ class CI_DB_postgre_utility extends CI_DB_utility {
{
return "SELECT datname FROM pg_database";
}
-
- // --------------------------------------------------------------------
-
- /**
- * Drop Table
- *
- * @access private
- * @return bool
- */
- function _drop_table($table)
- {
- return "DROP TABLE ".$this->db->_escape_table($name)." CASCADE";
- }
-
- // --------------------------------------------------------------------
-
- /**
- * Version number query string
- *
- * @access public
- * @return string
- */
- function _version()
- {
- return "SELECT version() AS ver";
- }
// --------------------------------------------------------------------
@@ -97,44 +71,25 @@ class CI_DB_postgre_utility extends CI_DB_utility {
*
* Generates a platform-specific query string so that the table names can be fetched
*
- * @access public
+ * @access private
* @return string
*/
- function _show_tables()
+ function _list_tables()
{
return "SELECT table_name FROM information_schema.tables WHERE table_schema = 'public'";
}
-
- // --------------------------------------------------------------------
-
- /**
- * Show columnn query
- *
- * Generates a platform-specific query string so that the column names can be fetched
- *
- * @access public
- * @param string the table name
- * @return string
- */
- function _show_columns($table = '')
- {
- return "SELECT column_name FROM information_schema.columns WHERE table_name ='".$this->db->_escape_table($table)."'";
- }
// --------------------------------------------------------------------
/**
- * Field data query
- *
- * Generates a platform-specific query so that the column data can be retrieved
+ * Drop Table
*
- * @access public
- * @param string the table name
- * @return object
+ * @access private
+ * @return bool
*/
- function _field_data($table)
+ function _drop_table($table)
{
- return "SELECT * FROM ".$this->db->_escape_table($table)." LIMIT 1";
+ return "DROP TABLE ".$this->db->_escape_table($name)." CASCADE";
}
// --------------------------------------------------------------------
diff --git a/system/database/drivers/sqlite/sqlite_driver.php b/system/database/drivers/sqlite/sqlite_driver.php
index 603984575..45dd7a892 100644
--- a/system/database/drivers/sqlite/sqlite_driver.php
+++ b/system/database/drivers/sqlite/sqlite_driver.php
@@ -88,6 +88,19 @@ class CI_DB_sqlite_driver extends CI_DB {
{
return TRUE;
}
+
+ // --------------------------------------------------------------------
+
+ /**
+ * Version number query string
+ *
+ * @access public
+ * @return string
+ */
+ function _version()
+ {
+ return sqlite_libversion();
+ }
// --------------------------------------------------------------------
@@ -269,6 +282,39 @@ class CI_DB_sqlite_driver extends CI_DB {
// --------------------------------------------------------------------
/**
+ * Show columnn query
+ *
+ * Generates a platform-specific query string so that the column names can be fetched
+ *
+ * @access public
+ * @param string the table name
+ * @return string
+ */
+ function _list_columns($table = '')
+ {
+ // Not supported
+ return FALSE;
+ }
+
+ // --------------------------------------------------------------------
+
+ /**
+ * Field data query
+ *
+ * Generates a platform-specific query so that the column data can be retrieved
+ *
+ * @access public
+ * @param string the table name
+ * @return object
+ */
+ function _field_data($table)
+ {
+ return "SELECT * FROM ".$this->_escape_table($table)." LIMIT 1";
+ }
+
+ // --------------------------------------------------------------------
+
+ /**
* The error message string
*
* @access private
diff --git a/system/database/drivers/sqlite/sqlite_utility.php b/system/database/drivers/sqlite/sqlite_utility.php
index e9f4eb64e..43c43e03c 100644
--- a/system/database/drivers/sqlite/sqlite_utility.php
+++ b/system/database/drivers/sqlite/sqlite_utility.php
@@ -80,79 +80,33 @@ class CI_DB_sqlite_utility extends CI_DB_utility {
// --------------------------------------------------------------------
/**
- * Drop Table
- *
- * @access private
- * @return bool
- */
- function _drop_table($table)
- {
- if ($this->db_debug)
- {
- return $this->display_error('db_unsuported_feature');
- }
- return array();
- }
-
- // --------------------------------------------------------------------
-
- /**
- * Version number query string
- *
- * @access public
- * @return string
- */
- function _version()
- {
- return sqlite_libversion();
- }
-
- // --------------------------------------------------------------------
-
- /**
* Show table query
*
* Generates a platform-specific query string so that the table names can be fetched
*
- * @access public
+ * @access private
* @return string
*/
- function _show_tables()
+ function _list_tables()
{
return "SELECT name from sqlite_master WHERE type='table'";
}
-
- // --------------------------------------------------------------------
-
- /**
- * Show columnn query
- *
- * Generates a platform-specific query string so that the column names can be fetched
- *
- * @access public
- * @param string the table name
- * @return string
- */
- function _show_columns($table = '')
- {
- // Not supported
- return FALSE;
- }
// --------------------------------------------------------------------
/**
- * Field data query
- *
- * Generates a platform-specific query so that the column data can be retrieved
+ * Drop Table
*
- * @access public
- * @param string the table name
- * @return object
+ * @access private
+ * @return bool
*/
- function _field_data($table)
+ function _drop_table($table)
{
- return "SELECT * FROM ".$this->db->_escape_table($table)." LIMIT 1";
+ if ($this->db_debug)
+ {
+ return $this->display_error('db_unsuported_feature');
+ }
+ return array();
}
// --------------------------------------------------------------------