From e4b10bf0ad59049ed78ed9cfc5f708188f3cd442 Mon Sep 17 00:00:00 2001 From: Zachary Flower Date: Mon, 3 Nov 2014 10:42:57 -0700 Subject: Move MySQL comments to MySQL forge classes only --- system/database/DB_forge.php | 39 ++++------------------ system/database/drivers/mysql/mysql_forge.php | 4 ++- system/database/drivers/mysqli/mysqli_forge.php | 4 ++- .../drivers/pdo/subdrivers/pdo_mysql_forge.php | 4 ++- 4 files changed, 15 insertions(+), 36 deletions(-) (limited to 'system/database') diff --git a/system/database/DB_forge.php b/system/database/DB_forge.php index 0317489f6..85505ce41 100644 --- a/system/database/DB_forge.php +++ b/system/database/DB_forge.php @@ -156,13 +156,6 @@ abstract class CI_DB_forge { */ protected $_default = ' DEFAULT '; - /** - * COMMENT value representation in CREATE/ALTER TABLE statements - * - * @var string - */ - protected $_comment = ' COMMENT '; - // -------------------------------------------------------------------- /** @@ -777,7 +770,6 @@ abstract class CI_DB_forge { 'unique' => '', 'default' => '', 'auto_increment' => '', - 'comment' => '', '_literal' => FALSE ); @@ -815,7 +807,11 @@ abstract class CI_DB_forge { $this->_attr_auto_increment($attributes, $field); $this->_attr_unique($attributes, $field); - $this->_attr_comment($attributes, $field); + + if (isset($attributes['COMMENT'])) + { + $field['comment'] = $this->db->escape($attributes['COMMENT']); + } if (isset($attributes['TYPE']) && ! empty($attributes['CONSTRAINT'])) { @@ -858,8 +854,7 @@ abstract class CI_DB_forge { .$field['default'] .$field['null'] .$field['auto_increment'] - .$field['unique'] - .$field['comment']; + .$field['unique']; } // -------------------------------------------------------------------- @@ -996,28 +991,6 @@ abstract class CI_DB_forge { // -------------------------------------------------------------------- - /** - * Field attribute COMMENT - * - * @param array &$attributes - * @param array &$field - * @return void - */ - protected function _attr_comment(&$attributes, &$field) - { - if ($this->_comment === FALSE) - { - return; - } - - if (!empty($attributes['COMMENT'])) - { - $field['comment'] = $this->_default.$this->db->escape($attributes['COMMENT']); - } - } - - // -------------------------------------------------------------------- - /** * Process primary keys * diff --git a/system/database/drivers/mysql/mysql_forge.php b/system/database/drivers/mysql/mysql_forge.php index ee89e1d80..282e2d1d8 100644 --- a/system/database/drivers/mysql/mysql_forge.php +++ b/system/database/drivers/mysql/mysql_forge.php @@ -185,6 +185,8 @@ class CI_DB_mysql_forge extends CI_DB_forge { $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,7 +195,7 @@ class CI_DB_mysql_forge extends CI_DB_forge { .$field['default'] .$field['auto_increment'] .$field['unique'] - .$field['comment'] + .$comment_clause .$extra_clause; } diff --git a/system/database/drivers/mysqli/mysqli_forge.php b/system/database/drivers/mysqli/mysqli_forge.php index e37bd1b80..38f624909 100644 --- a/system/database/drivers/mysqli/mysqli_forge.php +++ b/system/database/drivers/mysqli/mysqli_forge.php @@ -187,6 +187,8 @@ class CI_DB_mysqli_forge extends CI_DB_forge { $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,7 +197,7 @@ class CI_DB_mysqli_forge extends CI_DB_forge { .$field['default'] .$field['auto_increment'] .$field['unique'] - .$field['comment'] + .$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 2152dea30..2e988c3f5 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 @@ class CI_DB_pdo_mysql_forge extends CI_DB_pdo_forge { $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,7 +209,7 @@ class CI_DB_pdo_mysql_forge extends CI_DB_pdo_forge { .$field['default'] .$field['auto_increment'] .$field['unique'] - .$field['comment'] + .$comment_clause .$extra_clause; } -- cgit v1.2.3-24-g4f1b