<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/sqlalchemy.git/lib/sqlalchemy/engine, branch pr/104</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>- break up the &lt;authors&gt; copyright comment as part of a pass</title>
<updated>2014-07-09T22:26:55+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2014-07-09T22:26:55+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=5407ec9d389cfa1cdd4ed4b82ba311085132d9db'/>
<id>5407ec9d389cfa1cdd4ed4b82ba311085132d9db</id>
<content type='text'>
to get all flake8 passing
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
to get all flake8 passing
</pre>
</div>
</content>
</entry>
<entry>
<title>- rework the entire approach to #3076. As we need to catch all exceptions</title>
<updated>2014-07-04T19:40:47+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2014-07-04T19:40:47+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=dfb5707dae454448ab3e34e9c4ffda13419ca76b'/>
<id>dfb5707dae454448ab3e34e9c4ffda13419ca76b</id>
<content type='text'>
in all cases unconditionally, the number of use cases that go beyond what
dbapi_error() is expecting has gone too far for an 0.9 release.
Additionally, the number of things we'd like to track is really a lot
more than the five arguments here, and ExecutionContext is really not
suitable as totally public API for this.   So restore dbapi_error
to its old version, deprecate, and build out handle_error instead.
This is a lot more extensible and doesn't get in the way of anything
compatibility-wise.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
in all cases unconditionally, the number of use cases that go beyond what
dbapi_error() is expecting has gone too far for an 0.9 release.
Additionally, the number of things we'd like to track is really a lot
more than the five arguments here, and ExecutionContext is really not
suitable as totally public API for this.   So restore dbapi_error
to its old version, deprecate, and build out handle_error instead.
This is a lot more extensible and doesn't get in the way of anything
compatibility-wise.
</pre>
</div>
</content>
</entry>
<entry>
<title>- Added new attributes :attr:`.ExecutionContext.exception` and</title>
<updated>2014-07-04T01:49:37+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2014-07-04T01:49:10+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=c60eb86a91eac57e556c07ee2a34870c065a9830'/>
<id>c60eb86a91eac57e556c07ee2a34870c065a9830</id>
<content type='text'>
:attr:`.ExecutionContext.is_disconnect` which are meaningful within
the :meth:`.ConnectionEvents.dbapi_error` handler to see both the
original DBAPI error as well as whether or not it represents
a disconnect.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
:attr:`.ExecutionContext.is_disconnect` which are meaningful within
the :meth:`.ConnectionEvents.dbapi_error` handler to see both the
original DBAPI error as well as whether or not it represents
a disconnect.
</pre>
</div>
</content>
</entry>
<entry>
<title>- The mechanics of the :meth:`.ConnectionEvents.dbapi_error` handler</title>
<updated>2014-07-03T21:30:49+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2014-07-03T21:30:49+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=e0a9b94abb92c6b62d6a6f70dec680d7ca35eed6'/>
<id>e0a9b94abb92c6b62d6a6f70dec680d7ca35eed6</id>
<content type='text'>
have been enhanced such that the function handler is now capable
of raising or returning a new exception object, which will replace
the exception normally being thrown by SQLAlchemy.
fixes #3076
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
have been enhanced such that the function handler is now capable
of raising or returning a new exception object, which will replace
the exception normally being thrown by SQLAlchemy.
fixes #3076
</pre>
</div>
</content>
</entry>
<entry>
<title>- attach the ResultMetaData to the Compiled object, when we detect that</title>
<updated>2014-06-29T04:10:59+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2014-06-29T04:10:59+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=992e06412cf124d511d56d2741988f503f4c8085'/>
<id>992e06412cf124d511d56d2741988f503f4c8085</id>
<content type='text'>
the compiled cache is used.  That allows us to cache the whole metadata
and save on creating it at result time, when compiled cache is used.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
the compiled cache is used.  That allows us to cache the whole metadata
and save on creating it at result time, when compiled cache is used.
</pre>
</div>
</content>
</entry>
<entry>
<title>- vastly improve the "safe close cursor" tests in test_reconnect</title>
<updated>2014-05-30T20:24:38+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2014-05-30T20:24:38+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=814637e291953bc7e05ced3e215ef33bde5b040a'/>
<id>814637e291953bc7e05ced3e215ef33bde5b040a</id>
<content type='text'>
- Fixed bug which would occur if a DBAPI exception
occurs when the engine first connects and does its initial checks,
and the exception is not a disconnect exception, yet the cursor
raises an error when we try to close it.  In this case the real
exception would be quashed as we tried to log the cursor close
exception via the connection pool and failed, as we were trying
to access the pool's logger in a way that is inappropriate
in this very specific scenario. fixes #3063
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Fixed bug which would occur if a DBAPI exception
occurs when the engine first connects and does its initial checks,
and the exception is not a disconnect exception, yet the cursor
raises an error when we try to close it.  In this case the real
exception would be quashed as we tried to log the cursor close
exception via the connection pool and failed, as we were trying
to access the pool's logger in a way that is inappropriate
in this very specific scenario. fixes #3063
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #91 from smurfix/de_apostroph_ify</title>
<updated>2014-05-11T17:04:05+00:00</updated>
<author>
<name>mike bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2014-05-11T17:04:05+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=1abd53a3556b9593d9eba868d69c13bae3c3a7ab'/>
<id>1abd53a3556b9593d9eba868d69c13bae3c3a7ab</id>
<content type='text'>
Documentation fix-up: "its" vs. "it's"</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Documentation fix-up: "its" vs. "it's"</pre>
</div>
</content>
</entry>
<entry>
<title>Documentation fix-up: "its" vs. "it's"</title>
<updated>2014-05-11T14:49:56+00:00</updated>
<author>
<name>Matthias Urlichs</name>
<email>matthias@urlichs.de</email>
</author>
<published>2014-05-11T14:49:56+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=f341cfbfe117e777569d58eb6d2c3d3f7fe7bbf3'/>
<id>f341cfbfe117e777569d58eb6d2c3d3f7fe7bbf3</id>
<content type='text'>
Removed ungrammatical apostrophes from documentation, replacing
"it's" with "its" where appropriate (but in a few cases with "it is"
when that read better).

