]> 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:17:17 +0000 (22:17 -0400)
commitf214f4d4f46de24008c63f2e034329a64f510833
tree59200aebb59d24b30df971dd02d6ecbb4efc75e8
parent0883d8213bcfbeb5e0ae6dd1cbcf70494eb06dac
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
doc/build/changelog/changelog_11.rst
lib/sqlalchemy/orm/strategies.py