diff options
author | unknown <monty@mashka.mysql.fi> | 2003-01-02 16:26:26 +0200 |
---|---|---|
committer | unknown <monty@mashka.mysql.fi> | 2003-01-02 16:26:26 +0200 |
commit | 5fcd61bec6600a83e9ed9fba2ba380b8f5a66a35 (patch) | |
tree | d5f028634bcbaae2571568955a56ea1b2b5c266b | |
parent | 58d02995bb5776ff0264e91281b6e23c98f2791f (diff) | |
parent | e4b0ba04437779b660b25956153902d81a4d56e9 (diff) | |
download | mariadb-git-5fcd61bec6600a83e9ed9fba2ba380b8f5a66a35.tar.gz |
Merge work:/my/mysql-4.0 into mashka.mysql.fi:/home/my/mysql-4.0
sql/net_serv.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
-rw-r--r-- | sql/net_serv.cc | 21 | ||||
-rw-r--r-- | sql/sql_parse.cc | 6 |
2 files changed, 24 insertions, 3 deletions
diff --git a/sql/net_serv.cc b/sql/net_serv.cc index 0d4cf9b9444..49454c9df2c 100644 --- a/sql/net_serv.cc +++ b/sql/net_serv.cc @@ -479,6 +479,7 @@ static void my_net_skip_rest(NET *net, uint32 remain, thr_alarm_t *alarmed) ALARM alarm_buff; uint retry_count=0; my_bool old_mode; + uint32 old=remain; if (!thr_alarm_in_use(&alarmed)) { @@ -500,6 +501,12 @@ static void my_net_skip_rest(NET *net, uint32 remain, thr_alarm_t *alarmed) return; } remain -= (uint32) length; + if (!remain && old==MAX_THREE_BYTES && + (length=vio_read(net->vio,(char*) net->buff,NET_HEADER_SIZE))) + { + old=remain= uint3korr(net->buff); + net->pkt_nr++; + } statistic_add(bytes_received,length,&LOCK_bytes_received); } } @@ -660,11 +667,19 @@ my_real_read(NET *net, ulong *complen) { if (net_realloc(net,helping)) { +#ifdef MYSQL_SERVER #ifndef NO_ALARM - if (i == 1) - my_net_skip_rest(net, (uint32) len, &alarmed); + if (net->compress) + { + len= packet_error; + goto end; + } + my_net_skip_rest(net, (uint32) len, &alarmed); + len=0; +#endif +#else + len= packet_error; /* Return error */ #endif - len= packet_error; /* Return error */ goto end; } } diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index 7caf75b6639..0f072a73ac6 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -886,6 +886,12 @@ bool do_command(THD *thd) vio_description(net->vio) )); return TRUE; } + else if (!packet_length) + { + send_error(net,net->last_errno,NullS); + net->error=0; + DBUG_RETURN(FALSE); + } else { packet=(char*) net->read_pos; |