From bdb96ca1b1dbfc1791172fd169d7751cbc4d7d55 Mon Sep 17 00:00:00 2001 From: Andrey Andreev Date: Tue, 28 Oct 2014 00:13:31 +0200 Subject: [ci skip] Switch to MIT license; close #3293 --- system/database/DB_forge.php | 39 +++++++++++++++++++++++++-------------- 1 file changed, 25 insertions(+), 14 deletions(-) (limited to 'system/database/DB_forge.php') diff --git a/system/database/DB_forge.php b/system/database/DB_forge.php index 2dd243cae..aa8bbbe3f 100644 --- a/system/database/DB_forge.php +++ b/system/database/DB_forge.php @@ -4,24 +4,35 @@ * * An open source application development framework for PHP 5.2.4 or newer * - * NOTICE OF LICENSE + * This content is released under the MIT License (MIT) * - * Licensed under the Open Software License version 3.0 + * Copyright (c) 2014, British Columbia Institute of Technology * - * This source file is subject to the Open Software License (OSL 3.0) that is - * bundled with this package in the files license.txt / license.rst. It is - * also available through the world wide web at this URL: - * http://opensource.org/licenses/OSL-3.0 - * If you did not receive a copy of the license and are unable to obtain it - * through the world wide web, please send an email to - * licensing@ellislab.com so we can send you a copy immediately. + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: * - * @package CodeIgniter - * @author EllisLab Dev Team + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * + * @package CodeIgniter + * @author EllisLab Dev Team * @copyright Copyright (c) 2008 - 2014, EllisLab, Inc. (http://ellislab.com/) - * @license http://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) - * @link http://codeigniter.com - * @since Version 1.0 + * @copyright Copyright (c) 2014, British Columbia Institute of Technology (http://bcit.ca/) + * @license http://opensource.org/licenses/MIT MIT License + * @link http://codeigniter.com + * @since Version 1.0.0 * @filesource */ defined('BASEPATH') OR exit('No direct script access allowed'); -- cgit v1.2.3-24-g4f1b From 24fbc61e4a46c1e9f185c36629960dce0bad71e2 Mon Sep 17 00:00:00 2001 From: Zachary Flower Date: Sun, 2 Nov 2014 21:50:15 -0700 Subject: Add support for the COMMENT field in DBForge and MySQL Forge classes (pdo, mysql, and mysqli) Signed-off-by: Zachary Flower --- system/database/DB_forge.php | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'system/database/DB_forge.php') diff --git a/system/database/DB_forge.php b/system/database/DB_forge.php index aa8bbbe3f..df3b90be6 100644 --- a/system/database/DB_forge.php +++ b/system/database/DB_forge.php @@ -156,6 +156,13 @@ abstract class CI_DB_forge { */ protected $_default = ' DEFAULT '; + /** + * COMMENT value representation in CREATE/ALTER TABLE statements + * + * @var string + */ + protected $_comment = ' COMMENT '; + // -------------------------------------------------------------------- /** @@ -849,6 +856,7 @@ abstract class CI_DB_forge { .$field['default'] .$field['null'] .$field['auto_increment'] + .$field['comment'] .$field['unique']; } @@ -986,6 +994,28 @@ 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 * -- cgit v1.2.3-24-g4f1b From e59347dd1665078beb41a1e6ca1b12932b489336 Mon Sep 17 00:00:00 2001 From: Zachary Flower Date: Mon, 3 Nov 2014 08:34:12 -0700 Subject: Ensure forge comments are actually getting parsed Signed-off-by: Zachary Flower --- system/database/DB_forge.php | 2 ++ 1 file changed, 2 insertions(+) (limited to 'system/database/DB_forge.php') diff --git a/system/database/DB_forge.php b/system/database/DB_forge.php index df3b90be6..6dc2a4514 100644 --- a/system/database/DB_forge.php +++ b/system/database/DB_forge.php @@ -777,6 +777,7 @@ abstract class CI_DB_forge { 'unique' => '', 'default' => '', 'auto_increment' => '', + 'comment' => '', '_literal' => FALSE ); @@ -813,6 +814,7 @@ abstract class CI_DB_forge { } $this->_attr_auto_increment($attributes, $field); + $this->_attr_comment($attributes, $field); $this->_attr_unique($attributes, $field); if (isset($attributes['TYPE']) && ! empty($attributes['CONSTRAINT'])) -- cgit v1.2.3-24-g4f1b From 12ee7a1a74e45b1369876ea945ae3347da046087 Mon Sep 17 00:00:00 2001 From: Zachary Flower Date: Mon, 3 Nov 2014 08:38:41 -0700 Subject: Move comment field after unique field in db forge --- system/database/DB_forge.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'system/database/DB_forge.php') diff --git a/system/database/DB_forge.php b/system/database/DB_forge.php index 6dc2a4514..0317489f6 100644 --- a/system/database/DB_forge.php +++ b/system/database/DB_forge.php @@ -814,8 +814,8 @@ abstract class CI_DB_forge { } $this->_attr_auto_increment($attributes, $field); - $this->_attr_comment($attributes, $field); $this->_attr_unique($attributes, $field); + $this->_attr_comment($attributes, $field); if (isset($attributes['TYPE']) && ! empty($attributes['CONSTRAINT'])) { @@ -858,8 +858,8 @@ abstract class CI_DB_forge { .$field['default'] .$field['null'] .$field['auto_increment'] - .$field['comment'] - .$field['unique']; + .$field['unique'] + .$field['comment']; } // -------------------------------------------------------------------- -- cgit v1.2.3-24-g4f1b 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 ++++++--------------------------------- 1 file changed, 6 insertions(+), 33 deletions(-) (limited to 'system/database/DB_forge.php') 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 * -- cgit v1.2.3-24-g4f1b