diff options
author | unknown <serg@serg.mysql.com> | 2001-09-18 00:46:16 +0200 |
---|---|---|
committer | unknown <serg@serg.mysql.com> | 2001-09-18 00:46:16 +0200 |
commit | 128d1bad54c440c735a01b85ae48a7a59773ccf9 (patch) | |
tree | 2c9dafde4d6b651e9576fe99bb281b96bfc8f911 | |
parent | d8ae9669cd11f9c61105a9cbf19f9318a0e783fc (diff) | |
parent | e3dee590c1d97710c629556b43826478d01b7850 (diff) | |
download | mariadb-git-128d1bad54c440c735a01b85ae48a7a59773ccf9.tar.gz |
Merge work:/home/bk/mysql-4.0
into serg.mysql.com:/usr/home/serg/Abk/mysql-4.0
myisam/mi_write.c:
Auto merged
-rw-r--r-- | myisam/mi_write.c | 11 | ||||
-rw-r--r-- | mysql-test/r/bulk_replace.result | 5 | ||||
-rw-r--r-- | mysql-test/t/bulk_replace.test | 14 |
3 files changed, 30 insertions, 0 deletions
diff --git a/myisam/mi_write.c b/myisam/mi_write.c index 5b3e8d541c7..e1b147d02e9 100644 --- a/myisam/mi_write.c +++ b/myisam/mi_write.c @@ -156,6 +156,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) { diff --git a/mysql-test/r/bulk_replace.result b/mysql-test/r/bulk_replace.result new file mode 100644 index 00000000000..80eedd277a1 --- /dev/null +++ b/mysql-test/r/bulk_replace.result @@ -0,0 +1,5 @@ +a b c +3 1 3 +2 2 2 +Table Op Msg_type Msg_text +test.t1 check status OK diff --git a/mysql-test/t/bulk_replace.test b/mysql-test/t/bulk_replace.test new file mode 100644 index 00000000000..d366004c16f --- /dev/null +++ b/mysql-test/t/bulk_replace.test @@ -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; + |