Index: driver/error.c =================================================================== --- driver/error.c (revision 781) +++ driver/error.c (working copy) @@ -248,6 +248,8 @@ break; case CR_SERVER_HANDSHAKE_ERR: case CR_CONNECTION_ERROR: + case CR_SERVER_GONE_ERROR: + case CR_SERVER_LOST: state= "08S01"; break; default: break; Index: test/my_error.c =================================================================== --- test/my_error.c (revision 781) +++ test/my_error.c (working copy) @@ -322,7 +322,7 @@ #endif ADD_TEST(t_diagrec) ADD_TEST(t_warning) - ADD_TODO(t_bug3456) + ADD_TEST(t_bug3456) ADD_TEST(t_bug16224) ADD_TEST(bind_invalidcol) ADD_TEST(getdata_need_nullind) Index: ChangeLog =================================================================== --- ChangeLog (revision 781) +++ ChangeLog (working copy) @@ -3,6 +3,8 @@ Functionality added or changed: Bugs fixed: + * The wrong SQLSTATE was reported when the connection to the server + was lost. (Bug #3456) * SQLDescribeCol() incorrectly reported whether auto-increment and some timestamp fields were nullable. (Bug #26108) * SQLGetTypeInfo() reported the wrong column size for the SQL_TYPE_TIME