summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/ext
diff options
context:
space:
mode:
authorMark Hahnenberg <mark@nylas.com>2016-07-12 14:07:52 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2016-07-12 14:09:14 -0400
commitbfa57063d49bcf355b00caaeb5e58d0b9d23acb3 (patch)
treec0c5ba59e39b0670b08f242a9953df59d3929e4e /lib/sqlalchemy/ext
parent6dd795bda03777cd2c04bfc6b9d98858c353801d (diff)
downloadsqlalchemy-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.py3
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)