mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
flush bulk-insert tree on dup key
This commit is contained in:
parent
bff093a06d
commit
a7e40c570e
3 changed files with 30 additions and 0 deletions
|
@ -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…
Reference in a new issue