diff options
Diffstat (limited to 'phpBB')
-rw-r--r-- | phpBB/includes/db/db_tools.php | 16 | ||||
-rw-r--r-- | phpBB/install/database_update.php | 17 |
2 files changed, 20 insertions, 13 deletions
diff --git a/phpBB/includes/db/db_tools.php b/phpBB/includes/db/db_tools.php index ee8825f136..0a65fc12ca 100644 --- a/phpBB/includes/db/db_tools.php +++ b/phpBB/includes/db/db_tools.php @@ -709,22 +709,26 @@ class phpbb_db_tools case 'mssql': $sql .= " {$column_type} "; + $sql_default = " {$column_type} "; - // we do not support MSSQL DEFAULTs for the near future - /*if (!is_null($column_data[1])) + // For adding columns we need the default definition + if (!is_null($column_data[1])) { // For hexadecimal values do not use single quotes if (strpos($column_data[1], '0x') === 0) { - $sql .= 'DEFAULT (' . $column_data[1] . ') '; + $sql_default .= 'DEFAULT (' . $column_data[1] . ') '; } else { - $sql .= 'DEFAULT (' . ((is_numeric($column_data[1])) ? $column_data[1] : "'{$column_data[1]}'") . ') '; + $sql_default .= 'DEFAULT (' . ((is_numeric($column_data[1])) ? $column_data[1] : "'{$column_data[1]}'") . ') '; } - }*/ + } $sql .= 'NOT NULL'; + $sql_default .= 'NOT NULL'; + + $return_array['column_type_sql_default'] = $sql_default; break; case 'mysql_40': @@ -828,7 +832,7 @@ class phpbb_db_tools break; case 'mssql': - $statements[] = 'ALTER TABLE [' . $table_name . '] ADD [' . $column_name . '] ' . $column_data['column_type_sql']; + $statements[] = 'ALTER TABLE [' . $table_name . '] ADD [' . $column_name . '] ' . $column_data['column_type_sql_default']; break; case 'mysql_40': diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php index 3f39b7d494..24d8c80bd1 100644 --- a/phpBB/install/database_update.php +++ b/phpBB/install/database_update.php @@ -1913,7 +1913,6 @@ function prepare_column_data($dbms, $column_data, $table_name, $column_name) } $sql = ''; - $return_array = array(); switch ($dbms) @@ -1938,22 +1937,26 @@ function prepare_column_data($dbms, $column_data, $table_name, $column_name) case 'mssql': $sql .= " {$column_type} "; + $sql_default = " {$column_type} "; - // we do not support MSSQL DEFAULTs for the near future - /*if (!is_null($column_data[1])) + // For adding columns we need the default definition + if (!is_null($column_data[1])) { // For hexadecimal values do not use single quotes if (strpos($column_data[1], '0x') === 0) { - $sql .= 'DEFAULT (' . $column_data[1] . ') '; + $sql_default .= 'DEFAULT (' . $column_data[1] . ') '; } else { - $sql .= 'DEFAULT (' . ((is_numeric($column_data[1])) ? $column_data[1] : "'{$column_data[1]}'") . ') '; + $sql_default .= 'DEFAULT (' . ((is_numeric($column_data[1])) ? $column_data[1] : "'{$column_data[1]}'") . ') '; } - }*/ + } $sql .= 'NOT NULL'; + $sql_default .= 'NOT NULL'; + + $return_array['column_type_sql_default'] = $sql_default; break; case 'mysql_40': @@ -2059,7 +2062,7 @@ function sql_column_add($dbms, $table_name, $column_name, $column_data) break; case 'mssql': - $sql = 'ALTER TABLE [' . $table_name . '] ADD [' . $column_name . '] ' . $column_data['column_type_sql']; + $sql = 'ALTER TABLE [' . $table_name . '] ADD [' . $column_name . '] ' . $column_data['column_type_sql_default']; _sql($sql, $errored, $error_ary); break; |