:param innerjoin=False:
when ``True``, joined eager loads will use an inner join to join
against related tables instead of an outer join. The purpose
- of this option is strictly one of performance, as inner joins
- generally perform better than outer joins. This flag can
- be set to ``True`` when the relationship references an object
- via many-to-one using local foreign keys that are not nullable,
- or when the reference is one-to-one or a collection that is
- guaranteed to have one or at least one entry.
+ of this option is generally one of performance, as inner joins
+ generally perform better than outer joins. Another reason can be
+ the use of ``with_lockmode``, which does not support outer joins.
+
+ This flag can be set to ``True`` when the relationship references an
+ object via many-to-one using local foreign keys that are not nullable,
+ or when the reference is one-to-one or a collection that is guaranteed
+ to have one or at least one entry.
:param join_depth:
when non-``None``, an integer value indicating how many levels
return strategies.UndeferGroupOption(name)
from sqlalchemy import util as _sa_util
-_sa_util.importlater.resolve_all()
\ No newline at end of file
+_sa_util.importlater.resolve_all()
``'update_nowait'`` - passes ``for_update='nowait'``, which
translates to ``FOR UPDATE NOWAIT`` (supported by Oracle,
- PostgreSQL)
+ PostgreSQL 8.1 upwards)
``'read'`` - passes ``for_update='read'``, which translates to
``LOCK IN SHARE MODE`` (for MySQL), and ``FOR SHARE`` (for