Added back /application/* files (removed in previous commit accidently). Corrected formatting/indenting in CUBRID Driver classes. Added myself as the driver author. Applied the MySQL fix, previously accepted in pull request #29, to CUBRID Driver.
diff --git a/system/database/drivers/cubrid/cubrid_driver.php b/system/database/drivers/cubrid/cubrid_driver.php
index 9b5d86a..3f01092 100644
--- a/system/database/drivers/cubrid/cubrid_driver.php
+++ b/system/database/drivers/cubrid/cubrid_driver.php
@@ -1,4 +1,4 @@
-<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
+<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
 /**
  * CodeIgniter
  *
@@ -25,15 +25,15 @@
  * @package		CodeIgniter
  * @subpackage	Drivers
  * @category	Database
- * @author		ExpressionEngine Dev Team
+ * @author		Esen Sagynov
  * @link		http://codeigniter.com/user_guide/database/
  */
-class CI_DB_cubrid_driver extends CI_DB
-{
-    // Default CUBRID Broker port. Will be used unless user
-    // explicitly specifies another one.
-    const DEFAULT_PORT = 33000;
-        
+class CI_DB_cubrid_driver extends CI_DB {
+
+	// Default CUBRID Broker port. Will be used unless user
+	// explicitly specifies another one.
+	const DEFAULT_PORT = 33000;
+
 	var $dbdriver = 'cubrid';
 
 	// The character used for escaping - no need in CUBRID
@@ -59,24 +59,30 @@
 	 */
 	function db_connect()
 	{
+		// If no port is defined by the user, use the default value
 		if ($this->port == '')
 		{
 			$this->port = self::DEFAULT_PORT;
-        }
+		}
 
-        $conn = cubrid_connect($this->hostname, $this->port, $this->database, $this->username, $this->password);
+		$conn = cubrid_connect($this->hostname, $this->port, $this->database, $this->username, $this->password);
 
-        if ($conn){
-            if (isset($this->auto_commit) && !$this->auto_commit){
-                cubrid_set_autocommit($conn, CUBRID_AUTOCOMMIT_FALSE);
-            }
-            else{
-                cubrid_set_autocommit($conn, CUBRID_AUTOCOMMIT_TRUE);
-                $this->auto_commit = TRUE;
-            }
-        }
-        
-        return $conn;
+		if ($conn)
+		{
+			// Check if a user wants to run queries in dry, i.e. run the
+			// queries but not commit them.
+			if (isset($this->auto_commit) && ! $this->auto_commit)
+			{
+				cubrid_set_autocommit($conn, CUBRID_AUTOCOMMIT_FALSE);
+			}
+			else
+			{
+				cubrid_set_autocommit($conn, CUBRID_AUTOCOMMIT_TRUE);
+				$this->auto_commit = TRUE;
+			}
+		}
+
+		return $conn;
 	}
 
 	// --------------------------------------------------------------------
@@ -131,8 +137,7 @@
 		// In CUBRID there is no need to select a database as the database
 		// is chosen at the connection time.
 		// So, to determine if the database is "selected", all we have to
-		// do is return the connection identifier which can be later
-		// checked if it has been established or not.
+		// do is ping the server and return that value.
 		return cubrid_ping($this->conn_id);
 	}
 
@@ -155,7 +160,7 @@
 	}
 
 	// --------------------------------------------------------------------
-    
+
 	/**
 	 * Version number query string
 	 *
@@ -164,6 +169,11 @@
 	 */
 	function _version()
 	{
+		// To obtain the CUBRID Server version, no need to run the SQL query.
+		// CUBRID PHP API provides a function to determin this value.
+		// This is why we also need to add 'cubrid' value to the list of
+		// $driver_version_exceptions array in DB_driver class in
+		// version() function.
 		return cubrid_get_server_info($this->conn_id);
 	}
 
@@ -195,6 +205,7 @@
 	 */
 	function _prep_query($sql)
 	{
+		// No need to prepare
 		return $sql;
 	}
 
@@ -224,8 +235,10 @@
 		// even if the queries produce a successful result.
 		$this->_trans_failure = ($test_mode === TRUE) ? TRUE : FALSE;
 
