DS-MRR improvements

- buildbot test failure fixes: don't try to get more records from SimpleIndexReader
  if we've already got EOF for it.
This commit is contained in:
Sergey Petrunya 2010-10-29 13:42:48 +04:00
commit 1e82320d27
2 changed files with 6 additions and 2 deletions

View file

@ -303,6 +303,7 @@ int Mrr_simple_index_reader::init(handler *h_arg, RANGE_SEQ_IF *seq_funcs,
{
HANDLER_BUFFER no_buffer = {NULL, NULL, NULL};
h= h_arg;
res= 0;
return h->handler::multi_range_read_init(seq_funcs, seq_init_param, n_ranges,
mode, &no_buffer);
}
@ -559,6 +560,9 @@ int Mrr_ordered_rndpos_reader::refill_buffer()
last_identical_rowid= NULL;
if (index_reader->eof())
DBUG_RETURN(0);
while (rowid_buffer->can_write())
{
res= index_reader->get_next(&range_info);

View file

@ -126,8 +126,8 @@ public:
index tuple or a table record.
Getting HA_ERR_END_OF_FILE from get_next() means that the source should be
re-filled. if eof() returns true after refill attempt, then end of stream has
been reached and get_next() must not be called anymore.
re-filled. if eof() returns true after refill attempt, then the end of
stream has been reached and get_next() must not be called anymore.
*/
class Mrr_reader