diff options
author | unknown <istruewing@chilla.local> | 2006-09-28 11:41:38 +0200 |
---|---|---|
committer | unknown <istruewing@chilla.local> | 2006-09-28 11:41:38 +0200 |
commit | 24a1e6f60504146789fba904ab93528bbc3b477e (patch) | |
tree | 02636356530231af348aff8b278aa29ca087f0ff /myisam | |
parent | ac746932e8e8505e33bf148234ba2b9d53e8b8b9 (diff) | |
download | mariadb-git-24a1e6f60504146789fba904ab93528bbc3b477e.tar.gz |
Bug#22384 - DELETE FROM table causes "Incorrect key file for table"
Deletes on a big index could crash the index when it needs to
shrink.
Put a forgotten negation operator in.
No test case. It is too big for the test suite. And it does not
work with 4.0, only with higher versions. It is attached to the
bug report.
myisam/mi_delete.c:
Bug#22384 - DELETE FROM table causes "Incorrect key file for table"
Put a negation operator ('!') before _mi_get_last_key() in del().
It returns NULL on error, non-NULL on success.
Diffstat (limited to 'myisam')
-rw-r--r-- | myisam/mi_delete.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/myisam/mi_delete.c b/myisam/mi_delete.c index 6f94e3c4256..2c7e2b28a3d 100644 --- a/myisam/mi_delete.c +++ b/myisam/mi_delete.c @@ -348,7 +348,7 @@ static int del(register MI_INFO *info, register MI_KEYDEF *keyinfo, uchar *key, else { DBUG_PRINT("test",("Inserting of key when deleting")); - if (_mi_get_last_key(info,keyinfo,leaf_buff,keybuff,endpos, + if (!_mi_get_last_key(info,keyinfo,leaf_buff,keybuff,endpos, &tmp)) goto err; ret_value=_mi_insert(info,keyinfo,key,leaf_buff,endpos,keybuff, |