From 65680b2343ef421a62582e23e2b35293732933ad Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Fri, 1 Sep 2017 12:31:38 -0400 Subject: Add InternalError for mysqlclient disconnect mysqlclient as of 1.3.11 changed the exception class for a particular disconnect situation from InterfaceError to InternalError; the disconnection detection logic now accommodates this. Change-Id: I294f90f794491fd363548719222d8e3008480615 Fixes: #4065 --- lib/sqlalchemy/dialects/mysql/base.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'lib/sqlalchemy/dialects') diff --git a/lib/sqlalchemy/dialects/mysql/base.py b/lib/sqlalchemy/dialects/mysql/base.py index 5b01b2c1f..976ff367b 100644 --- a/lib/sqlalchemy/dialects/mysql/base.py +++ b/lib/sqlalchemy/dialects/mysql/base.py @@ -1785,7 +1785,8 @@ class MySQLDialect(default.DefaultDialect): self.dbapi.ProgrammingError)): return self._extract_error_code(e) in \ (2006, 2013, 2014, 2045, 2055) - elif isinstance(e, self.dbapi.InterfaceError): + elif isinstance( + e, (self.dbapi.InterfaceError, self.dbapi.InternalError)): # if underlying connection is closed, # this is the error you get return "(0, '')" in str(e) -- cgit v1.2.1