summaryrefslogtreecommitdiff
path: root/test/orm/query.py
diff options
context:
space:
mode:
authorAnts Aasma <ants.aasma@gmail.com>2008-09-02 20:02:02 +0000
committerAnts Aasma <ants.aasma@gmail.com>2008-09-02 20:02:02 +0000
commit920281ab55b407c9674759fa885797e1a9fff908 (patch)
tree296142024200a89939b3aa0269623ba87d975109 /test/orm/query.py
parentc164c174a5b1d2f081493ed34333f98a1503922a (diff)
downloadsqlalchemy-920281ab55b407c9674759fa885797e1a9fff908.tar.gz
Make Query.update and Query.delete return the amount of rows matched
Diffstat (limited to 'test/orm/query.py')
-rw-r--r--test/orm/query.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/test/orm/query.py b/test/orm/query.py
index 8f0148e75..26903edf1 100644
--- a/test/orm/query.py
+++ b/test/orm/query.py
@@ -2355,5 +2355,22 @@ class UpdateDeleteTest(_base.MappedTest):
eq_([john.age, jack.age, jill.age, jane.age], [25,37,29,27])
eq_(sess.query(User.age).order_by(User.id).all(), zip([25,37,29,27]))
+ @testing.resolve_artifact_names
+ def test_update_returns_rowcount(self):
+ sess = create_session(bind=testing.db, autocommit=False)
+
+ rowcount = sess.query(User).filter(User.age > 29).update({'age': User.age + 0})
+ self.assertEquals(rowcount, 2)
+
+ rowcount = sess.query(User).filter(User.age > 29).update({'age': User.age - 10})
+ self.assertEquals(rowcount, 2)
+
+ @testing.resolve_artifact_names
+ def test_delete_returns_rowcount(self):
+ sess = create_session(bind=testing.db, autocommit=False)
+
+ rowcount = sess.query(User).filter(User.age > 26).delete(synchronize_session=False)
+ self.assertEquals(rowcount, 3)
+
if __name__ == '__main__':
testenv.main()