diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2014-11-13 13:17:38 -0500 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2014-11-13 13:17:38 -0500 |
| commit | 026449c15ff35a9b89c2ca591d3e3cc791857272 (patch) | |
| tree | c7534832b2f40abec2a4b40a9009920cfe71bd87 /lib/sqlalchemy/orm | |
| parent | 64e53f26a538e4965fcab76b1a457f15a43a0d0c (diff) | |
| download | sqlalchemy-026449c15ff35a9b89c2ca591d3e3cc791857272.tar.gz | |
- Fixed a leak which would occur in the unsupported and highly
non-recommended use case of replacing a relationship on a fixed
mapped class many times, referring to an arbitrarily growing number of
target mappers. A warning is emitted when the old relationship is
replaced, however if the mapping were already used for querying, the
old relationship would still be referenced within some registries.
fixes #3251
Diffstat (limited to 'lib/sqlalchemy/orm')
| -rw-r--r-- | lib/sqlalchemy/orm/mapper.py | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/sqlalchemy/orm/mapper.py b/lib/sqlalchemy/orm/mapper.py index 7e88ba161..863dab5cb 100644 --- a/lib/sqlalchemy/orm/mapper.py +++ b/lib/sqlalchemy/orm/mapper.py @@ -1581,6 +1581,8 @@ class Mapper(InspectionAttr): self, prop, )) + oldprop = self._props[key] + self._path_registry.pop(oldprop, None) self._props[key] = prop |