-        if (cubrid_get_autocommit($this->conn_id))
-            cubrid_set_autocommit($this->conn_id, CUBRID_AUTOCOMMIT_FALSE);
+		if (cubrid_get_autocommit($this->conn_id))
+		{
+			cubrid_set_autocommit($this->conn_id, CUBRID_AUTOCOMMIT_FALSE);
+		}
 
 		return TRUE;
 	}
@@ -253,9 +266,11 @@
 
 		cubrid_commit($this->conn_id);
 
-        if ($this->auto_commit && !cubrid_get_autocommit($this->conn_id))
-            cubrid_set_autocommit($this->conn_id, CUBRID_AUTOCOMMIT_TRUE);
-        
+		if ($this->auto_commit && ! cubrid_get_autocommit($this->conn_id))
+		{
+			cubrid_set_autocommit($this->conn_id, CUBRID_AUTOCOMMIT_TRUE);
+		}
+
 		return TRUE;
 	}
 
@@ -282,9 +297,11 @@
 
 		cubrid_rollback($this->conn_id);
 
-        if ($this->auto_commit && !cubrid_get_autocommit($this->conn_id))
-            cubrid_set_autocommit($this->conn_id, CUBRID_AUTOCOMMIT_TRUE);
-        
+		if ($this->auto_commit && ! cubrid_get_autocommit($this->conn_id))
+		{
+			cubrid_set_autocommit($this->conn_id, CUBRID_AUTOCOMMIT_TRUE);
+		}
+
 		return TRUE;
 	}
 
@@ -303,12 +320,12 @@
 		if (is_array($str))
 		{
 			foreach ($str as $key => $val)
-	   		{
+			{
 				$str[$key] = $this->escape_str($val, $like);
-	   		}
+			}
 
-	   		return $str;
-	   	}
+			return $str;
+		}
 
 		if (function_exists('cubrid_real_escape_string') AND is_resource($this->conn_id))
 		{
@@ -322,7 +339,6 @@
 		// escape LIKE condition wildcards
 		if ($like === TRUE)
 		{
-			//TODO: check this
 			$str = str_replace(array('%', '_'), array('\\%', '\\_'), $str);
 		}
 
@@ -545,7 +561,7 @@
 	 */
 	function _insert($table, $keys, $values)
 	{
-		return "INSERT INTO ".$table." (\"".implode('\", \"', $keys)."\") VALUES (".implode(', ', $values).")";
+		return "INSERT INTO ".$table." (\"".implode('", "', $keys)."\") VALUES (".implode(', ', $values).")";
 	}
 
 	// --------------------------------------------------------------------
@@ -648,7 +664,7 @@
 			{
 				if ($field != $index)
 				{
-					$final[$field][] =  'WHEN '.$index.' = '.$val[$index].' THEN '.$val[$field];
+					$final[$field][] = 'WHEN '.$index.' = '.$val[$index].' THEN '.$val[$field];
 				}
 			}
 		}
