summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2011-04-28 06:02:18 -0400
committerDries Buytaert <dries@buytaert.net>2011-04-28 06:02:18 -0400
commit863dd8342236a465bdcc8754871731b2648bb518 (patch)
tree940154b2d31bc2081423d49a3bae466e84e3137a
parentf5e8a63c910329ebb5d9d0968c5a2f78c8898f4e (diff)
downloaddrupal-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.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 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() {