From 44eae0705ba572080989f11e0cf650efb38c0cc5 Mon Sep 17 00:00:00 2001 From: gwoo Date: Thu, 13 Dec 2007 22:08:11 +0000 Subject: [PATCH] updating dbos, fixes #3705 git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@6146 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/model/datasources/dbo/dbo_db2.php | 3 ++- cake/libs/model/datasources/dbo/dbo_firebird.php | 6 ++---- cake/libs/model/datasources/dbo/dbo_mssql.php | 6 +++--- cake/libs/model/datasources/dbo/dbo_sybase.php | 3 ++- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/cake/libs/model/datasources/dbo/dbo_db2.php b/cake/libs/model/datasources/dbo/dbo_db2.php index 3cca93ac4..31b659c1a 100644 --- a/cake/libs/model/datasources/dbo/dbo_db2.php +++ b/cake/libs/model/datasources/dbo/dbo_db2.php @@ -221,9 +221,10 @@ class DboDb2 extends DboSource { while (db2_fetch_row($result)) { $fields[strtolower(db2_result($result, 'COLUMN_NAME'))] = array( - 'type' => strtolower(db2_result($result, 'TYPE_NAME')), + 'type' => $this->column(strtolower(db2_result($result, 'TYPE_NAME'))), 'null' => db2_result($result, 'NULLABLE'), 'default' => db2_result($result, 'COLUMN_DEF')); + 'length' => db2_result($result, 'COLUMN_SIZE'))), } $this->__cacheDescription($model->tablePrefix . $model->table, $fields); return $fields; diff --git a/cake/libs/model/datasources/dbo/dbo_firebird.php b/cake/libs/model/datasources/dbo/dbo_firebird.php index 6ba421463..2921a3bd5 100644 --- a/cake/libs/model/datasources/dbo/dbo_firebird.php +++ b/cake/libs/model/datasources/dbo/dbo_firebird.php @@ -175,7 +175,7 @@ class DboFirebird extends DboSource { Where RDB" . "$" . "SYSTEM_FLAG =0"; $result = @ibase_query($this->connection,$sql); - $tables=array(); + $tables = array(); while ($row = ibase_fetch_row ($result)) { $tables[] = strtolower(trim($row[0])); } @@ -203,10 +203,8 @@ class DboFirebird extends DboSource { for ($i = 0; $i < $coln; $i++) { $col_info = ibase_field_info($rs, $i); - $col_info['type'] = $this->column($col_info['type']); - $fields[strtolower($col_info['name'])] = array( - 'type' => $col_info['type'], + 'type' => $this->column($col_info['type']), 'null' => '', 'length' => $col_info['length'] ); diff --git a/cake/libs/model/datasources/dbo/dbo_mssql.php b/cake/libs/model/datasources/dbo/dbo_mssql.php index d6af9f20a..240115463 100644 --- a/cake/libs/model/datasources/dbo/dbo_mssql.php +++ b/cake/libs/model/datasources/dbo/dbo_mssql.php @@ -210,11 +210,11 @@ class DboMssql extends DboSource { $cols = $this->fetchAll("SELECT COLUMN_NAME as Field, DATA_TYPE as Type, COL_LENGTH('" . $this->fullTableName($model, false) . "', COLUMN_NAME) as Length, IS_NULLABLE As [Null], COLUMN_DEFAULT as [Default], COLUMNPROPERTY(OBJECT_ID('" . $this->fullTableName($model, false) . "'), COLUMN_NAME, 'IsIdentity') as [Key], NUMERIC_SCALE as Size FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '" . $this->fullTableName($model, false) . "'", false); foreach ($cols as $column) { - $fields[] = array( - 'name' => $column[0]['Field'], + $fields[$column[0]['Field']] = array( 'type' => $this->column($column[0]['Type']), 'null' => (strtoupper($column[0]['Null']) == 'YES'), - 'default' => $column[0]['Default'] + 'default' => $column[0]['Default'], + 'length' => $this->length($column[0]['Type']), ); } $this->__cacheDescription($this->fullTableName($model, false), $fields); diff --git a/cake/libs/model/datasources/dbo/dbo_sybase.php b/cake/libs/model/datasources/dbo/dbo_sybase.php index 28ac95568..c88057534 100644 --- a/cake/libs/model/datasources/dbo/dbo_sybase.php +++ b/cake/libs/model/datasources/dbo/dbo_sybase.php @@ -171,7 +171,8 @@ class DboSybase extends DboSource { } if (isset($column[0])) { $fields[$column[0]['Field']] = array('type' => $this->column($column[0]['Type']), - 'null' => $column[0]['Null'] + 'null' => $column[0]['Null'], + 'length' => $this->length($column[0]['Type']), ); } }