From d8bdde94cb2863f8b5f99abb6cbb23618bc1749b Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Sun, 10 Sep 2006 23:59:30 +0000 Subject: [PATCH] checks for invalid lockmode argument --- lib/sqlalchemy/orm/query.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/sqlalchemy/orm/query.py b/lib/sqlalchemy/orm/query.py index d35219208d..052d048cbb 100644 --- a/lib/sqlalchemy/orm/query.py +++ b/lib/sqlalchemy/orm/query.py @@ -334,7 +334,10 @@ class Query(object): if self.table.default_order_by() is not None: order_by = self.table.default_order_by() - for_update = {'read':'read','update':True,'update_nowait':'nowait'}.get(lockmode, False) + try: + for_update = {'read':'read','update':True,'update_nowait':'nowait',None:False}[lockmode] + except KeyError: + raise exceptions.ArgumentError("Unknown lockmode '%s'" % lockmode) if self.mapper.single and self.mapper.polymorphic_on is not None and self.mapper.polymorphic_identity is not None: whereclause = sql.and_(whereclause, self.mapper.polymorphic_on==self.mapper.polymorphic_identity) -- 2.47.2