Minor bug fixes

- Handling Query execution was interrupted
- query timeout was incorrectly set to connect timeout
pull/429/head
René Cannaò 11 years ago
parent 42abc51d76
commit ff3d2ac2d3

@ -658,7 +658,7 @@ handler_again:
mybe->server_myds->max_connect_time=0; mybe->server_myds->max_connect_time=0;
} }
if ( if (
(mybe->server_myds->myconn && mybe->server_myds->wait_until && thread->curtime >= mybe->server_myds->wait_until) (mybe->server_myds->myconn && mybe->server_myds->myconn!=ASYNC_IDLE && mybe->server_myds->wait_until && thread->curtime >= mybe->server_myds->wait_until)
// query timed out // query timed out
|| ||
(killed==true) // session was killed by admin (killed==true) // session was killed by admin
@ -817,6 +817,10 @@ handler_again:
bool retry_conn=false; bool retry_conn=false;
switch (myerr) { switch (myerr) {
case 1317: // Query execution was interrupted
if (killed==true || myds->killed_at) {
return -1;
}
case 1290: // read-only case 1290: // read-only
if ((myds->myconn->reusable==true) && myds->myconn->IsActiveTransaction()==false && myds->myconn->MultiplexDisabled()==false) { if ((myds->myconn->reusable==true) && myds->myconn->IsActiveTransaction()==false && myds->myconn->MultiplexDisabled()==false) {
retry_conn=true; retry_conn=true;
@ -1105,6 +1109,7 @@ handler_again:
status=WAITING_CLIENT_DATA; status=WAITING_CLIENT_DATA;
st=previous_status.top(); st=previous_status.top();
previous_status.pop(); previous_status.pop();
myds->wait_until=0;
NEXT_IMMEDIATE(st); NEXT_IMMEDIATE(st);
break; break;
case -1: case -1:

Loading…
Cancel
Save