mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2024-11-15 03:18:26 +00:00
Fix length reflection in SQLServer
Don't reflect TEXT column lengths in SQLServer. Because SQLServer text columns hold ~2GB of data there is no meaningful length to them. Refs #5506
This commit is contained in:
parent
843ddd6d36
commit
ec57fb4579
2 changed files with 18 additions and 0 deletions
|
@ -474,6 +474,9 @@ class Sqlserver extends DboSource {
|
|||
if (in_array($length->Type, array('nchar', 'nvarchar'))) {
|
||||
return floor($length->Length / 2);
|
||||
}
|
||||
if ($length->Type === 'text') {
|
||||
return null;
|
||||
}
|
||||
return $length->Length;
|
||||
}
|
||||
return parent::length($length);
|
||||
|
|
|
@ -449,6 +449,15 @@ class SqlserverTest extends CakeTestCase {
|
|||
'Null' => 'YES',
|
||||
'Size' => '0',
|
||||
),
|
||||
(object)array(
|
||||
'Default' => null,
|
||||
'Field' => 'description',
|
||||
'Key' => '0',
|
||||
'Type' => 'text',
|
||||
'Length' => 16,
|
||||
'Null' => 'YES',
|
||||
'Size' => '0',
|
||||
),
|
||||
));
|
||||
$this->db->executeResultsStack = array($SqlserverTableDescription);
|
||||
$dummyModel = $this->model;
|
||||
|
@ -485,6 +494,12 @@ class SqlserverTest extends CakeTestCase {
|
|||
'default' => null,
|
||||
'length' => 8,
|
||||
),
|
||||
'description' => array(
|
||||
'type' => 'text',
|
||||
'null' => true,
|
||||
'default' => null,
|
||||
'length' => null,
|
||||
)
|
||||
);
|
||||
$this->assertEquals($expected, $result);
|
||||
$this->assertSame($expected['parent_id'], $result['parent_id']);
|
||||
|
|
Loading…
Reference in a new issue