]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
Pre-load alias.c within JoinedEagerLoader cached AliasedClass
authorMike Bayer <mike_mp@zzzcomputing.com>
Sun, 26 Mar 2017 02:17:17 +0000 (22:17 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sun, 26 Mar 2017 02:18:51 +0000 (22:18 -0400)
commit7a6cc6e897d85d7acb7a3eddf92620d6f330e8ce
tree3dba308553a5f5ab71fee4904cc6a0fa49ae035a
parent5b34463cb6e0ef28c5a95b5c5b93e36b13d110d6
Pre-load alias.c within JoinedEagerLoader cached AliasedClass

Fixed a race condition which could occur under threaded environments
as a result of the caching added via :ticket:`3915`.   An internal
collection of ``Column`` objects could be regenerated on an alias
object inappropriately, confusing a joined eager loader when it
attempts to render SQL and collect results and resulting in an
attribute error.   The collection is now generated up front before
the alias object is cached and shared among threads.

Change-Id: I97d5b205992d38af8d2b4307178a15c086ef9993
Fixes: #3947
(cherry picked from commit f214f4d4f46de24008c63f2e034329a64f510833)
doc/build/changelog/changelog_11.rst
lib/sqlalchemy/orm/strategies.py