Commit a7e40c57 authored by serg@serg.mysql.com's avatar serg@serg.mysql.com
Browse files

flush bulk-insert tree on dup key

parent bff093a0
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -152,6 +152,17 @@ int mi_write(MI_INFO *info, byte *record)
  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 −0
Original line number Diff line number Diff line
a	b	c
3	1	3
2	2	2
Table	Op	Msg_type	Msg_text
test.t1	check	status	OK
+14 −0
Original line number Diff line number Diff line
#
# 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;