summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAngie Byron <webchick@24967.no-reply.drupal.org>2008-12-07 07:51:55 +0000
committerAngie Byron <webchick@24967.no-reply.drupal.org>2008-12-07 07:51:55 +0000
commit6d84974ff5b8f8a4f256566174f9e814960f737c (patch)
tree6cc0216d4cf22498fcd1440484ea49cfc67aa5b9
parentda3a3ac7bf10ef52b0ed02b892a1d18c743fe8a5 (diff)
downloadbrdo-6d84974ff5b8f8a4f256566174f9e814960f737c.tar.gz
brdo-6d84974ff5b8f8a4f256566174f9e814960f737c.tar.bz2
#343620 by Dave Reid: Fix db_update() failure on expression-only SQL (with test).
-rw-r--r--includes/database/query.inc2
-rw-r--r--modules/simpletest/tests/database_test.test15
2 files changed, 16 insertions, 1 deletions
diff --git a/includes/database/query.inc b/includes/database/query.inc
index a5b2ae313..5c51696b7 100644
--- a/includes/database/query.inc
+++ b/includes/database/query.inc
@@ -793,7 +793,7 @@ class UpdateQuery extends Query implements QueryConditionInterface {
*
* @var array
*/
- protected $fields;
+ protected $fields = array();
/**
* An array of values to update to.
diff --git a/modules/simpletest/tests/database_test.test b/modules/simpletest/tests/database_test.test
index 1319f7c19..92baa1df6 100644
--- a/modules/simpletest/tests/database_test.test
+++ b/modules/simpletest/tests/database_test.test
@@ -799,6 +799,21 @@ class DatabaseUpdateComplexTestCase extends DatabaseTestCase {
$this->assertTrue(FALSE, $e->getMessage());
}
}
+
+ /**
+ * Test update with only expression values.
+ */
+ function testUpdateOnlyExpression() {
+ $before_age = db_query("SELECT age FROM {test} WHERE name = 'Ringo'")->fetchField();
+ $num_updated = db_update('test')
+ ->condition('name', 'Ringo')
+ ->expression('age', 'age + :age',array(':age' => 4))
+ ->execute();
+ $this->assertIdentical($num_updated, 1, t('Updated 1 record.'));
+
+ $after_age = db_query("SELECT age FROM {test} WHERE name = 'Ringo'")->fetchField();
+ $this->assertEqual($before_age + 4, $after_age, t('Age updated correctly'));
+ }
}
/**