summaryrefslogtreecommitdiff
path: root/sql/multi_range_read.cc
diff options
context:
space:
mode:
authorMichael Widenius <monty@askmonty.org>2011-02-18 21:45:32 +0200
committerMichael Widenius <monty@askmonty.org>2011-02-18 21:45:32 +0200
commit2813f568b74a65d5d2ce8bbcada2c99d1a01815a (patch)
treef952fbb67d84e7ee8fe7bf9b7d271a6bebc35c78 /sql/multi_range_read.cc
parentbbd4bb310d7b500a57be56b8f0501fa8eee6d40f (diff)
parentb12e3796dc70466eca5ef3f25d51234b32af5113 (diff)
downloadmariadb-git-2813f568b74a65d5d2ce8bbcada2c99d1a01815a.tar.gz
Merge with bugfix
sql/multi_range_read.cc: Added printing of error if something goes wrong in get_next() (Not critical for this bug fix, but this was something that I noticed while testing and found missing) storage/myisam/mi_rkey.c: Fixed wrong error number in mi_yield_and_check_if_killed()
Diffstat (limited to 'sql/multi_range_read.cc')
-rw-r--r--sql/multi_range_read.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/sql/multi_range_read.cc b/sql/multi_range_read.cc
index d9dcd354b3e..3aeb75fd896 100644
--- a/sql/multi_range_read.cc
+++ b/sql/multi_range_read.cc
@@ -316,6 +316,8 @@ int Mrr_simple_index_reader::get_next(char **range_info)
!file->mrr_funcs.skip_index_tuple(file->mrr_iter, curr_range->ptr))
break;
}
+ if (res && res != HA_ERR_END_OF_FILE && res != HA_ERR_KEY_NOT_FOUND)
+ file->print_error(res, MYF(0)); // Fatal error
return res;
}
@@ -333,7 +335,7 @@ int Mrr_simple_index_reader::get_next(char **range_info)
@retval 0 OK, next record was successfully read
@retval HA_ERR_END_OF_FILE End of records
- @retval Other Some other error
+ @retval Other Some other error; Error is printed
*/
int Mrr_ordered_index_reader::get_next(char **range_info)
@@ -349,7 +351,7 @@ int Mrr_ordered_index_reader::get_next(char **range_info)
{
if ((res != HA_ERR_KEY_NOT_FOUND && res != HA_ERR_END_OF_FILE))
DBUG_RETURN(res); /* Some fatal error */
-
+
if (key_buffer->is_empty())
{
DBUG_RETURN(HA_ERR_END_OF_FILE);
@@ -902,7 +904,7 @@ error:
close_second_handler();
/* Safety, not really needed but: */
strategy= NULL;
- DBUG_RETURN(1);
+ DBUG_RETURN(res);
use_default_impl:
DBUG_ASSERT(primary_file->inited == handler::INDEX);