summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMark Hahnenberg <mark@nylas.com>2016-07-12 10:23:58 -0700
committerMark Hahnenberg <mark@nylas.com>2016-07-12 10:23:58 -0700
commitd91084a3dcb0b770b6b0bb884d4a3f2e55770f60 (patch)
tree56382edd55814968e6a0b2a5c5e07154fd731c37 /lib
parent2045689ff27708292d8effa782777ec55a8477d0 (diff)
downloadsqlalchemy-pr/290.tar.gz
Fix issue with unbaking subqueriespr/290
We were improperly capturing a loop variable inside a lambda during unbaking, which would cause us to load incorrect data when executing queries.
Diffstat (limited to 'lib')
-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)