Merge pull request #3305 from zachflower/feature/mysql-comments

Add COMMENT support to MySQL Forge Drivers
diff --git a/system/database/DB_forge.php b/system/database/DB_forge.php
index aa8bbbe..85505ce 100644
--- a/system/database/DB_forge.php
+++ b/system/database/DB_forge.php
@@ -808,6 +808,11 @@
 			$this->_attr_auto_increment($attributes, $field);
 			$this->_attr_unique($attributes, $field);
 
+			if (isset($attributes['COMMENT']))
+			{
+				$field['comment'] = $this->db->escape($attributes['COMMENT']);
+			}
+
 			if (isset($attributes['TYPE']) && ! empty($attributes['CONSTRAINT']))
 			{
 				switch (strtoupper($attributes['TYPE']))
diff --git a/system/database/drivers/mysql/mysql_forge.php b/system/database/drivers/mysql/mysql_forge.php
index 6f0d6c5..282e2d1 100644
--- a/system/database/drivers/mysql/mysql_forge.php
+++ b/system/database/drivers/mysql/mysql_forge.php
@@ -185,6 +185,8 @@
 			$extra_clause = ' FIRST';
 		}
 
+		$comment_clause = isset($field['comment']) ? ' COMMENT ' . $field['comment'] : '';
+
 		return $this->db->escape_identifiers($field['name'])
 			.(empty($field['new_name']) ? '' : ' '.$this->db->escape_identifiers($field['new_name']))
 			.' '.$field['type'].$field['length']
@@ -193,6 +195,7 @@
 			.$field['default']
 			.$field['auto_increment']
 			.$field['unique']
+			.$comment_clause
 			.$extra_clause;
 	}
 
diff --git a/system/database/drivers/mysqli/mysqli_forge.php b/system/database/drivers/mysqli/mysqli_forge.php
index c9a5b6d..38f6249 100644
--- a/system/database/drivers/mysqli/mysqli_forge.php
+++ b/system/database/drivers/mysqli/mysqli_forge.php
@@ -187,6 +187,8 @@
 			$extra_clause = ' FIRST';
 		}
 
+		$comment_clause = isset($field['comment']) ? ' COMMENT ' . $field['comment'] : '';
+
 		return $this->db->escape_identifiers($field['name'])
 			.(empty($field['new_name']) ? '' : ' '.$this->db->escape_identifiers($field['new_name']))
 			.' '.$field['type'].$field['length']
@@ -195,6 +197,7 @@
 			.$field['default']
 			.$field['auto_increment']
 			.$field['unique']
+			.$comment_clause
 			.$extra_clause;
 	}
 
diff --git a/system/database/drivers/pdo/subdrivers/pdo_mysql_forge.php b/system/database/drivers/pdo/subdrivers/pdo_mysql_forge.php
index 6cdfcab..2e988c3 100644
--- a/system/database/drivers/pdo/subdrivers/pdo_mysql_forge.php
+++ b/system/database/drivers/pdo/subdrivers/pdo_mysql_forge.php
@@ -199,6 +199,8 @@
 			$extra_clause = ' FIRST';
 		}
 
+		$comment_clause = isset($field['comment']) ? ' COMMENT ' . $field['comment'] : '';
+
 		return $this->db->escape_identifiers($field['name'])
 			.(empty($field['new_name']) ? '' : ' '.$this->db->escape_identifiers($field['new_name']))
 			.' '.$field['type'].$field['length']
@@ -207,6 +209,7 @@
 			.$field['default']
 			.$field['auto_increment']
 			.$field['unique']
+			.$comment_clause
 			.$extra_clause;
 	}