]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
is_disconnect() in cymysql dialect
authorHajime Nakagami <nakagami@gmail.com>
Sat, 2 Mar 2013 04:37:00 +0000 (13:37 +0900)
committerHajime Nakagami <nakagami@gmail.com>
Sat, 2 Mar 2013 04:37:00 +0000 (13:37 +0900)
lib/sqlalchemy/dialects/mysql/cymysql.py

index ddd9ac3223a274f8347381e7027d80b4e2ca6413..d9b43869c4c87db823528bf4386bd3935cee8bf1 100644 (file)
@@ -58,4 +58,15 @@ class MySQLDialect_cymysql(MySQLDialect_mysqldb):
     def _extract_error_code(self, exception):
         return exception.errno
 
+    def is_disconnect(self, e, connection, cursor):
+        if isinstance(e, self.dbapi.OperationalError):
+            return self._extract_error_code(e) in \
+                        (2006, 2013, 2014, 2045, 2055)
+        elif isinstance(e, self.dbapi.InterfaceError):
+            # if underlying connection is closed,
+            # this is the error you get
+            return True
+        else:
+            return False
+
 dialect = MySQLDialect_cymysql