Fixed visibility declarations on dbforge and utility classes
diff --git a/system/database/drivers/cubrid/cubrid_forge.php b/system/database/drivers/cubrid/cubrid_forge.php
index 6bfc7c2..c3251bd 100644
--- a/system/database/drivers/cubrid/cubrid_forge.php
+++ b/system/database/drivers/cubrid/cubrid_forge.php
@@ -42,7 +42,7 @@
 	 * @param	string	the database name
 	 * @return	bool
 	 */
-	protected function _create_database($name)
+	public function _create_database($name)
 	{
 		// CUBRID does not allow to create a database in SQL. The GUI tools
 		// have to be used for this purpose.
@@ -57,7 +57,7 @@
 	 * @param	string	the database name
 	 * @return	bool
 	 */
-	protected function _drop_database($name)
+	public function _drop_database($name)
 	{
 		// CUBRID does not allow to drop a database in SQL. The GUI tools
 		// have to be used for this purpose.
@@ -72,7 +72,7 @@
 	 * @param	mixed	the fields
 	 * @return	string
 	 */
-	protected function _process_fields($fields)
+	public function _process_fields($fields)
 	{
 		$current_field_count = 0;
 		$sql = '';
@@ -176,7 +176,7 @@
 	 * @param	boolean	should 'IF NOT EXISTS' be added to the SQL
 	 * @return	bool
 	 */
-	protected function _create_table($table, $fields, $primary_keys, $keys, $if_not_exists)
+	public function _create_table($table, $fields, $primary_keys, $keys, $if_not_exists)
 	{
 		$sql = 'CREATE TABLE ';
 
@@ -230,7 +230,7 @@
 	 *
 	 * @return	string
 	 */
-	protected function _drop_table($table)
+	public function _drop_table($table)
 	{
 		return "DROP TABLE IF EXISTS ".$this->db->_escape_identifiers($table);
 	}
@@ -249,7 +249,7 @@
 	 * @param	string	the field after which we should add the new field
 	 * @return	object
 	 */
-	protected function _alter_table($alter_type, $table, $fields, $after_field = '')
+	public function _alter_table($alter_type, $table, $fields, $after_field = '')
 	{
 		$sql = 'ALTER TABLE '.$this->db->protect_identifiers($table).' '.$alter_type.' ';
 
@@ -280,7 +280,7 @@
 	 * @param	string	the new table name
 	 * @return	string
 	 */
-	protected function _rename_table($table_name, $new_table_name)
+	public function _rename_table($table_name, $new_table_name)
 	{
 		return 'RENAME TABLE '.$this->db->protect_identifiers($table_name).' AS '.$this->db->protect_identifiers($new_table_name);
 	}
diff --git a/system/database/drivers/cubrid/cubrid_utility.php b/system/database/drivers/cubrid/cubrid_utility.php
index de28e63..bc54e7a 100644
--- a/system/database/drivers/cubrid/cubrid_utility.php
+++ b/system/database/drivers/cubrid/cubrid_utility.php
@@ -42,7 +42,7 @@
 	 * @access	private
 	 * @return	array
 	 */
-	protected 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
@@ -71,7 +71,7 @@
 	 * @return	object
 	 * @link 	http://www.cubrid.org/manual/840/en/Optimize%20Database
 	 */
-	protected function _optimize_table($table)
+	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
@@ -91,7 +91,7 @@
 	 * @return	object
 	 * @link 	http://www.cubrid.org/manual/840/en/Checking%20Database%20Consistency
 	 */
-	protected function _repair_table($table)
+	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
@@ -107,7 +107,7 @@
 	 * @param	array	Preferences
 	 * @return	mixed
 	 */
-	protected function _backup($params = array())
+	public 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
diff --git a/system/database/drivers/oci8/oci8_forge.php b/system/database/drivers/oci8/oci8_forge.php
index f9a90ff..c59cfa7 100644
--- a/system/database/drivers/oci8/oci8_forge.php
+++ b/system/database/drivers/oci8/oci8_forge.php
@@ -55,7 +55,7 @@
 	 * @param	string	the database name
 	 * @return	bool
 	 */
-	protected function _drop_database($name)
+	public function _drop_database($name)
 	{
 		return FALSE;
 	}
@@ -144,7 +144,7 @@
 	 *
 	 * @return	bool
 	 */
-	protected function _drop_table($table)
+	public function _drop_table($table)
 	{
 		return FALSE;
 	}
@@ -166,7 +166,7 @@
 	 * @param	string	the field after which we should add the new field
 	 * @return	object
 	 */
-	protected function _alter_table($alter_type, $table, $column_name, $column_definition = '', $default_value = '', $null = '', $after_field = '')
+	public function _alter_table($alter_type, $table, $column_name, $column_definition = '', $default_value = '', $null = '', $after_field = '')
 	{
 		$sql = 'ALTER TABLE '.$this->db->protect_identifiers($table).' '.$alter_type.' '.$this->db->protect_identifiers($column_name);
 
@@ -212,7 +212,7 @@
 	 * @param	string	the new table name
 	 * @return	string
 	 */
-	protected function _rename_table($table_name, $new_table_name)
+	public function _rename_table($table_name, $new_table_name)
 	{
 		return 'ALTER TABLE '.$this->db->protect_identifiers($table_name).' RENAME TO '.$this->db->protect_identifiers($new_table_name);
 	}
diff --git a/system/database/drivers/oci8/oci8_utility.php b/system/database/drivers/oci8/oci8_utility.php
index f4863c0..bfbf871 100644
--- a/system/database/drivers/oci8/oci8_utility.php
+++ b/system/database/drivers/oci8/oci8_utility.php
@@ -41,7 +41,7 @@
 	 *
 	 * @return	bool
 	 */
-	protected function _list_databases()
+	public function _list_databases()
 	{
 		return FALSE;
 	}
@@ -56,7 +56,7 @@
 	 * @param	string	the table name
 	 * @return	object
 	 */
-	protected function _optimize_table($table)
+	public function _optimize_table($table)
 	{
 		return FALSE; // Is this supported in Oracle?
 	}
@@ -71,7 +71,7 @@
 	 * @param	string	the table name
 	 * @return	object
 	 */
-	protected function _repair_table($table)
+	public function _repair_table($table)
 	{
 		return FALSE; // Is this supported in Oracle?
 	}
@@ -84,7 +84,7 @@
 	 * @param	array	Preferences
 	 * @return	mixed
 	 */
-	protected function _backup($params = array())
+	public function _backup($params = array())
 	{
 		// Currently unsupported
 		return $this->db->display_error('db_unsuported_feature');
diff --git a/system/database/drivers/odbc/odbc_forge.php b/system/database/drivers/odbc/odbc_forge.php
index 121c096..c5b062e 100644
--- a/system/database/drivers/odbc/odbc_forge.php
+++ b/system/database/drivers/odbc/odbc_forge.php
@@ -42,7 +42,7 @@
 	 * @param	string	the database name
 	 * @return	bool
 	 */
-	protected function _create_database()
+	public function _create_database()
 	{
 		// ODBC has no "create database" command since it's
 		// designed to connect to an existing database
@@ -61,7 +61,7 @@
 	 * @param	string	the database name
 	 * @return	bool
 	 */
-	protected function _drop_database($name)
+	public function _drop_database($name)
 	{
 		// ODBC has no "drop database" command since it's
 		// designed to connect to an existing database
@@ -84,7 +84,7 @@
 	 * @param	boolean	should 'IF NOT EXISTS' be added to the SQL
 	 * @return	bool
 	 */
-	protected function _create_table($table, $fields, $primary_keys, $keys, $if_not_exists)
+	public function _create_table($table, $fields, $primary_keys, $keys, $if_not_exists)
 	{
 		$sql = 'CREATE TABLE ';
 
@@ -185,7 +185,7 @@
 	 *
 	 * @return	bool
 	 */
-	protected function _drop_table($table)
+	public function _drop_table($table)
 	{
 		// Not a supported ODBC feature
 		if ($this->db->db_debug)
@@ -212,7 +212,7 @@
 	 * @param	string	the field after which we should add the new field
 	 * @return	object
 	 */
-	protected function _alter_table($alter_type, $table, $column_name, $column_definition = '', $default_value = '', $null = '', $after_field = '')
+	public function _alter_table($alter_type, $table, $column_name, $column_definition = '', $default_value = '', $null = '', $after_field = '')
 	{
 		$sql = 'ALTER TABLE '.$this->db->protect_identifiers($table).' '.$alter_type.' '.$this->db->protect_identifiers($column_name);
 
@@ -259,7 +259,7 @@
 	 * @param	string	the new table name
 	 * @return	string
 	 */
-	protected function _rename_table($table_name, $new_table_name)
+	public function _rename_table($table_name, $new_table_name)
 	{
 		return 'ALTER TABLE '.$this->db->protect_identifiers($table_name).' RENAME TO '.$this->db->protect_identifiers($new_table_name);
 	}
diff --git a/system/database/drivers/odbc/odbc_utility.php b/system/database/drivers/odbc/odbc_utility.php
index d663da1..a07d3b6 100644
--- a/system/database/drivers/odbc/odbc_utility.php
+++ b/system/database/drivers/odbc/odbc_utility.php
@@ -41,7 +41,7 @@
 	 *
 	 * @return	bool
 	 */
-	protected function _list_databases()
+	public function _list_databases()
 	{
 		// Not sure if ODBC lets you list all databases...
 		if ($this->db->db_debug)
@@ -61,7 +61,7 @@
 	 * @param	string	the table name
 	 * @return	object
 	 */
-	protected function _optimize_table($table)
+	public function _optimize_table($table)
 	{
 		// Not a supported ODBC feature
 		if ($this->db->db_debug)
@@ -81,7 +81,7 @@
 	 * @param	string	the table name
 	 * @return	object
 	 */
-	protected function _repair_table($table)
+	public function _repair_table($table)
 	{
 		// Not a supported ODBC feature
 		if ($this->db->db_debug)
@@ -99,7 +99,7 @@
 	 * @param	array	Preferences
 	 * @return	mixed
 	 */
-	protected function _backup($params = array())
+	public function _backup($params = array())
 	{
 		// Currently unsupported
 		return $this->db->display_error('db_unsuported_feature');
diff --git a/system/database/drivers/pdo/pdo_forge.php b/system/database/drivers/pdo/pdo_forge.php
index 87b6385..7fca962 100644
--- a/system/database/drivers/pdo/pdo_forge.php
+++ b/system/database/drivers/pdo/pdo_forge.php
@@ -39,11 +39,10 @@
 	/**
 	 * Create database
 	 *
-	 * @access	private
 	 * @param	string	the database name
 	 * @return	bool
 	 */
-	function _create_database()
+	public function _create_database()
 	{
 		// PDO has no "create database" command since it's
 		// designed to connect to an existing database
@@ -59,11 +58,10 @@
 	/**
 	 * Drop database
 	 *
-	 * @access	private
 	 * @param	string	the database name
 	 * @return	bool
 	 */
-	function _drop_database($name)
+	public function _drop_database($name)
 	{
 		// PDO has no "drop database" command since it's
 		// designed to connect to an existing database
@@ -79,7 +77,6 @@
 	/**
 	 * Create Table
 	 *
-	 * @access	private
 	 * @param	string	the table name
 	 * @param	array	the fields
 	 * @param	mixed	primary key(s)
@@ -87,7 +84,7 @@
 	 * @param	boolean	should 'IF NOT EXISTS' be added to the SQL
 	 * @return	bool
 	 */
-	function _create_table($table, $fields, $primary_keys, $keys, $if_not_exists)
+	public function _create_table($table, $fields, $primary_keys, $keys, $if_not_exists)
 	{
 		$sql = 'CREATE TABLE ';
 
@@ -191,10 +188,9 @@
 	/**
 	 * Drop Table
 	 *
-	 * @access	private
 	 * @return	bool
 	 */
-	function _drop_table($table)
+	public function _drop_table($table)
 	{
 		// Not a supported PDO feature
 		if ($this->db->db_debug)
@@ -212,7 +208,6 @@
 	 * Generates a platform-specific query so that a table can be altered
 	 * Called by add_column(), drop_column(), and column_alter(),
 	 *
-	 * @access	private
 	 * @param	string	the ALTER type (ADD, DROP, CHANGE)
 	 * @param	string	the column name
 	 * @param	string	the table name
@@ -222,7 +217,7 @@
 	 * @param	string	the field after which we should add the new field
 	 * @return	object
 	 */
-	function _alter_table($alter_type, $table, $column_name, $column_definition = '', $default_value = '', $null = '', $after_field = '')
+	public function _alter_table($alter_type, $table, $column_name, $column_definition = '', $default_value = '', $null = '', $after_field = '')
 	{
 		$sql = 'ALTER TABLE `'.$this->db->protect_identifiers($table).'` '.$alter_type.' '.$this->db->protect_identifiers($column_name);
 
@@ -265,12 +260,11 @@
 	 *
 	 * Generates a platform-specific query so that a table can be renamed
 	 *
-	 * @access	private
 	 * @param	string	the old table name
 	 * @param	string	the new table name
 	 * @return	string
 	 */
-	function _rename_table($table_name, $new_table_name)
+	public function _rename_table($table_name, $new_table_name)
 	{
 		return 'ALTER TABLE '.$this->db->protect_identifiers($table_name).' RENAME TO '.$this->db->protect_identifiers($new_table_name);
 	}
@@ -278,4 +272,4 @@
 }
 
 /* End of file pdo_forge.php */
-/* Location: ./system/database/drivers/pdo/pdo_forge.php */
+/* Location: ./system/database/drivers/pdo/pdo_forge.php */
\ No newline at end of file
diff --git a/system/database/drivers/pdo/pdo_utility.php b/system/database/drivers/pdo/pdo_utility.php
index 2c12d74..02373b7 100644
--- a/system/database/drivers/pdo/pdo_utility.php
+++ b/system/database/drivers/pdo/pdo_utility.php
@@ -41,7 +41,7 @@
 	 *
 	 * @return	bool
 	 */
-	protected function _list_databases()
+	public function _list_databases()
 	{
 		// Not sure if PDO lets you list all databases...
 		if ($this->db->db_debug)
@@ -61,7 +61,7 @@
 	 * @param	string	the table name
 	 * @return	object
 	 */
-	protected function _optimize_table($table)
+	public function _optimize_table($table)
 	{
 		// Not a supported PDO feature
 		if ($this->db->db_debug)
@@ -81,7 +81,7 @@
 	 * @param	string	the table name
 	 * @return	object
 	 */
-	protected function _repair_table($table)
+	public function _repair_table($table)
 	{
 		// Not a supported PDO feature
 		if ($this->db->db_debug)
@@ -99,7 +99,7 @@
 	 * @param	array	Preferences
 	 * @return	mixed
 	 */
-	protected function _backup($params = array())
+	public function _backup($params = array())
 	{
 		// Currently unsupported
 		return $this->db->display_error('db_unsuported_feature');
diff --git a/system/database/drivers/postgre/postgre_forge.php b/system/database/drivers/postgre/postgre_forge.php
index 2aa6ee8..0462258 100644
--- a/system/database/drivers/postgre/postgre_forge.php
+++ b/system/database/drivers/postgre/postgre_forge.php
@@ -42,7 +42,7 @@
 	 * @param	string	the database name
 	 * @return	bool
 	 */
-	protected function _create_database($name)
+	public function _create_database($name)
 	{
 		return "CREATE DATABASE ".$name;
 	}
@@ -55,7 +55,7 @@
 	 * @param	string	the database name
 	 * @return	bool
 	 */
-	protected function _drop_database($name)
+	public function _drop_database($name)
 	{
 		return "DROP DATABASE ".$name;
 	}
@@ -68,7 +68,7 @@
 	 * @param	mixed	the fields
 	 * @return	string
 	 */
-	protected function _process_fields($fields, $primary_keys=array())
+	public function _process_fields($fields, $primary_keys=array())
 	{
 		$sql = '';
 		$current_field_count = 0;
@@ -182,7 +182,7 @@
 	 * @param	boolean	should 'IF NOT EXISTS' be added to the SQL
 	 * @return	bool
 	 */
-	protected function _create_table($table, $fields, $primary_keys, $keys, $if_not_exists)
+	public function _create_table($table, $fields, $primary_keys, $keys, $if_not_exists)
 	{
 		$sql = 'CREATE TABLE ';
 
@@ -242,7 +242,7 @@
 	 * @param	string	the table name
 	 * @return	string
 	 */
-	protected function _drop_table($table)
+	public function _drop_table($table)
 	{
 		return "DROP TABLE IF EXISTS ".$this->db->_escape_identifiers($table)." CASCADE";
 	}
@@ -264,7 +264,7 @@
 	 * @param	string	the field after which we should add the new field
 	 * @return	object
 	 */
- 	protected function _alter_table($alter_type, $table, $fields, $after_field = '')
+ 	public function _alter_table($alter_type, $table, $fields, $after_field = '')
  	{
  		$sql = 'ALTER TABLE '.$this->db->protect_identifiers($table).' '.$alter_type.' ';
 
@@ -295,7 +295,7 @@
 	 * @param	string	the new table name
 	 * @return	string
 	 */
-	protected function _rename_table($table_name, $new_table_name)
+	public function _rename_table($table_name, $new_table_name)
 	{
 		return 'ALTER TABLE '.$this->db->protect_identifiers($table_name).' RENAME TO '.$this->db->protect_identifiers($new_table_name);
 	}
diff --git a/system/database/drivers/sqlite/sqlite_forge.php b/system/database/drivers/sqlite/sqlite_forge.php
index 595d419..4b22989 100644
--- a/system/database/drivers/sqlite/sqlite_forge.php
+++ b/system/database/drivers/sqlite/sqlite_forge.php
@@ -58,7 +58,7 @@
 	 * @param	string	the database name
 	 * @return	bool
 	 */
-	protected function _drop_database($name)
+	public function _drop_database($name)
 	{
 		if ( ! @file_exists($this->db->database) OR ! @unlink($this->db->database))
 		{
@@ -82,7 +82,7 @@
 	 * @param	boolean	should 'IF NOT EXISTS' be added to the SQL
 	 * @return	bool
 	 */
-	protected function _create_table($table, $fields, $primary_keys, $keys, $if_not_exists)
+	public function _create_table($table, $fields, $primary_keys, $keys, $if_not_exists)
 	{
 		$sql = 'CREATE TABLE ';
 
@@ -186,7 +186,7 @@
 	 *
 	 * @return	bool
 	 */
-	protected function _drop_table($table)
+	public function _drop_table($table)
 	{
 		if ($this->db->db_debug)
 		{
@@ -212,7 +212,7 @@
 	 * @param	string	the field after which we should add the new field
 	 * @return	object
 	 */
-	protected function _alter_table($alter_type, $table, $column_name, $column_definition = '', $default_value = '', $null = '', $after_field = '')
+	public function _alter_table($alter_type, $table, $column_name, $column_definition = '', $default_value = '', $null = '', $after_field = '')
 	{
 		$sql = 'ALTER TABLE '.$this->db->protect_identifiers($table).' '.$alter_type.' '.$this->db->protect_identifiers($column_name);
 
@@ -261,7 +261,7 @@
 	 * @param	string	the new table name
 	 * @return	string
 	 */
-	protected function _rename_table($table_name, $new_table_name)
+	public function _rename_table($table_name, $new_table_name)
 	{
 		return 'ALTER TABLE '.$this->db->protect_identifiers($table_name).' RENAME TO '.$this->db->protect_identifiers($new_table_name);
 	}
diff --git a/system/database/drivers/sqlsrv/sqlsrv_forge.php b/system/database/drivers/sqlsrv/sqlsrv_forge.php
index 6452742..b7b45a4 100644
--- a/system/database/drivers/sqlsrv/sqlsrv_forge.php
+++ b/system/database/drivers/sqlsrv/sqlsrv_forge.php
@@ -42,7 +42,7 @@
 	 * @param	string	the database name
 	 * @return	bool
 	 */
-	protected function _create_database($name)
+	public function _create_database($name)
 	{
 		return "CREATE DATABASE ".$name;
 	}
@@ -55,7 +55,7 @@
 	 * @param	string	the database name
 	 * @return	bool
 	 */
-	protected function _drop_database($name)
+	public function _drop_database($name)
 	{
 		return "DROP DATABASE ".$name;
 	}
@@ -67,7 +67,7 @@
 	 *
 	 * @return	bool
 	 */
-	protected function _drop_table($table)
+	public function _drop_table($table)
 	{
 		return "DROP TABLE ".$this->db->_escape_identifiers($table);
 	}
@@ -84,7 +84,7 @@
 	 * @param	boolean	should 'IF NOT EXISTS' be added to the SQL
 	 * @return	bool
 	 */
-	protected function _create_table($table, $fields, $primary_keys, $keys, $if_not_exists)
+	public function _create_table($table, $fields, $primary_keys, $keys, $if_not_exists)
 	{
 		$sql = 'CREATE TABLE ';
 
@@ -195,7 +195,7 @@
 	 * @param	string	the field after which we should add the new field
 	 * @return	object
 	 */
-	protected function _alter_table($alter_type, $table, $column_name, $column_definition = '', $default_value = '', $null = '', $after_field = '')
+	public function _alter_table($alter_type, $table, $column_name, $column_definition = '', $default_value = '', $null = '', $after_field = '')
 	{
 		$sql = 'ALTER TABLE '.$this->db->protect_identifiers($table).' '.$alter_type.' '.$this->db->protect_identifiers($column_name);
 
@@ -241,7 +241,7 @@
 	 * @param	string	the new table name
 	 * @return	string
 	 */
-	protected function _rename_table($table_name, $new_table_name)
+	public function _rename_table($table_name, $new_table_name)
 	{
 		// I think this syntax will work, but can find little documentation on renaming tables in MSSQL
 		return 'ALTER TABLE '.$this->db->protect_identifiers($table_name).' RENAME TO '.$this->db->protect_identifiers($new_table_name);
diff --git a/system/database/drivers/sqlsrv/sqlsrv_utility.php b/system/database/drivers/sqlsrv/sqlsrv_utility.php
index 9e9dde3..4d40f06 100644
--- a/system/database/drivers/sqlsrv/sqlsrv_utility.php
+++ b/system/database/drivers/sqlsrv/sqlsrv_utility.php
@@ -41,7 +41,7 @@
 	 *
 	 * @return	bool
 	 */
-	protected function _list_databases()
+	public function _list_databases()
 	{
 		return "EXEC sp_helpdb"; // Can also be: EXEC sp_databases
 	}
@@ -56,7 +56,7 @@
 	 * @param	string	the table name
 	 * @return	object
 	 */
-	protected function _optimize_table($table)
+	public function _optimize_table($table)
 	{
 		return FALSE; // Is this supported in MS SQL?
 	}
@@ -71,7 +71,7 @@
 	 * @param	string	the table name
 	 * @return	object
 	 */
-	protected function _repair_table($table)
+	public function _repair_table($table)
 	{
 		return FALSE; // Is this supported in MS SQL?
 	}
@@ -84,7 +84,7 @@
 	 * @param	array	Preferences
 	 * @return	mixed
 	 */
-	protected function _backup($params = array())
+	public function _backup($params = array())
 	{
 		// Currently unsupported
 		return $this->db->display_error('db_unsuported_feature');