summaryrefslogtreecommitdiff
path: root/sql/multi_range_read.cc
diff options
context:
space:
mode:
authorSergey Petrunya <psergey@askmonty.org>2010-11-02 19:32:26 +0300
committerSergey Petrunya <psergey@askmonty.org>2010-11-02 19:32:26 +0300
commit59db1d7a3939fde90cfe743ec9c2d81e5b57dc42 (patch)
tree99420ea52a8437e08d54e635a9d25f6c88d4fa72 /sql/multi_range_read.cc
parent5bdf4f06c9a30c95352548e7870580338dcf80af (diff)
downloadmariadb-git-59db1d7a3939fde90cfe743ec9c2d81e5b57dc42.tar.gz
Address problems uncovered by buildbot
- Update test results - Handle the case where MRR implementation doesn't get any key tuples at all
Diffstat (limited to 'sql/multi_range_read.cc')
-rw-r--r--sql/multi_range_read.cc11
1 files changed, 6 insertions, 5 deletions
diff --git a/sql/multi_range_read.cc b/sql/multi_range_read.cc
index f577d4598e3..a6a75c1d06e 100644
--- a/sql/multi_range_read.cc
+++ b/sql/multi_range_read.cc
@@ -479,16 +479,17 @@ int Mrr_ordered_index_reader::refill_buffer()
}
no_more_keys= test(res);
+ scanning_key_val_iter= FALSE;
+ index_scan_eof= FALSE;
+
+ if (no_more_keys && (!know_key_tuple_params || key_buffer->is_empty()))
+ DBUG_RETURN(HA_ERR_END_OF_FILE);
key_buffer->sort((key_buffer->type() == Lifo_buffer::FORWARD)?
(qsort2_cmp)Mrr_ordered_index_reader::key_tuple_cmp_reverse :
(qsort2_cmp)Mrr_ordered_index_reader::key_tuple_cmp,
(void*)this);
-
- scanning_key_val_iter= FALSE;
- index_scan_eof= FALSE;
-
- DBUG_RETURN((no_more_keys && key_buffer->is_empty())? HA_ERR_END_OF_FILE:0);
+ DBUG_RETURN(0);
}