<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/sqlalchemy.git/lib/sqlalchemy/orm, branch pr/288</title>
<subtitle>github.com: zzzeek/sqlalchemy.git
</subtitle>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/sqlalchemy.git/'/>
<entry>
<title>Use the "committed" values when extracting many-to-one lazyload value</title>
<updated>2016-06-08T16:57:21+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2016-05-08T06:21:57+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=c99fc44e170be61696206872701ff75e4c8a3711'/>
<id>c99fc44e170be61696206872701ff75e4c8a3711</id>
<content type='text'>
The scalar object set() method calls upon the lazy loader
to get at the "old" value of the attriute, however doesn't
ensure that the "committed" value of the foreign key attributes
is used.  If the user has manipulated these attributes and they
themselves have pending, non committed changes, we get the
"new" value which these attributes would have set up if they
were flushed.  "old" vs "new" value is always about how the
value has changed since the load, so we always have to use the
DB-persisted values for everything when looking for "old".

Change-Id: I82bdc40ad0cf033c3a98f3361776cf3161542cd6
Fixes: #3708
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The scalar object set() method calls upon the lazy loader
to get at the "old" value of the attriute, however doesn't
ensure that the "committed" value of the foreign key attributes
is used.  If the user has manipulated these attributes and they
themselves have pending, non committed changes, we get the
"new" value which these attributes would have set up if they
were flushed.  "old" vs "new" value is always about how the
value has changed since the load, so we always have to use the
DB-persisted values for everything when looking for "old".

Change-Id: I82bdc40ad0cf033c3a98f3361776cf3161542cd6
Fixes: #3708
</pre>
</div>
</content>
</entry>
<entry>
<title>Add 'FOR NO KEY UPDATE' / 'FOR KEY SHARE' support for Postgresql</title>
<updated>2016-06-08T15:24:57+00:00</updated>
<author>
<name>Sergey Skopin</name>
<email>sa.skopin@gmail.com</email>
</author>
<published>2016-05-31T14:02:08+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=3ebd1b30eb392ff62f08f0755e79a228d61ba7d2'/>
<id>3ebd1b30eb392ff62f08f0755e79a228d61ba7d2</id>
<content type='text'>
Adds ``key_share=True`` for with_for_update().

Co-authored-by: Mike Bayer &lt;mike_mp@zzzcomputing.com&gt;
Change-Id: I74e0c3fcbc023e1dc98a1fa0c7db67b4c3693a31
Pull-request: https://github.com/zzzeek/sqlalchemy/pull/279
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adds ``key_share=True`` for with_for_update().

Co-authored-by: Mike Bayer &lt;mike_mp@zzzcomputing.com&gt;
Change-Id: I74e0c3fcbc023e1dc98a1fa0c7db67b4c3693a31
Pull-request: https://github.com/zzzeek/sqlalchemy/pull/279
</pre>
</div>
</content>
</entry>
<entry>
<title>Add "render_nulls" flag to bulk_insert as optional performance optimization</title>
<updated>2016-06-06T20:22:11+00:00</updated>
<author>
<name>tsauerwein</name>
<email>tobias.sauerwein@camptocamp.com</email>
</author>
<published>2016-04-12T03:16:17+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=528509e1bc41c7fe4e51f7bb550db6343b29e841'/>
<id>528509e1bc41c7fe4e51f7bb550db6343b29e841</id>
<content type='text'>
Currently, ``Session.bulk_insert_mappings`` omits NULL values which
causes it to break up batches of inserts based on which batches
contain NULL and which do not.

By adding this flag, the same columns are rendered in the INSERT
for all rows allowing them to be batched.  The downside is that
server-side defaults are omitted.

Doctext-author: Mike Bayer &lt;mike_mp@zzzcomputing.com&gt;
Change-Id: Iec5969304d4bdbf57290b200331bde02254aa3a5
Pull-request: https://github.com/zzzeek/sqlalchemy/pull/243
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently, ``Session.bulk_insert_mappings`` omits NULL values which
causes it to break up batches of inserts based on which batches
contain NULL and which do not.

By adding this flag, the same columns are rendered in the INSERT
for all rows allowing them to be batched.  The downside is that
server-side defaults are omitted.

Doctext-author: Mike Bayer &lt;mike_mp@zzzcomputing.com&gt;
Change-Id: Iec5969304d4bdbf57290b200331bde02254aa3a5
Pull-request: https://github.com/zzzeek/sqlalchemy/pull/243
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge "Add SKIP LOCKED support for Postgresql, Oracle"</title>
<updated>2016-06-03T14:56:06+00:00</updated>
<author>
<name>mike bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2016-06-03T14:56:06+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=a6817579cee4fb2569d961b611a4190f3f9fb7ee'/>
<id>a6817579cee4fb2569d961b611a4190f3f9fb7ee</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add SKIP LOCKED support for Postgresql, Oracle</title>
<updated>2016-06-02T21:46:16+00:00</updated>
<author>
<name>Jack Zhou</name>
<email>univerio@gmail.com</email>
</author>
<published>2016-05-31T14:01:46+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=e8f97c9e357ed0793ce11086823f83aa4a8bb4ad'/>
<id>e8f97c9e357ed0793ce11086823f83aa4a8bb4ad</id>
<content type='text'>
This adds `SELECT ... FOR UPDATE SKIP LOCKED`/
`SELECT ... FOR SHARE SKIP LOCKED` rendering.

