mirror of
				https://github.com/yiisoft/yii2.git
				synced 2025-11-04 06:37:55 +08:00 
			
		
		
		
	Fix #17413: Fixed MSSQL tests: QueryBuilderTest::testGetColumnType(), QueryBuilderTest::testResetSequence()
				
					
				
			This commit is contained in:
		
				
					committed by
					
						
						Alexander Makarov
					
				
			
			
				
	
			
			
			
						parent
						
							2b9374558b
						
					
				
				
					commit
					55b06d2364
				
			@ -4,7 +4,7 @@ Yii Framework 2 Change Log
 | 
				
			|||||||
2.0.23 under development
 | 
					2.0.23 under development
 | 
				
			||||||
------------------------
 | 
					------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- no changes in this release.
 | 
					- Bug #17413: Fixed MSSQL tests: `QueryBuilderTest::testGetColumnType()`, `QueryBuilderTest::testResetSequence()` (alexkart)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
2.0.22 July 02, 2019
 | 
					2.0.22 July 02, 2019
 | 
				
			||||||
 | 
				
			|||||||
@ -416,4 +416,17 @@ class QueryBuilder extends \yii\db\QueryBuilder
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
        return parent::update($table, $this->normalizeTableRowData($table, $columns, $params), $condition, $params);
 | 
					        return parent::update($table, $this->normalizeTableRowData($table, $columns, $params), $condition, $params);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * {@inheritdoc}
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public function getColumnType($type)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        $columnType = parent::getColumnType($type);
 | 
				
			||||||
 | 
					        // remove unsupported keywords
 | 
				
			||||||
 | 
					        $columnType = preg_replace("/\s*comment '.*'/i", '', $columnType);
 | 
				
			||||||
 | 
					        $columnType = preg_replace('/ first$/i', '', $columnType);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        return $columnType;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -7,6 +7,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
namespace yiiunit\framework\db;
 | 
					namespace yiiunit\framework\db;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use yii\db\ColumnSchemaBuilder;
 | 
				
			||||||
use yii\db\conditions\BetweenColumnsCondition;
 | 
					use yii\db\conditions\BetweenColumnsCondition;
 | 
				
			||||||
use yii\db\cubrid\QueryBuilder as CubridQueryBuilder;
 | 
					use yii\db\cubrid\QueryBuilder as CubridQueryBuilder;
 | 
				
			||||||
use yii\db\Expression;
 | 
					use yii\db\Expression;
 | 
				
			||||||
@ -163,7 +164,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
 | 
				
			|||||||
                [
 | 
					                [
 | 
				
			||||||
                    'mysql' => 'tinyint(1) NOT NULL DEFAULT 1',
 | 
					                    'mysql' => 'tinyint(1) NOT NULL DEFAULT 1',
 | 
				
			||||||
                    'sqlite' => 'boolean NOT NULL DEFAULT 1',
 | 
					                    'sqlite' => 'boolean NOT NULL DEFAULT 1',
 | 
				
			||||||
                    'sqlsrv' => 'tinyint(1) NOT NULL DEFAULT 1',
 | 
					                    'sqlsrv' => 'bit NOT NULL DEFAULT 1',
 | 
				
			||||||
                    'cubrid' => 'smallint NOT NULL DEFAULT 1',
 | 
					                    'cubrid' => 'smallint NOT NULL DEFAULT 1',
 | 
				
			||||||
                ],
 | 
					                ],
 | 
				
			||||||
            ],
 | 
					            ],
 | 
				
			||||||
@ -175,7 +176,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
 | 
				
			|||||||
                    'postgres' => 'boolean',
 | 
					                    'postgres' => 'boolean',
 | 
				
			||||||
                    'sqlite' => 'boolean',
 | 
					                    'sqlite' => 'boolean',
 | 
				
			||||||
                    'oci' => 'NUMBER(1)',
 | 
					                    'oci' => 'NUMBER(1)',
 | 
				
			||||||
                    'sqlsrv' => 'tinyint(1)',
 | 
					                    'sqlsrv' => 'bit',
 | 
				
			||||||
                    'cubrid' => 'smallint',
 | 
					                    'cubrid' => 'smallint',
 | 
				
			||||||
                ],
 | 
					                ],
 | 
				
			||||||
            ],
 | 
					            ],
 | 
				
			||||||
