Commit 24a1e6f6 authored by unknown's avatar unknown

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.
parent ac746932
...@@ -348,7 +348,7 @@ static int del(register MI_INFO *info, register MI_KEYDEF *keyinfo, uchar *key, ...@@ -348,7 +348,7 @@ static int del(register MI_INFO *info, register MI_KEYDEF *keyinfo, uchar *key,
else else
{ {
DBUG_PRINT("test",("Inserting of key when deleting")); 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)) &tmp))
goto err; goto err;
ret_value=_mi_insert(info,keyinfo,key,leaf_buff,endpos,keybuff, ret_value=_mi_insert(info,keyinfo,key,leaf_buff,endpos,keybuff,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment