diff --git a/lib/MySQL_Session.cpp b/lib/MySQL_Session.cpp index a95e017f0..d00b008b8 100644 --- a/lib/MySQL_Session.cpp +++ b/lib/MySQL_Session.cpp @@ -2872,7 +2872,7 @@ handler_again: handler_ret = -1; return handler_ret; } - if (myerr >= 2000) { + if (myerr >= 2000 && myerr < 3000) { bool retry_conn=false; // client error, serious proxy_error("Detected a broken connection during query on (%d,%s,%d) , FD (Conn:%d , MyDS:%d) : %d, %s\n", myconn->parent->myhgc->hid, myconn->parent->address, myconn->parent->port, myds->fd, myds->myconn->fd, myerr, ( errmsg ? errmsg : mysql_error(myconn->mysql))); @@ -3771,6 +3771,7 @@ bool MySQL_Session::handler___status_WAITING_CLIENT_DATA___STATE_SLEEP___MYSQL_C if (strncasecmp(dig,(char *)"SET ",4)==0) { int rc; string nq=string((char *)CurrentQuery.QueryPointer,CurrentQuery.QueryLength); + RE2::GlobalReplace(&nq,(char *)"^/\\*!\\d\\d\\d\\d\\d SET(.*)\\*/",(char *)"SET\\1"); RE2::GlobalReplace(&nq,(char *)"(?U)/\\*.*\\*/",(char *)""); if (match_regexes && match_regexes[0]->match(dig)) { re2::RE2::Options *opt2=new re2::RE2::Options(RE2::Quiet);