<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/sqlalchemy.git/test/base/test_utils.py, branch pr/234</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>- revert the change first made in a6fe4dc, as we are now generalizing</title>
<updated>2016-01-28T20:01:31+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2016-01-28T20:01:31+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=8a1e619fb20df1be6ad2e0c563e451e17eb17628'/>
<id>8a1e619fb20df1be6ad2e0c563e451e17eb17628</id>
<content type='text'>
the warning here to all safe_reraise() cases in Python 2.
- Revisiting :ticket:`2696`, first released in 1.0.10, which attempts to
work around Python 2's lack of exception context reporting by emitting
a warning for an exception that was interrupted by a second exception
when attempting to roll back the already-failed transaction; this
issue continues to occur for MySQL backends in conjunction with a
savepoint that gets unexpectedly lost, which then causes a
"no such savepoint" error when the rollback is attempted, obscuring
what the original condition was.

The approach has been generalized to the Core "safe
reraise" function which takes place across the ORM and Core in any
place that a transaction is being rolled back in response to an error
which occurred trying to commit, including the context managers
provided by :class:`.Session` and :class:`.Connection`, and taking
place for operations such as a failure on "RELEASE SAVEPOINT".
Previously, the fix was only in place for a specific path within
the ORM flush/commit process; it now takes place for all transational
context managers as well.
fixes #2696
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
the warning here to all safe_reraise() cases in Python 2.
- Revisiting :ticket:`2696`, first released in 1.0.10, which attempts to
work around Python 2's lack of exception context reporting by emitting
a warning for an exception that was interrupted by a second exception
when attempting to roll back the already-failed transaction; this
issue continues to occur for MySQL backends in conjunction with a
savepoint that gets unexpectedly lost, which then causes a
"no such savepoint" error when the rollback is attempted, obscuring
what the original condition was.

The approach has been generalized to the Core "safe
reraise" function which takes place across the ORM and Core in any
place that a transaction is being rolled back in response to an error
which occurred trying to commit, including the context managers
provided by :class:`.Session` and :class:`.Connection`, and taking
place for operations such as a failure on "RELEASE SAVEPOINT".
Previously, the fix was only in place for a specific path within
the ORM flush/commit process; it now takes place for all transational
context managers as well.
fixes #2696
</pre>
</div>
</content>
</entry>
<entry>
<title>- Fixed bug where some exception re-raise scenarios would attach</title>
<updated>2016-01-18T22:35:44+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2016-01-18T22:35:44+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=d4d9a6524886eb33644e8ce42212267fa569e555'/>
<id>d4d9a6524886eb33644e8ce42212267fa569e555</id>
<content type='text'>
the exception to itself as the "cause"; while the Python 3 interpreter
is OK with this, it could cause endless loops in iPython.
fixes #3625
- add tests for reraise, raise_from_cause
- raise_from_cause is the same on py2k/3k, use just one function
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
the exception to itself as the "cause"; while the Python 3 interpreter
is OK with this, it could cause endless loops in iPython.
fixes #3625
- add tests for reraise, raise_from_cause
- raise_from_cause is the same on py2k/3k, use just one function
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix _assert_unorderable_types on py36.</title>
<updated>2015-11-30T16:50:25+00:00</updated>
<author>
<name>Iuri de Silvio</name>
<email>iurisilvio@gmail.com</email>
</author>
<published>2015-11-30T14:11:02+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=d9178320d6755d893638646503ed538b11b6536a'/>
<id>d9178320d6755d893638646503ed538b11b6536a</id>
<content type='text'>
The error message changed to:

`'&lt;' not supported between instances of 'foo' and 'bar'`
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The error message changed to:

