From 54bd44a03b43295ede9169587cac698a6c84b010 Mon Sep 17 00:00:00 2001 From: Sean Harvey Date: Tue, 15 Jul 2014 10:42:21 +1200 Subject: [PATCH] Revert "Fixing use of "bigint" and "decimal" for pure integer types." This reverts commit aa3b934712fc172c8c0fbaf97a6b5809e23f2eba. --- code/MSSQLDatabase.php | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/code/MSSQLDatabase.php b/code/MSSQLDatabase.php index 9d20387..98dce55 100644 --- a/code/MSSQLDatabase.php +++ b/code/MSSQLDatabase.php @@ -713,13 +713,12 @@ class MSSQLDatabase extends SS_Database { // Update the data_type field to be a complete column definition string for use by // SS_Database::requireField() switch($field['data_type']){ - case 'int': case 'bigint': case 'numeric': case 'float': case 'bit': - if($field['data_type'] != 'bigint' && $field['data_type'] != 'int' && $sizeSuffix = $field['numeric_precision']) { - $field['data_type'] .= "($sizeSuffix)"; + if($field['data_type'] != 'bigint' && $sizeSuffix = $field['numeric_precision']) { + $field['data_type'] .= "($sizeSuffix)"; } if($field['is_nullable'] == 'YES') { @@ -1157,7 +1156,8 @@ class MSSQLDatabase extends SS_Database { * @return string */ public function int($values) { - return 'int not null default ' . (int) $values['default']; + //We'll be using an 8 digit precision to keep it in line with the serial8 datatype for ID columns + return 'numeric(8) not null default ' . (int) $values['default']; } /** @@ -1213,17 +1213,17 @@ class MSSQLDatabase extends SS_Database { /** * This returns the column which is the primary key for each table + * In Postgres, it is a SERIAL8, which is the equivalent of an auto_increment + * * @return string */ function IdColumn($asDbValue=false, $hasAutoIncPK=true){ - if($asDbValue) { - return 'int not null'; - } else { - if($hasAutoIncPK) { - return 'int identity(1,1)'; - } else { - return 'int not null'; - } + if($asDbValue) + return 'bigint not null'; + else { + if($hasAutoIncPK) + return 'bigint identity(1,1)'; + else return 'bigint not null'; } }