@ -666,7 +667,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
 | 
				
			|||||||
                    'postgres' => 'smallint',
 | 
					                    'postgres' => 'smallint',
 | 
				
			||||||
                    'sqlite' => 'tinyint',
 | 
					                    'sqlite' => 'tinyint',
 | 
				
			||||||
                    'oci' => 'NUMBER(3)',
 | 
					                    'oci' => 'NUMBER(3)',
 | 
				
			||||||
                    'sqlsrv' => 'smallint',
 | 
					                    'sqlsrv' => 'tinyint',
 | 
				
			||||||
                    'cubrid' => 'smallint',
 | 
					                    'cubrid' => 'smallint',
 | 
				
			||||||
                ],
 | 
					                ],
 | 
				
			||||||
            ],
 | 
					            ],
 | 
				
			||||||
@ -700,7 +701,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
 | 
				
			|||||||
                [
 | 
					                [
 | 
				
			||||||
                    'mysql' => 'varchar(255) CHECK (value LIKE "test%")',
 | 
					                    'mysql' => 'varchar(255) CHECK (value LIKE "test%")',
 | 
				
			||||||
                    'sqlite' => 'varchar(255) CHECK (value LIKE "test%")',
 | 
					                    'sqlite' => 'varchar(255) CHECK (value LIKE "test%")',
 | 
				
			||||||
                    'sqlsrv' => 'varchar(255) CHECK (value LIKE "test%")',
 | 
					                    'sqlsrv' => 'nvarchar(255) CHECK (value LIKE "test%")',
 | 
				
			||||||
                    'cubrid' => 'varchar(255) CHECK (value LIKE "test%")',
 | 
					                    'cubrid' => 'varchar(255) CHECK (value LIKE "test%")',
 | 
				
			||||||
                ],
 | 
					                ],
 | 
				
			||||||
            ],
 | 
					            ],
 | 
				
			||||||
@ -720,7 +721,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
 | 
				
			|||||||
                    'postgres' => 'varchar(255) NOT NULL',
 | 
					                    'postgres' => 'varchar(255) NOT NULL',
 | 
				
			||||||
                    'sqlite' => 'varchar(255) NOT NULL',
 | 
					                    'sqlite' => 'varchar(255) NOT NULL',
 | 
				
			||||||
                    'oci' => 'VARCHAR2(255) NOT NULL',
 | 
					                    'oci' => 'VARCHAR2(255) NOT NULL',
 | 
				
			||||||
                    'sqlsrv' => 'varchar(255) NOT NULL',
 | 
					                    'sqlsrv' => 'nvarchar(255) NOT NULL',
 | 
				
			||||||
                    'cubrid' => 'varchar(255) NOT NULL',
 | 
					                    'cubrid' => 'varchar(255) NOT NULL',
 | 
				
			||||||
                ],
 | 
					                ],
 | 
				
			||||||
            ],
 | 
					            ],
 | 
				
			||||||
@ -730,7 +731,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
 | 
				
			|||||||
                [
 | 
					                [
 | 
				
			||||||
                    'mysql' => 'varchar(32) CHECK (value LIKE "test%")',
 | 
					                    'mysql' => 'varchar(32) CHECK (value LIKE "test%")',
 | 
				
			||||||
                    'sqlite' => 'varchar(32) CHECK (value LIKE "test%")',
 | 
					                    'sqlite' => 'varchar(32) CHECK (value LIKE "test%")',
 | 
				
			||||||
                    'sqlsrv' => 'varchar(32) CHECK (value LIKE "test%")',
 | 
					                    'sqlsrv' => 'nvarchar(32) CHECK (value LIKE "test%")',
 | 
				
			||||||
                    'cubrid' => 'varchar(32) CHECK (value LIKE "test%")',
 | 
					                    'cubrid' => 'varchar(32) CHECK (value LIKE "test%")',
 | 
				
			||||||
                ],
 | 
					                ],
 | 
				
			||||||
            ],
 | 
					            ],
 | 
				
			||||||
