diff options
author | Dries Buytaert <dries@buytaert.net> | 2011-04-28 06:02:18 -0400 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2011-04-28 06:02:18 -0400 |
commit | 863dd8342236a465bdcc8754871731b2648bb518 (patch) | |
tree | 940154b2d31bc2081423d49a3bae466e84e3137a | |
parent | f5e8a63c910329ebb5d9d0968c5a2f78c8898f4e (diff) | |
download | drupal-863dd8342236a465bdcc8754871731b2648bb518.tar.gz drupal-863dd8342236a465bdcc8754871731b2648bb518.zip |
- Patch #1139638 by DamZ: the SQLite driver cannot update a column to NULL.
-rw-r--r-- | includes/database/sqlite/query.inc | 2 | ||||
-rw-r--r-- | modules/simpletest/tests/database_test.test | 15 |
2 files changed, 16 insertions, 1 deletions
diff --git a/includes/database/sqlite/query.inc b/includes/database/sqlite/query.inc index d456afaafd1..a176ed64937 100644 --- a/includes/database/sqlite/query.inc +++ b/includes/database/sqlite/query.inc @@ -101,7 +101,7 @@ class UpdateQuery_sqlite extends UpdateQuery { } elseif (!isset($data)) { // The field will be set to NULL. - $condition->isNull($field); + $condition->isNotNull($field); } else { $condition->condition($field, $data, '<>'); diff --git a/modules/simpletest/tests/database_test.test b/modules/simpletest/tests/database_test.test index 2a086ceedae..231355ceb1d 100644 --- a/modules/simpletest/tests/database_test.test +++ b/modules/simpletest/tests/database_test.test @@ -719,6 +719,21 @@ class DatabaseUpdateTestCase extends DatabaseTestCase { } /** + * Confirm updating to NULL. + */ + function testSimpleNullUpdate() { + $this->ensureSampleDataNull(); + $num_updated = db_update('test_null') + ->fields(array('age' => NULL)) + ->condition('name', 'Kermit') + ->execute(); + $this->assertIdentical($num_updated, 1, t('Updated 1 record.')); + + $saved_age = db_query('SELECT age FROM {test_null} WHERE name = :name', array(':name' => 'Kermit'))->fetchField(); + $this->assertNull($saved_age, t('Updated name successfully.')); + } + + /** * Confirm that we can update a multiple records successfully. */ function testMultiUpdate() { |