[Sqlalchemy-commits] sqlalchemy: Updated mysqlconnector dialect to check for disconne...
Brought to you by:
zzzeek
|
From: <co...@sq...> - 2013-04-29 23:51:42
|
details: http://hg.sqlalchemy.org/sqlalchemy/sqlalchemy/rev/6af6d7cfb04f changeset: 9417:6af6d7cfb04f user: Mike Bayer <mi...@zz...> date: Mon Apr 29 19:49:28 2013 -0400 description: Updated mysqlconnector dialect to check for disconnect based on the apparent string message sent in the exception; tested against mysqlconnector 1.0.9. Subject: sqlalchemy: bump details: http://hg.sqlalchemy.org/sqlalchemy/sqlalchemy/rev/6b4a2928aa12 changeset: 9418:6b4a2928aa12 user: Mike Bayer <mi...@zz...> date: Mon Apr 29 19:49:59 2013 -0400 description: bump Subject: sqlalchemy: merge default details: http://hg.sqlalchemy.org/sqlalchemy/sqlalchemy/rev/449794e6e562 changeset: 9419:449794e6e562 user: Mike Bayer <mi...@zz...> date: Mon Apr 29 19:50:49 2013 -0400 description: merge default Subject: sqlalchemy: merge default details: http://hg.sqlalchemy.org/sqlalchemy/sqlalchemy/rev/499b4059b599 changeset: 9420:499b4059b599 user: Mike Bayer <mi...@zz...> date: Mon Apr 29 19:49:45 2013 -0400 description: merge default Subject: sqlalchemy: merge default details: http://hg.sqlalchemy.org/sqlalchemy/sqlalchemy/rev/dee8f4562edc changeset: 9421:dee8f4562edc user: Mike Bayer <mi...@zz...> date: Mon Apr 29 19:50:08 2013 -0400 description: merge default diffstat: doc/build/changelog/changelog_08.rst | 10 ++++++++++ lib/sqlalchemy/__init__.py | 2 +- lib/sqlalchemy/dialects/mysql/mysqlconnector.py | 3 ++- test/engine/test_reconnect.py | 19 ++++++------------- 4 files changed, 19 insertions(+), 15 deletions(-) diffs (74 lines): diff -r 715efae23997 -r dee8f4562edc doc/build/changelog/changelog_08.rst --- a/doc/build/changelog/changelog_08.rst Mon Apr 29 19:21:44 2013 -0400 +++ b/doc/build/changelog/changelog_08.rst Mon Apr 29 19:50:08 2013 -0400 @@ -4,6 +4,16 @@ ============== .. changelog:: + :version: 0.8.2 + + .. change:: + :tags: bug, mysql + + Updated mysqlconnector dialect to check for disconnect based + on the apparent string message sent in the exception; tested + against mysqlconnector 1.0.9. + +.. changelog:: :version: 0.8.1 :released: April 27, 2013 diff -r 715efae23997 -r dee8f4562edc lib/sqlalchemy/__init__.py --- a/lib/sqlalchemy/__init__.py Mon Apr 29 19:21:44 2013 -0400 +++ b/lib/sqlalchemy/__init__.py Mon Apr 29 19:50:08 2013 -0400 @@ -120,7 +120,7 @@ __all__ = sorted(name for name, obj in locals().items() if not (name.startswith('_') or _inspect.ismodule(obj))) -__version__ = '0.8.1' +__version__ = '0.8.2' del _inspect, sys diff -r 715efae23997 -r dee8f4562edc lib/sqlalchemy/dialects/mysql/mysqlconnector.py --- a/lib/sqlalchemy/dialects/mysql/mysqlconnector.py Mon Apr 29 19:21:44 2013 -0400 +++ b/lib/sqlalchemy/dialects/mysql/mysqlconnector.py Mon Apr 29 19:50:08 2013 -0400 @@ -113,7 +113,8 @@ errnos = (2006, 2013, 2014, 2045, 2055, 2048) exceptions = (self.dbapi.OperationalError, self.dbapi.InterfaceError) if isinstance(e, exceptions): - return e.errno in errnos + return e.errno in errnos or \ + "MySQL Connection not available." in str(e) else: return False diff -r 715efae23997 -r dee8f4562edc test/engine/test_reconnect.py --- a/test/engine/test_reconnect.py Mon Apr 29 19:21:44 2013 -0400 +++ b/test/engine/test_reconnect.py Mon Apr 29 19:50:08 2013 -0400 @@ -617,19 +617,12 @@ meta.drop_all() engine.dispose() - @testing.fails_on('+cymysql', - "Buffers the result set and doesn't check for " - "connection close") - @testing.fails_on('+pymysql', - "Buffers the result set and doesn't check for " - "connection close") - @testing.fails_on('+mysqldb', - "Buffers the result set and doesn't check for " - "connection close") - @testing.fails_on('+pg8000', - "Buffers the result set and doesn't check for " - "connection close") - @testing.fails_on('+informixdb', + @testing.fails_if([ + '+mysqlconnector', '+mysqldb' + '+cymysql', '+pymysql', '+pg8000' + ], "Buffers the result set and doesn't check for " + "connection close") + @testing.fails_if('+informixdb', "Wrong error thrown, fix in informixdb?") def test_invalidate_on_results(self): conn = engine.connect() |