@ -750,7 +751,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
 | 
				
			|||||||
                    'postgres' => 'varchar(32)',
 | 
					                    'postgres' => 'varchar(32)',
 | 
				
			||||||
                    'sqlite' => 'varchar(32)',
 | 
					                    'sqlite' => 'varchar(32)',
 | 
				
			||||||
                    'oci' => 'VARCHAR2(32)',
 | 
					                    'oci' => 'VARCHAR2(32)',
 | 
				
			||||||
                    'sqlsrv' => 'varchar(32)',
 | 
					                    'sqlsrv' => 'nvarchar(32)',
 | 
				
			||||||
                    'cubrid' => 'varchar(32)',
 | 
					                    'cubrid' => 'varchar(32)',
 | 
				
			||||||
                ],
 | 
					                ],
 | 
				
			||||||
            ],
 | 
					            ],
 | 
				
			||||||
@ -762,7 +763,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
 | 
				
			|||||||
                    'postgres' => 'varchar(255)',
 | 
					                    'postgres' => 'varchar(255)',
 | 
				
			||||||
                    'sqlite' => 'varchar(255)',
 | 
					                    'sqlite' => 'varchar(255)',
 | 
				
			||||||
                    'oci' => 'VARCHAR2(255)',
 | 
					                    'oci' => 'VARCHAR2(255)',
 | 
				
			||||||
                    'sqlsrv' => 'varchar(255)',
 | 
					                    'sqlsrv' => 'nvarchar(255)',
 | 
				
			||||||
                    'cubrid' => 'varchar(255)',
 | 
					                    'cubrid' => 'varchar(255)',
 | 
				
			||||||
                ],
 | 
					                ],
 | 
				
			||||||
            ],
 | 
					            ],
 | 
				
			||||||
@ -772,7 +773,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
 | 
				
			|||||||
                [
 | 
					                [
 | 
				
			||||||
                    'mysql' => 'text CHECK (value LIKE "test%")',
 | 
					                    'mysql' => 'text CHECK (value LIKE "test%")',
 | 
				
			||||||
                    'sqlite' => 'text CHECK (value LIKE "test%")',
 | 
					                    'sqlite' => 'text CHECK (value LIKE "test%")',
 | 
				
			||||||
                    'sqlsrv' => 'text CHECK (value LIKE "test%")',
 | 
					                    'sqlsrv' => 'nvarchar(max) CHECK (value LIKE "test%")',
 | 
				
			||||||
                    'cubrid' => 'varchar CHECK (value LIKE "test%")',
 | 
					                    'cubrid' => 'varchar CHECK (value LIKE "test%")',
 | 
				
			||||||
                ],
 | 
					                ],
 | 
				
			||||||
            ],
 | 
					            ],
 | 
				
			||||||
