flush bulk-insert tree on dup key
This commit is contained in:
parent
e0e42a7918
commit
e3dee590c1
@ -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)
|
||||
{
|
||||
|
5
mysql-test/r/bulk_replace.result
Normal file
5
mysql-test/r/bulk_replace.result
Normal file
@ -0,0 +1,5 @@
|
||||
a b c
|
||||
3 1 3
|
||||
2 2 2
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
14
mysql-test/t/bulk_replace.test
Normal file
14
mysql-test/t/bulk_replace.test
Normal file
@ -0,0 +1,14 @@
|
||||
#
|
||||
# this is a test of bulk-insert code
|
||||
# as used by REPLACE
|
||||
#
|
||||
# by Monty
|
||||
#
|
||||
|
||||
drop table if exists t1;
|
||||
CREATE TABLE t1 (a int, unique (a), b int not null, unique(b), c int not null, index(c));
|
||||
replace into t1 values (1,1,1),(2,2,2),(3,1,3);
|
||||
select * from t1;
|
||||
check table t1;
|
||||
drop table t1;
|
||||
|
Loading…
x
Reference in New Issue
Block a user