--- /dev/null
+.. change::
+ :tags: bug, mysql
+ :tickets: 8036
+
+ Added disconnect code for MySQL error 4031, introduced in MySQL >= 8.0.24,
+ indicating connection idle timeout exceeded. In particular this repairs an
+ issue where pre-ping could not reconnect on a timed-out connection. Pull
+ request courtesy valievkarim.
(2006, "foo", "OperationalError", "pymysql", True),
(2007, "foo", "OperationalError", "mysqldb", False),
(2007, "foo", "OperationalError", "pymysql", False),
+ (4031, "foo", "OperationalError", "mysqldb", True),
+ (4031, "foo", "OperationalError", "pymysql", True),
+ (4032, "foo", "OperationalError", "mysqldb", False),
+ (4032, "foo", "OperationalError", "pymysql", False),
)
def test_is_disconnect(
self, arg0, message, exc_cls_name, dialect_name, is_disconnect