From 3a3c482776505e9405e585b48876b509ea3060bc Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Thu, 13 Nov 2008 20:52:13 +0000 Subject: - Patch #333499 by chx: fix handling of NULL default values in MySQL schema API. This fixes most but not all tests. --- includes/database/mysql/schema.inc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'includes/database/mysql') 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 { -- cgit v1.2.3