aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB')
-rw-r--r--phpBB/includes/db/db_tools.php16
-rw-r--r--phpBB/install/database_update.php17
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;