summaryrefslogtreecommitdiff
path: root/test/orm/session.py
diff options
context:
space:
mode:
authorMartijn Faassen <faassen@startifact.com>2008-11-06 06:12:11 +0000
committerMartijn Faassen <faassen@startifact.com>2008-11-06 06:12:11 +0000
commit84003a8d402c5d7539cf2d53f4061cde62d04413 (patch)
tree804096c6fac2f25c837b737d9cba3705798e261a /test/orm/session.py
parent7576315169ccb8606f148d040c3602e1e21a04fd (diff)
downloadsqlalchemy-84003a8d402c5d7539cf2d53f4061cde62d04413.tar.gz
add two new hooks for bulk operations to SessionExtension:
* after_bulk_delete * after_bulk_update
Diffstat (limited to 'test/orm/session.py')
-rw-r--r--test/orm/session.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/orm/session.py b/test/orm/session.py
index 58c4888a7..f32736b32 100644
--- a/test/orm/session.py
+++ b/test/orm/session.py
@@ -898,6 +898,10 @@ class SessionTest(_fixtures.FixtureTest):
log.append('after_begin')
def after_attach(self, session, instance):
log.append('after_attach')
+ def after_bulk_update(self, session, query, query_context, result):
+ log.append('after_bulk_update')
+ def after_bulk_delete(self, session, query, query_context, result):
+ log.append('after_bulk_delete')
sess = create_session(extension = MyExt())
u = User(name='u1')
@@ -920,6 +924,14 @@ class SessionTest(_fixtures.FixtureTest):
log = []
sess.commit()
assert log == ['before_commit', 'after_commit']
+
+ log = []
+ sess.query(User).delete()
+ assert log == ['after_begin', 'after_bulk_delete']
+
+ log = []
+ sess.query(User).update({'name': 'foo'})
+ assert log == ['after_bulk_update']
log = []
sess = create_session(autocommit=False, extension=MyExt(), bind=testing.db)