summaryrefslogtreecommitdiff
path: root/storage/myisam/mi_search.c
diff options
context:
space:
mode:
Diffstat (limited to 'storage/myisam/mi_search.c')
-rw-r--r--storage/myisam/mi_search.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/storage/myisam/mi_search.c b/storage/myisam/mi_search.c
index 1dd6c6b5f0d..766e54bde30 100644
--- a/storage/myisam/mi_search.c
+++ b/storage/myisam/mi_search.c
@@ -28,9 +28,15 @@ int _mi_check_index(MI_INFO *info, int inx)
{
if (inx == -1) /* Use last index */
inx=info->lastinx;
- if (inx < 0 || ! mi_is_key_active(info->s->state.key_map, inx))
+ if (inx < 0)
{
- my_errno=HA_ERR_WRONG_INDEX;
+ my_errno= HA_ERR_WRONG_INDEX;
+ return -1;
+ }
+ if (!mi_is_key_active(info->s->state.key_map, inx))
+ {
+ my_errno= info->s->state.state.records ? HA_ERR_WRONG_INDEX :
+ HA_ERR_END_OF_FILE;
return -1;
}
if (info->lastinx != inx) /* Index changed */