@ -792,24 +793,24 @@ abstract class QueryBuilderTest extends DatabaseTestCase
 | 
				
			|||||||
                    'postgres' => 'text NOT NULL',
 | 
					                    'postgres' => 'text NOT NULL',
 | 
				
			||||||
                    'sqlite' => 'text NOT NULL',
 | 
					                    'sqlite' => 'text NOT NULL',
 | 
				
			||||||
                    'oci' => 'CLOB NOT NULL',
 | 
					                    'oci' => 'CLOB NOT NULL',
 | 
				
			||||||
                    'sqlsrv' => 'text NOT NULL',
 | 
					                    'sqlsrv' => 'nvarchar(max) NOT NULL',
 | 
				
			||||||
                    'cubrid' => 'varchar NOT NULL',
 | 
					                    'cubrid' => 'varchar NOT NULL',
 | 
				
			||||||
                ],
 | 
					                ],
 | 
				
			||||||
            ],
 | 
					            ],
 | 
				
			||||||
            [
 | 
					            [
 | 
				
			||||||
                Schema::TYPE_TEXT . '(255) CHECK (value LIKE "test%")',
 | 
					                Schema::TYPE_TEXT . ' CHECK (value LIKE "test%")',
 | 
				
			||||||
                $this->text(255)->check('value LIKE "test%"'),
 | 
					                $this->text()->check('value LIKE "test%"'),
 | 
				
			||||||
                [
 | 
					                [
 | 
				
			||||||
                    'mysql' => 'text CHECK (value LIKE "test%")',
 | 
					                    'mysql' => 'text CHECK (value LIKE "test%")',
 | 
				
			||||||
                    'sqlite' => 'text CHECK (value LIKE "test%")',
 | 
					                    'sqlite' => 'text CHECK (value LIKE "test%")',
 | 
				
			||||||
                    'sqlsrv' => 'text CHECK (value LIKE "test%")',
 | 
					                    'sqlsrv' => 'nvarchar(max) CHECK (value LIKE "test%")',
 | 
				
			||||||
                    'cubrid' => 'varchar CHECK (value LIKE "test%")',
 | 
					                    'cubrid' => 'varchar CHECK (value LIKE "test%")',
 | 
				
			||||||
                ],
 | 
					                ],
 | 
				
			||||||
                Schema::TYPE_TEXT . ' CHECK (value LIKE "test%")',
 | 
					                Schema::TYPE_TEXT . ' CHECK (value LIKE "test%")',
 | 
				
			||||||
            ],
 | 
					            ],
 | 
				
			||||||
            [
 | 
					            [
 | 
				
			||||||
                Schema::TYPE_TEXT . '(255) CHECK (value LIKE \'test%\')',
 | 
					                Schema::TYPE_TEXT . ' CHECK (value LIKE \'test%\')',
 | 
				
			||||||
                $this->text(255)->check('value LIKE \'test%\''),
 | 
					                $this->text()->check('value LIKE \'test%\''),
 | 
				
			||||||
                [
 | 
					                [
 | 
				
			||||||
                    'postgres' => 'text CHECK (value LIKE \'test%\')',
 | 
					                    'postgres' => 'text CHECK (value LIKE \'test%\')',
 | 
				
			||||||
                    'oci' => 'CLOB CHECK (value LIKE \'test%\')',
 | 
					                    'oci' => 'CLOB CHECK (value LIKE \'test%\')',
 | 
				
			||||||
@ -817,27 +818,27 @@ abstract class QueryBuilderTest extends DatabaseTestCase
 | 
				
			|||||||
                Schema::TYPE_TEXT . ' CHECK (value LIKE \'test%\')',
 | 
					                Schema::TYPE_TEXT . ' CHECK (value LIKE \'test%\')',
 | 
				
			||||||
            ],
 | 
					            ],
 | 
				
			||||||
            [
 | 
					            [
 | 
				
			||||||
                Schema::TYPE_TEXT . '(255) NOT NULL',
 | 
					                Schema::TYPE_TEXT . ' NOT NULL',
 | 
				
			||||||
                $this->text(255)->notNull(),
 | 
					                $this->text()->notNull(),
 | 
				
			||||||
                [
 | 
					                [
 | 
				
			||||||
                    'mysql' => 'text NOT NULL',
 | 
					                    'mysql' => 'text NOT NULL',
 | 
				
			||||||
                    'postgres' => 'text NOT NULL',
 | 
					                    'postgres' => 'text NOT NULL',
 | 
				
			||||||
                    'sqlite' => 'text NOT NULL',
 | 
					                    'sqlite' => 'text NOT NULL',
 | 
				
			||||||
                    'oci' => 'CLOB NOT NULL',
 | 
					                    'oci' => 'CLOB NOT NULL',
 | 
				
			||||||
                    'sqlsrv' => 'text NOT NULL',
 | 
					                    'sqlsrv' => 'nvarchar(max) NOT NULL',
 | 
				
			||||||
                    'cubrid' => 'varchar NOT NULL',
 | 
					                    'cubrid' => 'varchar NOT NULL',
 | 
				
			||||||
                ],
 | 
					                ],
 | 
				
			||||||
                Schema::TYPE_TEXT . ' NOT NULL',
 | 
					                Schema::TYPE_TEXT . ' NOT NULL',
 | 
				
			||||||
            ],
 | 
					            ],
 | 
				
			||||||
            [
 | 
					            [
 | 
				
			||||||
                Schema::TYPE_TEXT . '(255)',
 | 
					                Schema::TYPE_TEXT,
 | 
				
			||||||
                $this->text(255),
 | 
					                $this->text(),
 | 
				
			||||||
                [
 | 
					                [
 | 
				
			||||||
                    'mysql' => 'text',
 | 
					                    'mysql' => 'text',
 | 
				
			||||||
                    'postgres' => 'text',
 | 
					                    'postgres' => 'text',
 | 
				
			||||||
                    'sqlite' => 'text',
 | 
					                    'sqlite' => 'text',
 | 
				
			||||||
                    'oci' => 'CLOB',
 | 
					                    'oci' => 'CLOB',
 | 
				
			||||||
                    'sqlsrv' => 'text',
 | 
					                    'sqlsrv' => 'nvarchar(max)',
 | 
				
			||||||
                    'cubrid' => 'varchar',
 | 
					                    'cubrid' => 'varchar',
 | 
				
			||||||
                ],
 | 
					                ],
 | 
				
			||||||
                Schema::TYPE_TEXT,
 | 
					                Schema::TYPE_TEXT,
 | 
				
			||||||
@ -850,7 +851,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
 | 
				
			|||||||
                    'postgres' => 'text',
 | 
					                    'postgres' => 'text',
 | 
				
			||||||
                    'sqlite' => 'text',
 | 
					                    'sqlite' => 'text',
 | 
				
			||||||
                    'oci' => 'CLOB',
 | 
					                    'oci' => 'CLOB',
 | 
				
			||||||
                    'sqlsrv' => 'text',
 | 
					                    'sqlsrv' => 'nvarchar(max)',
 | 
				
			||||||
                    'cubrid' => 'varchar',
 | 
					                    'cubrid' => 'varchar',
 | 
				
			||||||
                ],
 | 
					                ],
 | 
				
			||||||
            ],
 | 
					            ],
 | 
				
			||||||