diff --git a/system/database/drivers/cubrid/cubrid_forge.php b/system/database/drivers/cubrid/cubrid_forge.php
index 1de0db1..bab03f7 100644
--- a/system/database/drivers/cubrid/cubrid_forge.php
+++ b/system/database/drivers/cubrid/cubrid_forge.php
@@ -1,4 +1,4 @@
-<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
+<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
 /**
  * CodeIgniter
  *
@@ -19,7 +19,7 @@
  * CUBRID Forge Class
  *
  * @category	Database
- * @author		ExpressionEngine Dev Team
+ * @author		Esen Sagynov
  * @link		http://codeigniter.com/user_guide/database/
  */
 class CI_DB_cubrid_forge extends CI_DB_forge {
@@ -81,7 +81,7 @@
 			{
 				$attributes = array_change_key_case($attributes, CASE_UPPER);
 
-				$sql .= "\n\t\"".$this->db->_protect_identifiers($field) . "\"";
+				$sql .= "\n\t\"" . $this->db->_protect_identifiers($field) . "\"";
 
 				if (array_key_exists('NAME', $attributes))
 				{
@@ -90,7 +90,7 @@
 
 				if (array_key_exists('TYPE', $attributes))
 				{
-					$sql .=  ' '.$attributes['TYPE'];
+					$sql .= ' '.$attributes['TYPE'];
 
 					if (array_key_exists('CONSTRAINT', $attributes))
 					{
@@ -125,17 +125,21 @@
 					$sql .= ' DEFAULT \''.$attributes['DEFAULT'].'\'';
 				}
 
-				if (array_key_exists('NULL', $attributes))
+				if (array_key_exists('NULL', $attributes) && $attributes['NULL'] === TRUE)
 				{
-					$sql .= ($attributes['NULL'] === TRUE) ? '' : ' NOT NULL';
+					$sql .= ' NULL';
+				}
+				else
+				{
+					$sql .= ' NOT NULL';
 				}
 
 				if (array_key_exists('AUTO_INCREMENT', $attributes) && $attributes['AUTO_INCREMENT'] === TRUE)
 				{
 					$sql .= ' AUTO_INCREMENT';
 				}
-                
-                if (array_key_exists('UNIQUE', $attributes) && $attributes['UNIQUE'] === TRUE)
+
+				if (array_key_exists('UNIQUE', $attributes) && $attributes['UNIQUE'] === TRUE)
 				{
 					$sql .= ' UNIQUE';
 				}
diff --git a/system/database/drivers/cubrid/cubrid_result.php b/system/database/drivers/cubrid/cubrid_result.php
index 06613e3..6f0c2b5 100644
--- a/system/database/drivers/cubrid/cubrid_result.php
+++ b/system/database/drivers/cubrid/cubrid_result.php
@@ -1,4 +1,4 @@
-<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
+<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
 /**
  * CodeIgniter
  *
@@ -21,7 +21,7 @@
  * This class extends the parent result class: CI_DB_result
  *
  * @category	Database
- * @author		ExpressionEngine Dev Team
+ * @author		Esen Sagynov
  * @link		http://codeigniter.com/user_guide/database/
  */
 class CI_DB_cubrid_result extends CI_DB_result {
@@ -113,7 +113,8 @@
 				$row = cubrid_fetch_array($res, CUBRID_NUM);
 				$F->primary_key = ($row[0] > 0 ? 1 : null);
 			}
-			else{
+			else
+			{
 				$F->primary_key = null;
 			}
 
@@ -138,9 +139,9 @@
 	 */
 	function free_result()
 	{
-        if(is_resource($this->result_id) ||
-                get_resource_type($this->result_id) == "Unknown" &&
-                preg_match('/Resource id #/', strval($this->result_id)))
+		if(is_resource($this->result_id) ||
+			get_resource_type($this->result_id) == "Unknown" &&
+			preg_match('/Resource id #/', strval($this->result_id)))
 		{
 			cubrid_close_request($this->result_id);
 			$this->result_id = FALSE;
@@ -152,7 +153,7 @@
 	/**
 	 * Data Seek
 	 *
-	 * Moves the internal pointer to the desired offset.  We call
+	 * Moves the internal pointer to the desired offset. We call
 	 * this internally before fetching results to make sure the
 	 * result set starts at zero
 	 *
diff --git a/system/database/drivers/cubrid/cubrid_utility.php b/system/database/drivers/cubrid/cubrid_utility.php
index 9cf8b2e..cd16d1e 100644
--- a/system/database/drivers/cubrid/cubrid_utility.php
+++ b/system/database/drivers/cubrid/cubrid_utility.php
@@ -1,4 +1,4 @@
-<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
+<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
 /**
  * CodeIgniter
  *
@@ -19,7 +19,7 @@
  * CUBRID Utility Class
  *
  * @category	Database
- * @author		ExpressionEngine Dev Team
+ * @author		Esen Sagynov
  * @link		http://codeigniter.com/user_guide/database/
  */
 class CI_DB_cubrid_utility extends CI_DB_utility {
@@ -41,7 +41,8 @@
 		{
 			return "SELECT '" . $this->database . "'";
 		}
-		else{
+		else
+		{
 			return FALSE;
 		}
 	}