While doing that, I also fixed a couple of minor typos etc.
as I noticed them.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Removed ungrammatical apostrophes from documentation, replacing
"it's" with "its" where appropriate (but in a few cases with "it is"
when that read better).

While doing that, I also fixed a couple of minor typos etc.
as I noticed them.
</pre>
</div>
</content>
</entry>
<entry>
<title>- Fixed some "double invalidate" situations were detected where</title>
<updated>2014-05-10T19:34:42+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2014-05-10T19:31:49+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=85d1899b76a37b4bf922b1cea4f608ba806b41d0'/>
<id>85d1899b76a37b4bf922b1cea4f608ba806b41d0</id>
<content type='text'>
a connection invalidation could occur within an already critical section
like a connection.close(); ultimately, these conditions are caused
by the change in :ticket:`2907`, in that the "reset on return" feature
calls out to the Connection/Transaction in order to handle it, where
"disconnect detection" might be caught.  However, it's possible that
the more recent change in :ticket:`2985` made it more likely for this
to be seen as the "connection invalidate" operation is much quicker,
as the issue is more reproducible on 0.9.4 than 0.9.3.

Checks are now added within any section that
an invalidate might occur to halt further disallowed operations
on the invalidated connection.  This includes two fixes both at the
engine level and at the pool level.   While the issue was observed
with highly concurrent gevent cases, it could in theory occur in
any kind of scenario where a disconnect occurs within the connection
close operation.
fixes #3043
ref #2985
ref #2907

- add some defensive checks during an invalidate situation:
1. _ConnectionRecord.invalidate might be called twice within finalize_fairy
if the _reset() raises an invalidate condition, invalidates, raises and then
goes to invalidate the CR.  so check for this.
2. similarly within Conneciton, anytime we do handle_dbapi_error(), we might become invalidated.
so a following finally must check self.__invalid before dealing with the connection
any futher.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
a connection invalidation could occur within an already critical section
like a connection.close(); ultimately, these conditions are caused
by the change in :ticket:`2907`, in that the "reset on return" feature
calls out to the Connection/Transaction in order to handle it, where
"disconnect detection" might be caught.  However, it's possible that
the more recent change in :ticket:`2985` made it more likely for this
to be seen as the "connection invalidate" operation is much quicker,
as the issue is more reproducible on 0.9.4 than 0.9.3.

Checks are now added within any section that
an invalidate might occur to halt further disallowed operations
on the invalidated connection.  This includes two fixes both at the
engine level and at the pool level.   While the issue was observed
with highly concurrent gevent cases, it could in theory occur in
any kind of scenario where a disconnect occurs within the connection
close operation.
fixes #3043
ref #2985
ref #2907

- add some defensive checks during an invalidate situation:
1. _ConnectionRecord.invalidate might be called twice within finalize_fairy
if the _reset() raises an invalidate condition, invalidates, raises and then
goes to invalidate the CR.  so check for this.
2. similarly within Conneciton, anytime we do handle_dbapi_error(), we might become invalidated.
so a following finally must check self.__invalid before dealing with the connection
any futher.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix many typos throughout the codebase</title>
<updated>2014-04-26T20:13:13+00:00</updated>
<author>
<name>Alex Gaynor</name>
<email>alex.gaynor@gmail.com</email>
</author>
<published>2014-04-26T20:13:13+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=1caa7fafbd3c9870e1bf2b2ac623872447fc804e'/>
<id>1caa7fafbd3c9870e1bf2b2ac623872447fc804e</id>
<content type='text'>
Found using: https://github.com/intgr/topy
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Found using: https://github.com/intgr/topy
</pre>
</div>
</content>
</entry>
</feed>
