summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--includes/database/sqlite/query.inc2
-rw-r--r--modules/simpletest/tests/database_test.test15
2 files changed, 16 insertions, 1 deletions
diff --git a/includes/database/sqlite/query.inc b/includes/database/sqlite/query.inc
index d456afaaf..a176ed649 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 2a086ceed..231355ceb 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() {