@ -905,7 +906,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
 | 
				
			|||||||
                    'postgres' => 'timestamp(0) NOT NULL',
 | 
					                    'postgres' => 'timestamp(0) NOT NULL',
 | 
				
			||||||
                    'sqlite' => 'timestamp NOT NULL',
 | 
					                    'sqlite' => 'timestamp NOT NULL',
 | 
				
			||||||
                    'oci' => 'TIMESTAMP NOT NULL',
 | 
					                    'oci' => 'TIMESTAMP NOT NULL',
 | 
				
			||||||
                    'sqlsrv' => 'timestamp NOT NULL',
 | 
					                    'sqlsrv' => 'datetime NOT NULL',
 | 
				
			||||||
                    'cubrid' => 'timestamp NOT NULL',
 | 
					                    'cubrid' => 'timestamp NOT NULL',
 | 
				
			||||||
                ],
 | 
					                ],
 | 
				
			||||||
            ],
 | 
					            ],
 | 
				
			||||||
@ -921,7 +922,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
 | 
				
			|||||||
                    'postgres' => 'timestamp(0)',
 | 
					                    'postgres' => 'timestamp(0)',
 | 
				
			||||||
                    'sqlite' => 'timestamp',
 | 
					                    'sqlite' => 'timestamp',
 | 
				
			||||||
                    'oci' => 'TIMESTAMP',
 | 
					                    'oci' => 'TIMESTAMP',
 | 
				
			||||||
                    'sqlsrv' => 'timestamp',
 | 
					                    'sqlsrv' => 'datetime',
 | 
				
			||||||
                    'cubrid' => 'timestamp',
 | 
					                    'cubrid' => 'timestamp',
 | 
				
			||||||
                ],
 | 
					                ],
 | 
				
			||||||
            ],
 | 
					            ],
 | 
				
			||||||