Change-Id: Id1dc4f1cafc1de23f397a6f73d54ab2c58d5910d
Pull-request: https://bitbucket.org/zzzeek/sqlalchemy/pull-requests/86
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds `SELECT ... FOR UPDATE SKIP LOCKED`/
`SELECT ... FOR SHARE SKIP LOCKED` rendering.

Change-Id: Id1dc4f1cafc1de23f397a6f73d54ab2c58d5910d
Pull-request: https://bitbucket.org/zzzeek/sqlalchemy/pull-requests/86
</pre>
</div>
</content>
</entry>
<entry>
<title>Add an init_scalar event for attributes</title>
<updated>2016-06-02T18:41:31+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2015-06-11T03:38:15+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=e28b44813721f258bf76fb7c85bf5559ecd219ec'/>
<id>e28b44813721f258bf76fb7c85bf5559ecd219ec</id>
<content type='text'>
This allows us to build default-setting recipes such
as one that allows us to actively read column-level
defaults.  An example suite is also added.

Change-Id: I7b022d52cc89526132d5bc4201ac27fea4cf088d
Fixes: #1311
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows us to build default-setting recipes such
as one that allows us to actively read column-level
defaults.  An example suite is also added.

Change-Id: I7b022d52cc89526132d5bc4201ac27fea4cf088d
Fixes: #1311
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'origin/pr/270'</title>
<updated>2016-05-24T20:29:49+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2016-05-24T20:29:49+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=4856493efc1f6b7fdecf36e020a95636f600a626'/>
<id>4856493efc1f6b7fdecf36e020a95636f600a626</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Accommodate "callable" bound param in evaluator</title>
<updated>2016-05-16T14:32:07+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2016-05-16T14:32:07+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=a51ab916622dd016ce51d6be0969112817cc42ad'/>
<id>a51ab916622dd016ce51d6be0969112817cc42ad</id>
<content type='text'>
Fixed bug in "evaluate" strategy of :meth:`.Query.update` and
:meth:`.Query.delete` which would fail to accommodate a bound
parameter with a "callable" value, as which occurs when filtering
by a many-to-one equality expression along a relationship.

Change-Id: I47758d3f5d8b9ea1a07e23166780d5f3c32b17f1
Fixes: #3700
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixed bug in "evaluate" strategy of :meth:`.Query.update` and
:meth:`.Query.delete` which would fail to accommodate a bound
parameter with a "callable" value, as which occurs when filtering
by a many-to-one equality expression along a relationship.

Change-Id: I47758d3f5d8b9ea1a07e23166780d5f3c32b17f1
Fixes: #3700
</pre>
</div>
</content>
</entry>
<entry>
<title>Check for duplicate calls to register_attribute_impl</title>
<updated>2016-05-10T15:05:30+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2016-05-10T15:05:30+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=743e9d4589946f1a29cdec7f2f1a2e4ec0853db7'/>
<id>743e9d4589946f1a29cdec7f2f1a2e4ec0853db7</id>
<content type='text'>
Fixed bug whereby the event listeners used for backrefs could
be inadvertently applied multiple times, when using a deep class
inheritance hierarchy in conjunction with mutiple mapper configuration
steps.

Change-Id: I712beaf4674e2323bf5b282922658020a6d00b53
Fixes: #3710
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixed bug whereby the event listeners used for backrefs could
be inadvertently applied multiple times, when using a deep class
inheritance hierarchy in conjunction with mutiple mapper configuration
steps.

Change-Id: I712beaf4674e2323bf5b282922658020a6d00b53
Fixes: #3710
</pre>
</div>
</content>
</entry>
<entry>
<title>Repair _orm_columns() to accommodate text()</title>
<updated>2016-05-05T21:07:40+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2016-05-05T21:07:40+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=9bdd6f2b1f6b34a82b77849ec05811aa0279931d'/>
<id>9bdd6f2b1f6b34a82b77849ec05811aa0279931d</id>
<content type='text'>
Fixed bug whereby passing a :func:`.text` construct to the
:meth:`.Query.group_by` method would raise an error, instead
of intepreting the object as a SQL fragment.

Change-Id: I5fc2f590b76508d52e23b5fa9cf037ddea8080c3
fixes: #3706
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixed bug whereby passing a :func:`.text` construct to the
:meth:`.Query.group_by` method would raise an error, instead
of intepreting the object as a SQL fragment.

Change-Id: I5fc2f590b76508d52e23b5fa9cf037ddea8080c3
fixes: #3706
</pre>
</div>
</content>
</entry>
</feed>
