diff options
| author | Mark Hahnenberg <mark@nylas.com> | 2016-07-12 14:07:52 -0400 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2016-07-12 14:09:14 -0400 |
| commit | bfa57063d49bcf355b00caaeb5e58d0b9d23acb3 (patch) | |
| tree | c0c5ba59e39b0670b08f242a9953df59d3929e4e /lib/sqlalchemy/ext | |
| parent | 6dd795bda03777cd2c04bfc6b9d98858c353801d (diff) | |
| download | sqlalchemy-bfa57063d49bcf355b00caaeb5e58d0b9d23acb3.tar.gz | |
Fix issue with unbaking subqueries
Fix improper capture of a loop variable inside a lambda during unbaking
of subquery eager loaders, which would cause the incorrect query
to be invoked.
Fixes: #3743
Change-Id: I995110deb8ee2dae8540486729e1ae64578d28fc
Pull-request: https://github.com/zzzeek/sqlalchemy/pull/290
Diffstat (limited to 'lib/sqlalchemy/ext')
| -rw-r--r-- | lib/sqlalchemy/ext/baked.py | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/sqlalchemy/ext/baked.py b/lib/sqlalchemy/ext/baked.py index bfdc1e1a0..3ca94925e 100644 --- a/lib/sqlalchemy/ext/baked.py +++ b/lib/sqlalchemy/ext/baked.py @@ -194,7 +194,8 @@ class BakedQuery(object): """ for k, cache_key, query in context.attributes["baked_queries"]: - bk = BakedQuery(self._bakery, lambda sess: query.with_session(sess)) + bk = BakedQuery(self._bakery, + lambda sess, q=query: q.with_session(sess)) bk._cache_key = cache_key context.attributes[k] = bk.for_session(session).params(**params) |