@ -931,7 +932,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
 | 
				
			|||||||
                [
 | 
					                [
 | 
				
			||||||
                    'postgres' => 'timestamp(0) NULL DEFAULT NULL',
 | 
					                    'postgres' => 'timestamp(0) NULL DEFAULT NULL',
 | 
				
			||||||
                    'sqlite' => 'timestamp NULL DEFAULT NULL',
 | 
					                    'sqlite' => 'timestamp NULL DEFAULT NULL',
 | 
				
			||||||
                    'sqlsrv' => 'timestamp NULL DEFAULT NULL',
 | 
					                    'sqlsrv' => 'datetime NULL DEFAULT NULL',
 | 
				
			||||||
                    'cubrid' => 'timestamp NULL DEFAULT NULL',
 | 
					                    'cubrid' => 'timestamp NULL DEFAULT NULL',
 | 
				
			||||||
                ],
 | 
					                ],
 | 
				
			||||||
            ],
 | 
					            ],
 | 
				
			||||||
@ -962,6 +963,9 @@ abstract class QueryBuilderTest extends DatabaseTestCase
 | 
				
			|||||||
                    'sqlsrv' => 'int',
 | 
					                    'sqlsrv' => 'int',
 | 
				
			||||||
                    'cubrid' => "int COMMENT 'test comment'",
 | 
					                    'cubrid' => "int COMMENT 'test comment'",
 | 
				
			||||||
                ],
 | 
					                ],
 | 
				
			||||||
 | 
					                [
 | 
				
			||||||
 | 
					                    'sqlsrv' => 'integer',
 | 
				
			||||||
 | 
					                ]
 | 
				
			||||||
            ],
 | 
					            ],
 | 
				
			||||||
            [
 | 
					            [
 | 
				
			||||||
                Schema::TYPE_PK . " COMMENT 'test comment'",
 | 
					                Schema::TYPE_PK . " COMMENT 'test comment'",
 | 
				
			||||||
@ -972,6 +976,9 @@ abstract class QueryBuilderTest extends DatabaseTestCase
 | 
				
			|||||||
                    'sqlsrv' => 'int IDENTITY PRIMARY KEY',
 | 
					                    'sqlsrv' => 'int IDENTITY PRIMARY KEY',
 | 
				
			||||||
                    'cubrid' => "int NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT 'test comment'",
 | 
					                    'cubrid' => "int NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT 'test comment'",
 | 
				
			||||||
                ],
 | 
					                ],
 | 
				
			||||||
 | 
					                [
 | 
				
			||||||
 | 
					                    'sqlsrv' => 'pk',
 | 
				
			||||||
 | 
					                ]
 | 
				
			||||||
            ],
 | 
					            ],
 | 
				
			||||||
            [
 | 
					            [
 | 
				
			||||||
                Schema::TYPE_PK . ' FIRST',
 | 
					                Schema::TYPE_PK . ' FIRST',
 | 
				
			||||||
@ -983,6 +990,9 @@ abstract class QueryBuilderTest extends DatabaseTestCase
 | 
				
			|||||||
                    'sqlsrv' => 'int IDENTITY PRIMARY KEY',
 | 
					                    'sqlsrv' => 'int IDENTITY PRIMARY KEY',
 | 
				
			||||||
                    'cubrid' => 'int NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST',
 | 
					                    'cubrid' => 'int NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST',
 | 
				
			||||||
                ],
 | 
					                ],
 | 
				
			||||||
 | 
					                [
 | 
				
			||||||
 | 
					                    'sqlsrv' => 'pk',
 | 
				
			||||||
 | 
					                ]
 | 
				
			||||||
            ],
 | 
					            ],
 | 
				
			||||||
            [
 | 
					            [
 | 
				
			||||||
                Schema::TYPE_INTEGER . ' FIRST',
 | 
					                Schema::TYPE_INTEGER . ' FIRST',
 | 
				
			||||||
@ -994,6 +1004,9 @@ abstract class QueryBuilderTest extends DatabaseTestCase
 | 
				
			|||||||
                    'sqlsrv' => 'int',
 | 
					                    'sqlsrv' => 'int',
 | 
				
			||||||
                    'cubrid' => 'int FIRST',
 | 
					                    'cubrid' => 'int FIRST',
 | 
				
			||||||
                ],
 | 
					                ],
 | 
				
			||||||
 | 
					                [
 | 
				
			||||||
 | 
					                    'sqlsrv' => 'integer',
 | 
				
			||||||
 | 
					                ]
 | 
				
			||||||
            ],
 | 
					            ],
 | 
				
			||||||
            [
 | 
					            [
 | 
				
			||||||
                Schema::TYPE_STRING . ' FIRST',
 | 
					                Schema::TYPE_STRING . ' FIRST',
 | 
				
			||||||
@ -1002,9 +1015,12 @@ abstract class QueryBuilderTest extends DatabaseTestCase
 | 
				
			|||||||
                    'mysql' => 'varchar(255) FIRST',
 | 
					                    'mysql' => 'varchar(255) FIRST',
 | 
				
			||||||
                    'postgres' => 'varchar(255)',
 | 
					                    'postgres' => 'varchar(255)',
 | 
				
			||||||
                    'oci' => 'VARCHAR2(255)',
 | 
					                    'oci' => 'VARCHAR2(255)',
 | 
				
			||||||
                    'sqlsrv' => 'varchar(255)',
 | 
					                    'sqlsrv' => 'nvarchar(255)',
 | 
				
			||||||
                    'cubrid' => 'varchar(255) FIRST',
 | 
					                    'cubrid' => 'varchar(255) FIRST',
 | 
				
			||||||
                ],
 | 
					                ],
 | 
				
			||||||
 | 
					                [
 | 
				
			||||||
 | 
					                    'sqlsrv' => 'string',
 | 
				
			||||||
 | 
					                ]
 | 
				
			||||||
            ],
 | 
					            ],
 | 
				
			||||||
            [
 | 
					            [
 | 
				
			||||||
                Schema::TYPE_INTEGER . ' NOT NULL FIRST',
 | 
					                Schema::TYPE_INTEGER . ' NOT NULL FIRST',
 | 
				
			||||||
@ -1016,6 +1032,9 @@ abstract class QueryBuilderTest extends DatabaseTestCase
 | 
				
			|||||||
                    'sqlsrv' => 'int NOT NULL',
 | 
					                    'sqlsrv' => 'int NOT NULL',
 | 
				
			||||||
                    'cubrid' => 'int NOT NULL FIRST',
 | 
					                    'cubrid' => 'int NOT NULL FIRST',
 | 
				
			||||||
                ],
 | 
					                ],
 | 
				
			||||||
 | 
					                [
 | 
				
			||||||
 | 
					                    'sqlsrv' => 'integer NOT NULL',
 | 
				
			||||||
 | 
					                ]
 | 
				
			||||||
            ],
 | 
					            ],
 | 
				
			||||||
            [
 | 
					            [
 | 
				
			||||||
                Schema::TYPE_STRING . ' NOT NULL FIRST',
 | 
					                Schema::TYPE_STRING . ' NOT NULL FIRST',
 | 
				
			||||||
@ -1024,9 +1043,12 @@ abstract class QueryBuilderTest extends DatabaseTestCase
 | 
				
			|||||||
                    'mysql' => 'varchar(255) NOT NULL FIRST',
 | 
					                    'mysql' => 'varchar(255) NOT NULL FIRST',
 | 
				
			||||||
                    'postgres' => 'varchar(255) NOT NULL',
 | 
					                    'postgres' => 'varchar(255) NOT NULL',
 | 
				
			||||||
                    'oci' => 'VARCHAR2(255) NOT NULL',
 | 
					                    'oci' => 'VARCHAR2(255) NOT NULL',
 | 
				
			||||||
                    'sqlsrv' => 'varchar(255) NOT NULL',
 | 
					                    'sqlsrv' => 'nvarchar(255) NOT NULL',
 | 
				
			||||||
                    'cubrid' => 'varchar(255) NOT NULL FIRST',
 | 
					                    'cubrid' => 'varchar(255) NOT NULL FIRST',
 | 
				
			||||||
                ],
 | 
					                ],
 | 
				
			||||||
 | 
					                [
 | 
				
			||||||
 | 
					                    'sqlsrv' => 'string NOT NULL',
 | 
				
			||||||
 | 
					                ]
 | 
				
			||||||
            ],
 | 
					            ],
 | 
				
			||||||
        ];
 | 
					        ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1044,15 +1066,18 @@ abstract class QueryBuilderTest extends DatabaseTestCase
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    public function testGetColumnType()
 | 
					    public function testGetColumnType()
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        if ($this->driverName === 'sqlsrv') {
 | 
					 | 
				
			||||||
            $this->markTestSkipped('Should be fixed');
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        $qb = $this->getQueryBuilder();
 | 
					        $qb = $this->getQueryBuilder();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        foreach ($this->columnTypes() as $item) {
 | 
					        foreach ($this->columnTypes() as $item) {
 | 
				
			||||||
 | 
					            /** @var ColumnSchemaBuilder $builder */
 | 
				
			||||||
            list($column, $builder, $expected) = $item;
 | 
					            list($column, $builder, $expected) = $item;
 | 
				
			||||||
            $expectedColumnSchemaBuilder = isset($item[3]) ? $item[3] : $column;
 | 
					            if (isset($item[3][$this->driverName])) {
 | 
				
			||||||
 | 
					                $expectedColumnSchemaBuilder = $item[3][$this->driverName];
 | 
				
			||||||
 | 
					            } elseif (isset($item[3]) && !is_array($item[3])) {
 | 
				
			||||||
 | 
					                $expectedColumnSchemaBuilder = $item[3];
 | 
				
			||||||
 | 
					            } else {
 | 
				
			||||||
 | 
					                $expectedColumnSchemaBuilder = $column;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            $this->assertEquals($expected, $qb->getColumnType($column));
 | 
					            $this->assertEquals($expected, $qb->getColumnType($column));
 | 
				
			||||||
            $this->assertEquals($expected, $qb->getColumnType($builder));
 | 
					            $this->assertEquals($expected, $qb->getColumnType($builder));
 | 
				
			||||||
 | 
				
			|||||||
@ -121,17 +121,13 @@ class QueryBuilderTest extends \yiiunit\framework\db\QueryBuilderTest
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    public function testResetSequence()
 | 
					    public function testResetSequence()
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        if ($this->driverName === 'sqlsrv') {
 | 
					 | 
				
			||||||
            $this->markTestSkipped('Should be fixed');
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        $qb = $this->getQueryBuilder();
 | 
					        $qb = $this->getQueryBuilder();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $expected = "DBCC CHECKIDENT ('[item]', RESEED, (SELECT COALESCE(MAX([id]),0) FROM [item])+1)";
 | 
					        $expected = "DBCC CHECKIDENT ('[item]', RESEED, (SELECT COALESCE(MAX([id]),0) FROM [item])+1)";
 | 
				
			||||||
        $sql = $qb->resetSequence('item');
 | 
					        $sql = $qb->resetSequence('item');
 | 
				
			||||||
        $this->assertEquals($expected, $sql);
 | 
					        $this->assertEquals($expected, $sql);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $expected = "DBCC CHECKIDENT ('[item], RESEED, 4)";
 | 
					        $expected = "DBCC CHECKIDENT ('[item]', RESEED, 4)";
 | 
				
			||||||
        $sql = $qb->resetSequence('item', 4);
 | 
					        $sql = $qb->resetSequence('item', 4);
 | 
				
			||||||
        $this->assertEquals($expected, $sql);
 | 
					        $this->assertEquals($expected, $sql);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user