<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/sqlalchemy.git/lib/sqlalchemy/orm, branch pr/253</title>
<subtitle>github.com: zzzeek/sqlalchemy.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/sqlalchemy.git/'/>
<entry>
<title>- Added support for rendering "FULL OUTER JOIN" to both Core and ORM.</title>
<updated>2016-03-28T15:50:09+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2016-03-28T15:50:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=d61919118072f4c31ba2ee0bd8c4ac22a92e92f4'/>
<id>d61919118072f4c31ba2ee0bd8c4ac22a92e92f4</id>
<content type='text'>
Pull request courtesy Stefan Urbanek.  fixes #1957
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull request courtesy Stefan Urbanek.  fixes #1957
</pre>
</div>
</content>
</entry>
<entry>
<title>- Further continuing on the common MySQL exception case of</title>
<updated>2016-03-23T20:54:03+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2016-03-23T20:54:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=0a29071b16e1844b5e1d71aead0e8a1ae83b48d0'/>
<id>0a29071b16e1844b5e1d71aead0e8a1ae83b48d0</id>
<content type='text'>
a savepoint being cancelled first covered in :ticket:`2696`,
the failure mode in which the :class:`.Session` is placed when a
SAVEPOINT vanishes before rollback has been improved to allow the
:class:`.Session` to still function outside of that savepoint.
It is assumed that the savepoint operation failed and was cancelled.
fixes #3680
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
a savepoint being cancelled first covered in :ticket:`2696`,
the failure mode in which the :class:`.Session` is placed when a
SAVEPOINT vanishes before rollback has been improved to allow the
:class:`.Session` to still function outside of that savepoint.
It is assumed that the savepoint operation failed and was cancelled.
fixes #3680
</pre>
</div>
</content>
</entry>
<entry>
<title>- Fixed bug where a newly inserted instance that is rolled back</title>
<updated>2016-03-14T21:56:57+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2016-03-14T21:56:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=af92f6763d72fa853f2ac0968e077c24e88b0c93'/>
<id>af92f6763d72fa853f2ac0968e077c24e88b0c93</id>
<content type='text'>
would still potentially cause persistence conflicts on the next
transaction, because the instance would not be checked that it
was expired.   This fix will resolve a large class of cases that
erronously cause the "New instance with identity X conflicts with
persistent instance Y" error.
fixes #3677
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
would still potentially cause persistence conflicts on the next
transaction, because the instance would not be checked that it
was expired.   This fix will resolve a large class of cases that
erronously cause the "New instance with identity X conflicts with
persistent instance Y" error.
fixes #3677
</pre>
</div>
</content>
</entry>
<entry>
<title>Adds documentation to Query.slice().</title>
<updated>2016-03-13T20:37:55+00:00</updated>
<author>
<name>jfinkels</name>
<email>jfinkels@users.noreply.github.com</email>
</author>
<published>2016-03-13T19:40:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=6e5e64e27ef2c6a86c9aebdcefdf2cd726f1476a'/>
<id>6e5e64e27ef2c6a86c9aebdcefdf2cd726f1476a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>- An improvement to the workings of :meth:`.Query.correlate` such</title>
<updated>2016-02-26T04:27:49+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2016-02-26T04:22:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=f8914288f012c4ef635531f09a0e13bcacacdb2a'/>
<id>f8914288f012c4ef635531f09a0e13bcacacdb2a</id>
<content type='text'>
that when a "polymorphic" entity is used which represents a straight
join of several tables, the statement will ensure that all the
tables within the join are part of what's correlating.
fixes #3662
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
that when a "polymorphic" entity is used which represents a straight
join of several tables, the statement will ensure that all the
tables within the join are part of what's correlating.
fixes #3662
</pre>
</div>
</content>
</entry>
<entry>
<title>- reworked the way the "select_wraps_for" expression is</title>
<updated>2016-02-21T01:22:38+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2016-02-21T01:22:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=8ad968f33100baeb3b13c7e0b724b6b79ab4277f'/>
<id>8ad968f33100baeb3b13c7e0b724b6b79ab4277f</id>
<content type='text'>
handled within visit_select(); this attribute was added in the
1.0 series to accommodate the subquery wrapping behavior of
SQL Server and Oracle while also working with positional
column targeting and no longer relying upon "key fallback"
in order to target columns in such a statement.  The IBM DB2
third-party dialect also has this use case, but its implementation
is using regular expressions to rewrite the textual SELECT only
and does not make use of a "wrapped" select at this time.
The logic no longer attempts to reconcile proxy set collections as
this was not deterministic, and instead assumes that the select()
and the wrapper select() match their columns postionally,
at least for the column positions they have in common,
so it is now very simple and safe.  fixes #3657.
- as a side effect of #3657 it was also revealed that the
strategy of calling upon a ResultProxy._getter was not
correctly calling into NoSuchColumnError when an expected
column was not present, and instead returned None up to
loading.instances() to produce NoneType failures; added
a raiseerr argument to _getter() which is called when we
aren't expecting None, fixes #3658.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
handled within visit_select(); this attribute was added in the
1.0 series to accommodate the subquery wrapping behavior of
SQL Server and Oracle while also working with positional
column targeting and no longer relying upon "key fallback"
in order to target columns in such a statement.  The IBM DB2
third-party dialect also has this use case, but its implementation
is using regular expressions to rewrite the textual SELECT only
and does not make use of a "wrapped" select at this time.
The logic no longer attempts to reconcile proxy set collections as
this was not deterministic, and instead assumes that the select()
and the wrapper select() match their columns postionally,
at least for the column positions they have in common,
so it is now very simple and safe.  fixes #3657.
- as a side effect of #3657 it was also revealed that the
strategy of calling upon a ResultProxy._getter was not
correctly calling into NoSuchColumnError when an expected
column was not present, and instead returned None up to
loading.instances() to produce NoneType failures; added
a raiseerr argument to _getter() which is called when we
aren't expecting None, fixes #3658.
</pre>
</div>
</content>
</entry>
<entry>
<title>- Fixed bug which would cause an eagerly loaded many-to-one attribute</title>
<updated>2016-02-17T23:01:20+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2016-02-17T22:54:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=594a974ede97941a61c2e657a63cb11a7137c1ae'/>
<id>594a974ede97941a61c2e657a63cb11a7137c1ae</id>
<content type='text'>
to not be loaded, if the joined eager load were from a row where the
same entity were present multiple times, some calling for the attribute
to be eagerly loaded and others not.  The logic here is revised to
take in the attribute even though a different loader path has
handled the parent entity already. fixes #3431
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
to not be loaded, if the joined eager load were from a row where the
same entity were present multiple times, some calling for the attribute
to be eagerly loaded and others not.  The logic here is revised to
take in the attribute even though a different loader path has
handled the parent entity already. fixes #3431
</pre>
</div>
</content>
</entry>
<entry>
<title>- Fixed bug in :meth:`.Session.merge` where an object with a composite</title>
<updated>2016-02-12T03:29:18+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2016-02-12T03:29:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=366f97b5617af0d15cfaf594ec5ef0408c70e873'/>
<id>366f97b5617af0d15cfaf594ec5ef0408c70e873</id>
<content type='text'>
primary key that has values for some but not all of the PK fields
would emit a SELECT statement leaking the internal NEVER_SET symbol
into the query, rather than detecting that this object does not have
a searchable primary key and no SELECT should be emitted.
fixes #3647
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
primary key that has values for some but not all of the PK fields
would emit a SELECT statement leaking the internal NEVER_SET symbol
into the query, rather than detecting that this object does not have
a searchable primary key and no SELECT should be emitted.
fixes #3647
</pre>
</div>
</content>
</entry>
<entry>
<title>- CTE functionality has been expanded to support all DML, allowing</title>
<updated>2016-02-11T17:27:28+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2016-02-11T17:12:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=e5f1a3fb7dc1888ed187fdeae8171e4ff322dab6'/>
<id>e5f1a3fb7dc1888ed187fdeae8171e4ff322dab6</id>
<content type='text'>
INSERT, UPDATE, and DELETE statements to both specify their own
WITH clause, as well as for these statements themselves to be
CTE expressions when they include a RETURNING clause.
fixes #2551
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
INSERT, UPDATE, and DELETE statements to both specify their own
WITH clause, as well as for these statements themselves to be
CTE expressions when they include a RETURNING clause.
fixes #2551
</pre>
</div>
</content>
</entry>
<entry>
<title>- A refinement to the logic which adds columns to the resulting SQL when</title>
<updated>2016-02-09T22:49:38+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2016-02-09T22:49:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=ff3be95620b6505943b2d7e4688abc29dca3e493'/>
<id>ff3be95620b6505943b2d7e4688abc29dca3e493</id>
<content type='text'>
:meth:`.Query.distinct` is combined with :meth:`.Query.order_by` such
that columns which are already present will not be added
a second time, even if they are labeled with a different name.
Regardless of this change, the extra columns added to the SQL have
never been returned in the final result, so this change only impacts
the string form of the statement as well as its behavior when used in
a Core execution context.   Additionally, columns are no longer added
when the DISTINCT ON format is used, provided the query is not
wrapped inside a subquery due to joined eager loading.
fixes #3641
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
:meth:`.Query.distinct` is combined with :meth:`.Query.order_by` such
that columns which are already present will not be added
a second time, even if they are labeled with a different name.
Regardless of this change, the extra columns added to the SQL have
never been returned in the final result, so this change only impacts
the string form of the statement as well as its behavior when used in
a Core execution context.   Additionally, columns are no longer added
when the DISTINCT ON format is used, provided the query is not
wrapped inside a subquery due to joined eager loading.
fixes #3641
</pre>
</div>
</content>
</entry>
</feed>
