From d91084a3dcb0b770b6b0bb884d4a3f2e55770f60 Mon Sep 17 00:00:00 2001 From: Mark Hahnenberg Date: Tue, 12 Jul 2016 10:23:58 -0700 Subject: Fix issue with unbaking subqueries We were improperly capturing a loop variable inside a lambda during unbaking, which would cause us to load incorrect data when executing queries. --- lib/sqlalchemy/ext/baked.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'lib/sqlalchemy/ext/baked.py') 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) -- cgit v1.2.1