`'&lt;' not supported between instances of 'foo' and 'bar'`
</pre>
</div>
</content>
</entry>
<entry>
<title>- convert wrap_callable() to a general purpose update_wrapper-like</title>
<updated>2015-10-29T18:28:00+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2015-10-29T18:25:58+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=e31211c578854d63128a30c036e40eee5c43edc7'/>
<id>e31211c578854d63128a30c036e40eee5c43edc7</id>
<content type='text'>
function; the caller still passes in the "wrapper"
- move tests for wrap_callable() to be generic util tests
- changelog for pullreq github:204
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
function; the caller still passes in the "wrapper"
- move tests for wrap_callable() to be generic util tests
- changelog for pullreq github:204
</pre>
</div>
</content>
</entry>
<entry>
<title>- Fixed an issue where a particular base class within utils</title>
<updated>2015-07-21T00:35:04+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2015-07-21T00:35:04+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=575f080850a0a061ccb7ac40e3ea1fbf6b0fedf4'/>
<id>575f080850a0a061ccb7ac40e3ea1fbf6b0fedf4</id>
<content type='text'>
didn't implement ``__slots__``, and therefore meant all subclasses
of that class didn't either, negating the rationale for ``__slots__``
to be in use.  Didn't cause any issue except on IronPython
which apparently does not implement ``__slots__`` behavior compatibly
with cPython.
Fixes #3494
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
didn't implement ``__slots__``, and therefore meant all subclasses
of that class didn't either, negating the rationale for ``__slots__``
to be in use.  Didn't cause any issue except on IronPython
which apparently does not implement ``__slots__`` behavior compatibly
with cPython.
Fixes #3494
</pre>
</div>
</content>
</entry>
<entry>
<title>- Fixed an internal "memoization" routine for method types such</title>
<updated>2015-06-08T22:36:27+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2015-06-08T22:36:27+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=657be357de569ced699f44bdd96c6ba4e650b492'/>
<id>657be357de569ced699f44bdd96c6ba4e650b492</id>
<content type='text'>
that a Python descriptor is no longer used; repairs inspectability
of these methods including support for Sphinx documentation.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
that a Python descriptor is no longer used; repairs inspectability
of these methods including support for Sphinx documentation.
</pre>
</div>
</content>
</entry>
<entry>
<title>- The :meth:`.PropComparator.of_type` modifier has been</title>
<updated>2014-11-24T23:49:32+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2014-11-24T23:49:32+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=de11f9498258182cbb6668b72067ec3f43a90415'/>
<id>de11f9498258182cbb6668b72067ec3f43a90415</id>
<content type='text'>
improved in conjunction with loader directives such as
:func:`.joinedload` and :func:`.contains_eager` such that if
two :meth:`.PropComparator.of_type` modifiers of the same
base type/path are encountered, they will be joined together
into a single "polymorphic" entity, rather than replacing
the entity of type A with the one of type B.  E.g.
a joinedload of ``A.b.of_type(BSub1)-&gt;BSub1.c`` combined with
joinedload of ``A.b.of_type(BSub2)-&gt;BSub2.c`` will create a
single joinedload of ``A.b.of_type((BSub1, BSub2)) -&gt; BSub1.c, BSub2.c``,
without the need for the ``with_polymorphic`` to be explicit
in the query.
fixes #3256
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
improved in conjunction with loader directives such as
:func:`.joinedload` and :func:`.contains_eager` such that if
two :meth:`.PropComparator.of_type` modifiers of the same
base type/path are encountered, they will be joined together
into a single "polymorphic" entity, rather than replacing
the entity of type A with the one of type B.  E.g.
a joinedload of ``A.b.of_type(BSub1)-&gt;BSub1.c`` combined with
joinedload of ``A.b.of_type(BSub2)-&gt;BSub2.c`` will create a
single joinedload of ``A.b.of_type((BSub1, BSub2)) -&gt; BSub1.c, BSub2.c``,
without the need for the ``with_polymorphic`` to be explicit
in the query.
fixes #3256
</pre>
</div>
</content>
</entry>
<entry>
<title>- The ``__module__`` attribute is now set for all those SQL and</title>
<updated>2014-10-14T15:59:48+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2014-10-14T15:59:48+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=fb09ad7551cf348f999647347882546a1f50dcbe'/>
<id>fb09ad7551cf348f999647347882546a1f50dcbe</id>
<content type='text'>
ORM functions that are derived as "public factory" symbols, which
should assist with documentation tools being able to report on the
target module.
fixes #3218
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ORM functions that are derived as "public factory" symbols, which
should assist with documentation tools being able to report on the
target module.
fixes #3218
</pre>
</div>
</content>
</entry>
<entry>
<title>- A new implementation for :class:`.KeyedTuple` used by the</title>
<updated>2014-08-28T16:25:21+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2014-08-28T16:25:21+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=685a014c644477a7e7cdb6aad4436d4422167209'/>
<id>685a014c644477a7e7cdb6aad4436d4422167209</id>
<content type='text'>
:class:`.Query` object offers dramatic speed improvements when
fetching large numbers of column-oriented rows.
fixes #3176
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
:class:`.Query` object offers dramatic speed improvements when
fetching large numbers of column-oriented rows.
fixes #3176
</pre>
</div>
</content>
</entry>
<entry>
<title>put fails for these various things that don't work on pypy, not sure what approach</title>
<updated>2014-03-08T18:52:27+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2014-03-08T18:52:27+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=c9843bb395b37c67c14b301a57bddbc730bfce48'/>
<id>c9843bb395b37c67c14b301a57bddbc730bfce48</id>
<content type='text'>
should be taken
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
should be taken
</pre>
</div>
</content>
</entry>
</feed>
