diff options
author | Mark Hahnenberg <mark@nylas.com> | 2016-07-12 10:23:58 -0700 |
---|---|---|
committer | Mark Hahnenberg <mark@nylas.com> | 2016-07-12 10:23:58 -0700 |
commit | d91084a3dcb0b770b6b0bb884d4a3f2e55770f60 (patch) | |
tree | 56382edd55814968e6a0b2a5c5e07154fd731c37 /lib/sqlalchemy/ext/baked.py | |
parent | 2045689ff27708292d8effa782777ec55a8477d0 (diff) | |
download | sqlalchemy-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/sqlalchemy/ext/baked.py')
-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) |