1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-27 18:02:13 +03:00

Fixing that 3.23 API / clients do not disconnect if a large

packet is issued.
This commit is contained in:
Sinisa@sinisa.nasamreza.org
2003-01-04 21:02:58 +02:00
parent c6e42dfaf3
commit 0ccaf94016
4 changed files with 35 additions and 696 deletions

View File

@ -456,14 +456,23 @@ simple_command(MYSQL *mysql,enum enum_server_command command, const char *arg,
length ? length : (ulong) strlen(arg)))
{
DBUG_PRINT("error",("Can't send command to server. Error: %d",socket_errno));
end_server(mysql);
if (mysql_reconnect(mysql) ||
net_write_command(net,(uchar) command,arg,
length ? length : (ulong) strlen(arg)))
if (net->last_errno == ER_NET_PACKET_TOO_LARGE)
{
net->last_errno=CR_SERVER_GONE_ERROR;
net->last_errno=CR_NET_PACKET_TOO_LARGE;
strmov(net->last_error,ER(net->last_errno));
goto end;
return(packet_error);
}
else
{
end_server(mysql);
if (mysql_reconnect(mysql) ||
net_write_command(net,(uchar) command,arg,
length ? length : (ulong) strlen(arg)))
{
net->last_errno=CR_SERVER_GONE_ERROR;
strmov(net->last_error,ER(net->last_errno));
goto end;
}
}
}
result=0;