<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/sqlalchemy.git/lib/sqlalchemy/ext/baked.py, branch pr/320</title>
<subtitle>github.com: zzzeek/sqlalchemy.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/'/>
<entry>
<title>Memoize load_path in all cases, run quick populators for path change</title>
<updated>2016-10-17T15:29:23+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2016-10-13T16:27:18+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=c02675b407b8326643b559770d6d9686b880c113'/>
<id>c02675b407b8326643b559770d6d9686b880c113</id>
<content type='text'>
Adds a new variant to the "isnew" state within entity loading
for isnew=False, but the load path is new.  This is to address
the use case of an entity appearing in multiple places in
the row in a more generalized way than the fixes in [ticket:3431],
[ticket:3811] in that loading.py will be able to tell the
populator that this row is not "isnew" but is a "new" path
for the entity.   For the moment, the new information is only
being applied to the use of "quick" populators so that
simple column loads can take place on top of a deferred loader
from elsewhere in the row.

As part of this change, state.load_path() will now always
be populated with the "path" that was in effect when this state
was originally loaded, which for multi-path loads of the
same entity is still non-deterministic.  Ideally there'd be some
kind of "here's all the paths that loaded this state and how"
type of data structure though it's not clear if that could be
done while maintaining performance.

Fixes: #3822
Change-Id: Ib915365353dfcca09e15c24001a8581113b97d5e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adds a new variant to the "isnew" state within entity loading
for isnew=False, but the load path is new.  This is to address
the use case of an entity appearing in multiple places in
the row in a more generalized way than the fixes in [ticket:3431],
[ticket:3811] in that loading.py will be able to tell the
populator that this row is not "isnew" but is a "new" path
for the entity.   For the moment, the new information is only
being applied to the use of "quick" populators so that
simple column loads can take place on top of a deferred loader
from elsewhere in the row.

As part of this change, state.load_path() will now always
be populated with the "path" that was in effect when this state
was originally loaded, which for multi-path loads of the
same entity is still non-deterministic.  Ideally there'd be some
kind of "here's all the paths that loaded this state and how"
type of data structure though it's not clear if that could be
done while maintaining performance.

Fixes: #3822
Change-Id: Ib915365353dfcca09e15c24001a8581113b97d5e
</pre>
</div>
</content>
</entry>
<entry>
<title>Assemble "don't joinedload other side" rule using query._current_path</title>
<updated>2016-10-17T15:28:36+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2016-10-14T21:06:07+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=ae7d2837b3c5ae3fd6e9dad6b14a26abb32cfee5'/>
<id>ae7d2837b3c5ae3fd6e9dad6b14a26abb32cfee5</id>
<content type='text'>
Discovered during testing for [ticket:3822], the rule added
for [ticket:1495] will fail if the source object has propagated
options set up, which add elements to query._current_path.

Fixes: #3824
Change-Id: I3d96c96fee5f9b247f739d2136d18681ac61f2fe
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Discovered during testing for [ticket:3822], the rule added
for [ticket:1495] will fail if the source object has propagated
options set up, which add elements to query._current_path.

