From: Mike Bayer Date: Mon, 20 Feb 2012 14:42:47 +0000 (-0500) Subject: document with_lockmode(), [ticket:2412] X-Git-Tag: rel_0_7_6~38 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=509c81d736c5d80e82e55629aebc1dedd86370f7;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git document with_lockmode(), [ticket:2412] --- diff --git a/lib/sqlalchemy/orm/query.py b/lib/sqlalchemy/orm/query.py index e012cd9b05..cafce5e3ce 100644 --- a/lib/sqlalchemy/orm/query.py +++ b/lib/sqlalchemy/orm/query.py @@ -1036,7 +1036,22 @@ class Query(object): @_generative() def with_lockmode(self, mode): - """Return a new Query object with the specified locking mode.""" + """Return a new Query object with the specified locking mode. + + :param mode: a string representing the desired locking mode. A + corresponding value is passed to the ``for_update`` parameter of + :meth:`~sqlalchemy.sql.expression.select` when the query is + executed. Valid values are: + + ``'update'`` - passes ``for_update=True``, which translates to + ``FOR UPDATE`` (standard SQL, supported by most dialects) + + ``'update_nowait'`` - passes ``for_update='nowait'``, which + translates to ``FOR UPDATE NOWAIT`` (supported by Oracle) + + ``'read'`` - passes ``for_update='read'``, which translates to + ``LOCK IN SHARE MODE`` (supported by MySQL). + """ self._lockmode = mode