1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-01 03:47:19 +03:00

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

packet is issued.



BitKeeper/deleted/.del-net.c~ef21d6402bb882f9:
  Delete: libmysql/net.c
sql/sql_select.cc:
  reversing a fix, but we shall yet see about this one ...
This commit is contained in:
unknown
2003-01-04 21:02:58 +02:00
parent 4c23977185
commit b2c904ec67
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;