diff options
author | Dries Buytaert <dries@buytaert.net> | 2008-11-13 20:52:13 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2008-11-13 20:52:13 +0000 |
commit | 3a3c482776505e9405e585b48876b509ea3060bc (patch) | |
tree | 421add1dd87a4ab813bf7a905f351466211efa14 /includes/database/mysql/schema.inc | |
parent | a56f3a8773faa4697f46f38915965480be179ccb (diff) | |
download | brdo-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.inc | 8 |
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 { |