Fixes: #3824
Change-Id: I3d96c96fee5f9b247f739d2136d18681ac61f2fe
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix issue with unbaking subqueries</title>
<updated>2016-07-12T18:09:14+00:00</updated>
<author>
<name>Mark Hahnenberg</name>
<email>mark@nylas.com</email>
</author>
<published>2016-07-12T18:07:52+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=bfa57063d49bcf355b00caaeb5e58d0b9d23acb3'/>
<id>bfa57063d49bcf355b00caaeb5e58d0b9d23acb3</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>- happy new year</title>
<updated>2016-01-29T16:20:22+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2016-01-29T16:20:22+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=859379e2fcc4506d036700ba1eca4c0ae526a8ee'/>
<id>859379e2fcc4506d036700ba1eca4c0ae526a8ee</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>- Fixed bug in baked loader system where the systemwide monkeypatch</title>
<updated>2015-12-16T02:44:00+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2015-12-16T02:44:00+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=a22b2085068f860d05dbb98631d2ac2079a12b39'/>
<id>a22b2085068f860d05dbb98631d2ac2079a12b39</id>
<content type='text'>
for setting up baked lazy loaders would interfere with other
loader strategies that rely on lazy loading as a fallback, e.g.
joined and subquery eager loaders, leading to ``IndexError``
exceptions at mapper configuration time.
fixes #3612
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
for setting up baked lazy loaders would interfere with other
loader strategies that rely on lazy loading as a fallback, e.g.
joined and subquery eager loaders, leading to ``IndexError``
exceptions at mapper configuration time.
fixes #3612
</pre>
</div>
</content>
</entry>
<entry>
<title>- Fixed an issue in baked queries where the .get() method, used either</title>
<updated>2015-11-29T16:42:55+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2015-11-29T16:42:55+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=b0308a7b3af91cc61fbe3347376024ad8b7be019'/>
<id>b0308a7b3af91cc61fbe3347376024ad8b7be019</id>
<content type='text'>
directly or within lazy loads, didn't consider the mapper's "get clause"
as part of the cache key, causing bound parameter mismatches if the
clause got re-generated.  This clause is cached by mappers
on the fly but in highly concurrent scenarios may be generated more
than once when first accessed.
fixes #3597
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
directly or within lazy loads, didn't consider the mapper's "get clause"
as part of the cache key, causing bound parameter mismatches if the
clause got re-generated.  This clause is cached by mappers
on the fly but in highly concurrent scenarios may be generated more
than once when first accessed.
fixes #3597
</pre>
</div>
</content>
</entry>
<entry>
<title>Remplement Query.one() in terms of .one_or_none()</title>
<updated>2015-09-28T16:08:19+00:00</updated>
<author>
<name>Eric Siegerman</name>
<email>eric.siegerman@rci.rogers.com</email>
</author>
<published>2015-09-28T16:08:19+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=2e5e6ff96cc92f342bc53242703991f915741966'/>
<id>2e5e6ff96cc92f342bc53242703991f915741966</id>
<content type='text'>
Thanks to Mike Bayer for suggesting a simpler refactoring.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Thanks to Mike Bayer for suggesting a simpler refactoring.</pre>
</div>
</content>
</entry>
<entry>
<title>Fix sqlalchemy.ext.baked.Result.one_or_none() exception message</title>
<updated>2015-09-24T19:25:15+00:00</updated>
<author>
<name>Eric Siegerman</name>
<email>eric.siegerman@rci.rogers.com</email>
</author>
<published>2015-09-24T19:25:15+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=91255618ddb47553774c620a23479adf88c27b74'/>
<id>91255618ddb47553774c620a23479adf88c27b74</id>
<content type='text'>
Also add a couple of missing tests.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also add a couple of missing tests.</pre>
</div>
</content>
</entry>
<entry>
<title>- replicate Query.one_or_none to BakedQuery</title>
<updated>2015-09-24T17:52:25+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2015-09-24T17:52:25+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=5b71858533ea153dec119b3592631fdb1500a15f'/>
<id>5b71858533ea153dec119b3592631fdb1500a15f</id>
<content type='text'>
- changelog / version note finishing
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- changelog / version note finishing
</pre>
</div>
</content>
</entry>
<entry>
<title>- changelog for pr bitbucket:54</title>
<updated>2015-06-03T14:08:33+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2015-06-03T14:08:33+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=47d29eae8fa14ab7b1aab63797860a475338f950'/>
<id>47d29eae8fa14ab7b1aab63797860a475338f950</id>
<content type='text'>
- alter the approach so that the initial callable is working just like add_criteria/with_criteria
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- alter the approach so that the initial callable is working just like add_criteria/with_criteria
</pre>
</div>
</content>
</entry>
</feed>
