summaryrefslogtreecommitdiff
path: root/storage/myisam
diff options
context:
space:
mode:
Diffstat (limited to 'storage/myisam')
-rw-r--r--storage/myisam/mi_key.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/storage/myisam/mi_key.c b/storage/myisam/mi_key.c
index ff07920caa8..ed72acf627e 100644
--- a/storage/myisam/mi_key.c
+++ b/storage/myisam/mi_key.c
@@ -563,7 +563,15 @@ check_result_t mi_check_index_tuple(MI_INFO *info, uint keynr, uchar *record)
if (need_unpack && mi_unpack_index_tuple(info, keynr, record))
res= CHECK_ERROR;
else
- res= info->rowid_filter_func(info->rowid_filter_func_arg);
+ {
+ if ((res= info->rowid_filter_func(info->rowid_filter_func_arg)) ==
+ CHECK_OUT_OF_RANGE)
+ {
+ /* We got beyond the end of scanned range */
+ info->lastpos= HA_OFFSET_ERROR; /* No active record */
+ my_errno= HA_ERR_END_OF_FILE;
+ }
+ }
}
return res;
}