<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/sqlalchemy.git/lib/sqlalchemy/engine, branch pr/259</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>Fix some broken links in docs</title>
<updated>2016-04-06T14:00:03+00:00</updated>
<author>
<name>Ville Skyttä</name>
<email>ville.skytta@iki.fi</email>
</author>
<published>2016-04-04T10:46:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=12d5ae8b71765fa2470a188ee2e206573913b2e7'/>
<id>12d5ae8b71765fa2470a188ee2e206573913b2e7</id>
<content type='text'>
(cherry picked from commit b1c9b3bd384fc40e1c411abef12eaf04b574612f)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(cherry picked from commit b1c9b3bd384fc40e1c411abef12eaf04b574612f)
</pre>
</div>
</content>
</entry>
<entry>
<title>- reworked the way the "select_wraps_for" expression is</title>
<updated>2016-02-21T01:30:58+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=cf818984ab52d824dbf77fcb6f18ec4efca53704'/>
<id>cf818984ab52d824dbf77fcb6f18ec4efca53704</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.

(cherry picked from commit 8ad968f33100baeb3b13c7e0b724b6b79ab4277f)
</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.

(cherry picked from commit 8ad968f33100baeb3b13c7e0b724b6b79ab4277f)
</pre>
</div>
</content>
</entry>
<entry>
<title>- happy new year</title>
<updated>2016-01-29T16:25:37+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2016-01-29T16:24:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=631afa456fa9fbeee3d24e25a53f3e2eccac9bbc'/>
<id>631afa456fa9fbeee3d24e25a53f3e2eccac9bbc</id>
<content type='text'>
(cherry picked from commit 859379e2fcc4506d036700ba1eca4c0ae526a8ee)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(cherry picked from commit 859379e2fcc4506d036700ba1eca4c0ae526a8ee)
</pre>
</div>
</content>
</entry>
<entry>
<title>- Fixed 1.0 regression where the eager fetch of cursor.rowcount was</title>
<updated>2016-01-05T15:26:12+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2016-01-05T15:25:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=6ba8382fa8b9e5e3a02d2abde18a03d8e97d066d'/>
<id>6ba8382fa8b9e5e3a02d2abde18a03d8e97d066d</id>
<content type='text'>
no longer called for an UPDATE or DELETE statement emitted via plain
text or via the :func:`.text` construct, affecting those drivers
that erase cursor.rowcount once the cursor is closed such as SQL
Server ODBC and Firebird drivers.
fixes #3622

(cherry picked from commit 197ffa2be2cadce3df8bfb0799b3c80158250286)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
no longer called for an UPDATE or DELETE statement emitted via plain
text or via the :func:`.text` construct, affecting those drivers
that erase cursor.rowcount once the cursor is closed such as SQL
Server ODBC and Firebird drivers.
fixes #3622

(cherry picked from commit 197ffa2be2cadce3df8bfb0799b3c80158250286)
</pre>
</div>
</content>
</entry>
<entry>
<title>Change generator termination from StopIteration to return.</title>
<updated>2015-11-30T17:35:35+00:00</updated>
<author>
<name>pgjones</name>
<email>philip.graham.jones@googlemail.com</email>
</author>
<published>2015-10-30T20:20:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=735fb9295433fb2d42e3e47949eb59a08fec6f90'/>
<id>735fb9295433fb2d42e3e47949eb59a08fec6f90</id>
<content type='text'>
From [PEP 479](https://www.python.org/dev/peps/pep-0479/) the correct way to
terminate a generator is to return (which implicitly raises StopIteration)
rather than raise StopIteration.

Without this change using sqlalchemy in python 3.5 or greater results in
these warnings
    PendingDeprecationWarning: generator '__iter__' raised StopIteration
which this commit should remove.

(cherry picked from commit 6ab120558078bdcbfbe06d2ca55bd7a0d417bbb4)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
From [PEP 479](https://www.python.org/dev/peps/pep-0479/) the correct way to
terminate a generator is to return (which implicitly raises StopIteration)
rather than raise StopIteration.

Without this change using sqlalchemy in python 3.5 or greater results in
these warnings
    PendingDeprecationWarning: generator '__iter__' raised StopIteration
which this commit should remove.

(cherry picked from commit 6ab120558078bdcbfbe06d2ca55bd7a0d417bbb4)
</pre>
</div>
</content>
</entry>
<entry>
<title>Add a lot more detail</title>
<updated>2015-09-23T20:52:22+00:00</updated>
<author>
<name>Eric Siegerman</name>
<email>eric.siegerman@rci.rogers.com</email>
</author>
<published>2015-09-23T20:39:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=5db5e18d3babdb3ee857c075c774a585505b78ce'/>
<id>5db5e18d3babdb3ee857c075c774a585505b78ce</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add some markup</title>
<updated>2015-09-23T19:37:23+00:00</updated>
<author>
<name>Eric Siegerman</name>
<email>eric.siegerman@rci.rogers.com</email>
</author>
<published>2015-09-23T19:37:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=81eefe038ea44a5314002483dde9cf00580df1bd'/>
<id>81eefe038ea44a5314002483dde9cf00580df1bd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>A few minor rewordings</title>
<updated>2015-09-23T19:35:35+00:00</updated>
<author>
<name>Eric Siegerman</name>
<email>eric.siegerman@rci.rogers.com</email>
</author>
<published>2015-09-23T19:35:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=ea084bdc656a6a64db1ee582630d415bc8154505'/>
<id>ea084bdc656a6a64db1ee582630d415bc8154505</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>- Fixed regression where new methods on :class:`.ResultProxy` used</title>
<updated>2015-07-19T20:32:31+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2015-07-19T20:32:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=ddad19052965b4f1ed75ad0eb33217da18aa81e4'/>
<id>ddad19052965b4f1ed75ad0eb33217da18aa81e4</id>
<content type='text'>
by the ORM :class:`.Query` object (part of the performance
enhancements of :ticket:`3175`) would not raise the "this result
does not return rows" exception in the case where the driver
(typically MySQL) fails to generate cursor.description correctly;
an AttributeError against NoneType would be raised instead.
fixes #3481
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
by the ORM :class:`.Query` object (part of the performance
enhancements of :ticket:`3175`) would not raise the "this result
does not return rows" exception in the case where the driver
(typically MySQL) fails to generate cursor.description correctly;
an AttributeError against NoneType would be raised instead.
fixes #3481
</pre>
</div>
</content>
</entry>
<entry>
<title>- Fixed regression where :meth:`.ResultProxy.keys` would return</title>
<updated>2015-07-19T16:20:00+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2015-07-19T16:20:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/sqlalchemy.git/commit/?id=d7ceb63c94e4f8ade58f9d9c9462f7acd5037cd6'/>
<id>d7ceb63c94e4f8ade58f9d9c9462f7acd5037cd6</id>
<content type='text'>
un-adjusted internal symbol names for "anonymous" labels, which
are the "foo_1" types of labels we see generated for SQL functions
without labels and similar.  This was a side effect of the
performance enhancements implemented as part of references #918.
fixes #3483
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
un-adjusted internal symbol names for "anonymous" labels, which
are the "foo_1" types of labels we see generated for SQL functions
without labels and similar.  This was a side effect of the
performance enhancements implemented as part of references #918.
fixes #3483
</pre>
</div>
</content>
</entry>
</feed>
