summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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'));
+ }
}
/**