Did a little clean up.  Nothing that affected functionality
diff --git a/system/database/DB_active_rec.php b/system/database/DB_active_rec.php
index fccf1b0..3558683 100644
--- a/system/database/DB_active_rec.php
+++ b/system/database/DB_active_rec.php
@@ -821,11 +821,10 @@
 	/**

 	 * Sets the HAVING values

 	 *

-	 * Called by having() or orhaving()

+	 * Called by having() or or_having()

 	 *

 	 * @access	private

 	 * @param	string

-

 	 * @param	string

 	 * @return	object

 	 */

diff --git a/system/database/DB_forge.php b/system/database/DB_forge.php
index cc88c32..d48165e 100644
--- a/system/database/DB_forge.php
+++ b/system/database/DB_forge.php
@@ -97,6 +97,16 @@
 	 */

 	function add_key($key = '', $primary = FALSE)

 	{

+		if (is_array($key))

+		{

+			foreach($key as $one)

+			{

+				$this->add_key($one, $primary);

+			}

+			

+			return;

+		}

+	

 		if ($key == '')

 		{

 			show_error('Key information is required for that operation.');

diff --git a/system/database/drivers/mssql/mssql_driver.php b/system/database/drivers/mssql/mssql_driver.php
index 9a912a3..fd3f963 100644
--- a/system/database/drivers/mssql/mssql_driver.php
+++ b/system/database/drivers/mssql/mssql_driver.php
@@ -87,7 +87,7 @@
 	 */

 	function db_set_charset($charset, $collation)

 	{

-		// TODO - add support if needed

+		// @todo - add support if needed

 		return TRUE;

 	}

 

diff --git a/system/database/drivers/mysql/mysql_driver.php b/system/database/drivers/mysql/mysql_driver.php
index de372e6..52df1e5 100644
--- a/system/database/drivers/mysql/mysql_driver.php
+++ b/system/database/drivers/mysql/mysql_driver.php
@@ -314,6 +314,9 @@
 	

 		$query = $this->query($this->_count_string . $this->_protect_identifiers('numrows'). " FROM " . $this->_protect_identifiers($this->dbprefix.$table));

 		

+		if ($query->num_rows() == 0)

+			return '0';

+

 		$row = $query->row();

 		return (int)$row->numrows;

 	}

diff --git a/system/database/drivers/oci8/oci8_driver.php b/system/database/drivers/oci8/oci8_driver.php
index b45b003..9d91932 100644
--- a/system/database/drivers/oci8/oci8_driver.php
+++ b/system/database/drivers/oci8/oci8_driver.php
@@ -111,7 +111,7 @@
 	 */

 	function db_set_charset($charset, $collation)

 	{

-		// TODO - add support if needed

+		// @todo - add support if needed

 		return TRUE;

 	}

 

diff --git a/system/database/drivers/odbc/odbc_driver.php b/system/database/drivers/odbc/odbc_driver.php
index ed8f81c..06282e5 100644
--- a/system/database/drivers/odbc/odbc_driver.php
+++ b/system/database/drivers/odbc/odbc_driver.php
@@ -94,7 +94,7 @@
 	 */

 	function db_set_charset($charset, $collation)

 	{

-		// TODO - add support if needed

+		// @todo - add support if needed

 		return TRUE;

 	}

 

diff --git a/system/database/drivers/postgre/postgre_driver.php b/system/database/drivers/postgre/postgre_driver.php
index 3d006d3..55f6502 100644
--- a/system/database/drivers/postgre/postgre_driver.php
+++ b/system/database/drivers/postgre/postgre_driver.php
@@ -92,7 +92,7 @@
 	 */

 	function db_set_charset($charset, $collation)

 	{

-		// TODO - add support if needed

+		// @todo - add support if needed

 		return TRUE;

 	}

 

diff --git a/system/database/drivers/sqlite/sqlite_driver.php b/system/database/drivers/sqlite/sqlite_driver.php
index 46e0fae..7821569 100644
--- a/system/database/drivers/sqlite/sqlite_driver.php
+++ b/system/database/drivers/sqlite/sqlite_driver.php
@@ -113,7 +113,7 @@
 	 */

 	function db_set_charset($charset, $collation)

 	{

-		// TODO - add support if needed

+		// @todo - add support if needed

 		return TRUE;

 	}

 

@@ -651,24 +651,6 @@
 		@sqlite_close($conn_id);

 	}

 

-	// --------------------------------------------------------------------

-

-	/**

-	 * Rename a table

-	 *

-	 * 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)

-	{

-		$sql = 'ALTER TABLE '.$this->db->_protect_identifiers($table_name)." RENAME TO ".$this->db->_protect_identifiers($new_table_name);

-		return $sql;

-	}

-

 

 }

 

diff --git a/system/database/drivers/sqlite/sqlite_forge.php b/system/database/drivers/sqlite/sqlite_forge.php
index 05f366a..631c9c7 100644
--- a/system/database/drivers/sqlite/sqlite_forge.php
+++ b/system/database/drivers/sqlite/sqlite_forge.php
@@ -144,7 +144,7 @@
 			$primary_keys = $this->db->_protect_identifiers($primary_keys);

 			$sql .= ",\n\tPRIMARY KEY (" . implode(', ', $primary_keys) . ")";

 		}

-		

+

 		if (is_array($keys) && count($keys) > 0)

 		{

 			foreach ($keys as $key)

@@ -161,7 +161,7 @@
 				$sql .= ",\n\tUNIQUE (" . implode(', ', $key) . ")";

 			}

 		}

-		

+

 		$sql .= "\n)";

 

 		return $sql;

@@ -241,6 +241,24 @@
 		return $sql;

 		

 	}

+

+	// --------------------------------------------------------------------

+

+	/**

+	 * Rename a table

+	 *

+	 * 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)

+	{

+		$sql = 'ALTER TABLE '.$this->db->_protect_identifiers($table_name)." RENAME TO ".$this->db->_protect_identifiers($new_table_name);

+		return $sql;

+	}

 }

 

 /* End of file sqlite_forge.php */