diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2021-05-04 11:19:00 -0400 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2021-05-04 11:25:12 -0400 |
| commit | dd6f4543bc8ccbf07bfc5c8fb850be60ab420b57 (patch) | |
| tree | 19a5c09bb4245b9b430a214084cdbc93a0ece510 /lib/sqlalchemy/engine | |
| parent | f1f4f466fd809a14bff6d0c405a1d5da87438379 (diff) | |
| download | sqlalchemy-dd6f4543bc8ccbf07bfc5c8fb850be60ab420b57.tar.gz | |
Restore detached object logic for dynamic, but warn
Fixed regression involving ``lazy='dynamic'`` loader in conjunction with a
detached object. The previous behavior was that the dynamic loader upon
calling methods like ``.all()`` returns empty lists for detached objects
without error, this has been restored; however a warning is now emitted as
this is not the correct result. Other dynamic loader scenarios correctly
raise ``DetachedInstanceError``.
Fixes: #6426
Change-Id: Id7ad204bef947491fa7e462c5acda2055fada910
Diffstat (limited to 'lib/sqlalchemy/engine')
| -rw-r--r-- | lib/sqlalchemy/engine/result.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/sqlalchemy/engine/result.py b/lib/sqlalchemy/engine/result.py index f02ceff15..a80395941 100644 --- a/lib/sqlalchemy/engine/result.py +++ b/lib/sqlalchemy/engine/result.py @@ -1593,10 +1593,17 @@ class IteratorResult(Result): """ - def __init__(self, cursor_metadata, iterator, raw=None): + def __init__( + self, + cursor_metadata, + iterator, + raw=None, + _source_supports_scalars=False, + ): self._metadata = cursor_metadata self.iterator = iterator self.raw = raw + self._source_supports_scalars = _source_supports_scalars def _soft_close(self, **kw): self.iterator = iter([]) |
