summaryrefslogtreecommitdiff
path: root/includes/database/mysql/schema.inc
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2008-11-13 20:52:13 +0000
committerDries Buytaert <dries@buytaert.net>2008-11-13 20:52:13 +0000
commit3a3c482776505e9405e585b48876b509ea3060bc (patch)
tree421add1dd87a4ab813bf7a905f351466211efa14 /includes/database/mysql/schema.inc
parenta56f3a8773faa4697f46f38915965480be179ccb (diff)
downloadbrdo-3a3c482776505e9405e585b48876b509ea3060bc.tar.gz
brdo-3a3c482776505e9405e585b48876b509ea3060bc.tar.bz2
- Patch #333499 by chx: fix handling of NULL default values in MySQL schema API. This fixes most but not all tests.
Diffstat (limited to 'includes/database/mysql/schema.inc')
-rw-r--r--includes/database/mysql/schema.inc8
1 files changed, 6 insertions, 2 deletions
diff --git a/includes/database/mysql/schema.inc b/includes/database/mysql/schema.inc
index 6318cd868..40f45aeb8 100644
--- a/includes/database/mysql/schema.inc
+++ b/includes/database/mysql/schema.inc
@@ -92,10 +92,14 @@ class DatabaseSchema_mysql extends DatabaseSchema {
$sql .= ' auto_increment';
}
- if (isset($spec['default'])) {
+ // $spec['default'] can be NULL, so we explicitely check for the key here.
+ if (array_key_exists('default', $spec)) {
if (is_string($spec['default'])) {
$spec['default'] = "'" . $spec['default'] . "'";
}
+ elseif (is_null($spec['default'])) {
+ $spec['default'] = 'NULL';
+ }
$sql .= ' DEFAULT ' . $spec['default'];
}
@@ -259,7 +263,7 @@ class DatabaseSchema_mysql extends DatabaseSchema {
}
public function fieldSetDefault(&$ret, $table, $field, $default) {
- if ($default == NULL) {
+ if (is_null($default)) {
$default = 'NULL';
}
else {