summaryrefslogtreecommitdiff
path: root/myisam/mi_write.c
diff options
context:
space:
mode:
authorunknown <serg@serg.mysql.com>2001-09-15 17:04:04 +0200
committerunknown <serg@serg.mysql.com>2001-09-15 17:04:04 +0200
commitcf6ffb955a6dd9f4fb976a3b84d70e6b91c07a4e (patch)
tree0a39c85ebe4c8d2392b352c14513f3767a58cd3b /myisam/mi_write.c
parent61e654610f529212e45911e407ce339af4a6f070 (diff)
downloadmariadb-git-cf6ffb955a6dd9f4fb976a3b84d70e6b91c07a4e.tar.gz
flush bulk-insert tree on dup key
Diffstat (limited to 'myisam/mi_write.c')
-rw-r--r--myisam/mi_write.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/myisam/mi_write.c b/myisam/mi_write.c
index 81064dd1d6a..7ad71f44217 100644
--- a/myisam/mi_write.c
+++ b/myisam/mi_write.c
@@ -152,6 +152,17 @@ err:
save_errno=my_errno;
if (my_errno == HA_ERR_FOUND_DUPP_KEY || my_errno == HA_ERR_RECORD_FILE_FULL)
{
+ if (info->bulk_insert)
+ {
+ int j;
+ for (j=0 ; j < share->base.keys ; j++)
+ {
+ if (is_tree_inited(& info->bulk_insert[j]))
+ {
+ reset_tree(& info->bulk_insert[j]);
+ }
+ }
+ }
info->errkey= (int) i;
while ( i-- > 0)
{