public function DatabaseSchema_sqlsrv::fieldSetDefault in Drupal driver for SQL Server and SQL Azure 7.2
Same name and namespace in other branches
- 7.3 sqlsrv/schema.inc \DatabaseSchema_sqlsrv::fieldSetDefault()
- 7 sqlsrv/schema.inc \DatabaseSchema_sqlsrv::fieldSetDefault()
Override DatabaseSchema::fieldSetDefault().
@status complete
Overrides DatabaseSchema::fieldSetDefault
File
- sqlsrv/
schema.inc, line 1444 - Database schema code for Microsoft SQL Server database servers.
Class
Code
public function fieldSetDefault($table, $field, $default) {
if (!$this
->fieldExists($table, $field)) {
throw new DatabaseSchemaObjectDoesNotExistException(t("Cannot set default value of field %table.%field: field doesn't exist.", array(
'%table' => $table,
'%field' => $field,
)));
}
if ($default === NULL) {
$default = 'NULL';
}
elseif (is_string($default)) {
$default = "'" . addslashes($default) . "'";
}
// Try to remove any existing default first.
try {
$this
->fieldSetNoDefault($table, $field);
} catch (Exception $e) {
}
// Create the new default.
$this->connection
->query_direct('ALTER TABLE [{' . $table . '}] ADD CONSTRAINT {' . $table . '}_' . $field . '_df DEFAULT ' . $default . ' FOR [' . $field . ']');
}