hopefully fixing bug #14890 - need to test later

git-svn-id: file:///svn/phpbb/trunk@8247 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
Meik Sievertsen 2007-11-19 13:33:29 +00:00
parent 271e819d00
commit a4d0eba781
2 changed files with 20 additions and 13 deletions

View file

@ -709,22 +709,26 @@ class phpbb_db_tools
case 'mssql': case 'mssql':
$sql .= " {$column_type} "; $sql .= " {$column_type} ";
$sql_default = " {$column_type} ";
// we do not support MSSQL DEFAULTs for the near future // For adding columns we need the default definition
/*if (!is_null($column_data[1])) if (!is_null($column_data[1]))
{ {
// For hexadecimal values do not use single quotes // For hexadecimal values do not use single quotes
if (strpos($column_data[1], '0x') === 0) if (strpos($column_data[1], '0x') === 0)
{ {
$sql .= 'DEFAULT (' . $column_data[1] . ') '; $sql_default .= 'DEFAULT (' . $column_data[1] . ') ';
} }
else 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 .= 'NOT NULL';
$sql_default .= 'NOT NULL';
$return_array['column_type_sql_default'] = $sql_default;
break; break;
case 'mysql_40': case 'mysql_40':
@ -828,7 +832,7 @@ class phpbb_db_tools
break; break;
case 'mssql': 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; break;
case 'mysql_40': case 'mysql_40':

View file

@ -1913,7 +1913,6 @@ function prepare_column_data($dbms, $column_data, $table_name, $column_name)
} }
$sql = ''; $sql = '';
$return_array = array(); $return_array = array();
switch ($dbms) switch ($dbms)
@ -1938,22 +1937,26 @@ function prepare_column_data($dbms, $column_data, $table_name, $column_name)
case 'mssql': case 'mssql':
$sql .= " {$column_type} "; $sql .= " {$column_type} ";
$sql_default = " {$column_type} ";
// we do not support MSSQL DEFAULTs for the near future // For adding columns we need the default definition
/*if (!is_null($column_data[1])) if (!is_null($column_data[1]))
{ {
// For hexadecimal values do not use single quotes // For hexadecimal values do not use single quotes
if (strpos($column_data[1], '0x') === 0) if (strpos($column_data[1], '0x') === 0)
{ {
$sql .= 'DEFAULT (' . $column_data[1] . ') '; $sql_default .= 'DEFAULT (' . $column_data[1] . ') ';
} }
else 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 .= 'NOT NULL';
$sql_default .= 'NOT NULL';
$return_array['column_type_sql_default'] = $sql_default;
break; break;
case 'mysql_40': case 'mysql_40':
@ -2059,7 +2062,7 @@ function sql_column_add($dbms, $table_name, $column_name, $column_data)
break; break;
case 'mssql': 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); _sql($sql, $errored, $error_ary);
break; break;