diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2012-02-20 09:42:47 -0500 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2012-02-20 09:42:47 -0500 |
| commit | 509c81d736c5d80e82e55629aebc1dedd86370f7 (patch) | |
| tree | d0b72f23d621cb1d329b7346ef242826a203641a /lib/sqlalchemy | |
| parent | 35cba3c84ab9c36663e57049e56e59cace5aa2f7 (diff) | |
| download | sqlalchemy-509c81d736c5d80e82e55629aebc1dedd86370f7.tar.gz | |
document with_lockmode(), [ticket:2412]
Diffstat (limited to 'lib/sqlalchemy')
| -rw-r--r-- | lib/sqlalchemy/orm/query.py | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/lib/sqlalchemy/orm/query.py b/lib/sqlalchemy/orm/query.py index e012cd9b0..cafce5e3c 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 |
