diff options
author | unknown <monty@hundin.mysql.fi> | 2001-06-24 22:11:00 +0300 |
---|---|---|
committer | unknown <monty@hundin.mysql.fi> | 2001-06-24 22:11:00 +0300 |
commit | a96e1b6954f56504b831c61bae50899b79575827 (patch) | |
tree | 2c5662a19583d6ae066e383d5de337ae60cf618f /libmysqld | |
parent | 8f33f8d4d36080b161fac72971239afd4bf3137f (diff) | |
download | mariadb-git-a96e1b6954f56504b831c61bae50899b79575827.tar.gz |
Fixed bug in multi-table-delete code
client/mysqltest.c:
Added --big-test argument
libmysqld/lib_sql.cc:
Reset error messages before new query.
libmysqld/lib_vio.c:
Fixed reading of results.
mysql-test/mysql-test-run.sh:
Added option --big
mysql-test/r/multi_update.result:
More multi-delete tests
mysql-test/t/bdb-crash.test:
Added missing test if BDB is supported
mysql-test/t/multi_update.test:
More multi-delete tests
Diffstat (limited to 'libmysqld')
-rw-r--r-- | libmysqld/lib_sql.cc | 25 | ||||
-rw-r--r-- | libmysqld/lib_vio.c | 2 |
2 files changed, 16 insertions, 11 deletions
diff --git a/libmysqld/lib_sql.cc b/libmysqld/lib_sql.cc index 323bf42cf92..a633d6f583b 100644 --- a/libmysqld/lib_sql.cc +++ b/libmysqld/lib_sql.cc @@ -74,6 +74,9 @@ bool lib_dispatch_command(enum enum_server_command command, NET *net, { THD *thd=(THD *) net->vio->dest_thd; thd->store_globals(); // Fix if more than one connect + thd->net.last_error[0]=0; // Clear error message + thd->net.last_errno=0; + net_new_transaction(&thd->net); return dispatch_command(command, thd, (char *) arg, length + 1); } @@ -83,17 +86,17 @@ bool lib_dispatch_command(enum enum_server_command command, NET *net, void lib_connection_phase(NET * net, int phase) { - THD * thd; - thd = (THD *)(net->vio->dest_thd); - if (thd) - { - switch (phase) - { - case 2: - check_connections2(thd); - break; - } - } + THD * thd; + thd = (THD *)(net->vio->dest_thd); + if (thd) + { + switch (phase) + { + case 2: + check_connections2(thd); + break; + } + } } } void start_embedded_conn1(NET * net) diff --git a/libmysqld/lib_vio.c b/libmysqld/lib_vio.c index 35deaf8d090..fd4eb4ac29f 100644 --- a/libmysqld/lib_vio.c +++ b/libmysqld/lib_vio.c @@ -139,6 +139,8 @@ int vio_read(Vio * vio, gptr buf, int size) uint4korr(vio->packets + sizeof(char *)); vio->packets = *(char **)vio->packets; } + if (vio->where_in_packet + size > vio->end_of_packet) + size = vio->end_of_packet - vio->where_in_packet; memcpy(buf, vio->where_in_packet, size); vio->where_in_packet += size; return (size); |