summaryrefslogtreecommitdiff
path: root/mysql-test/r/maria_mrr.result
diff options
context:
space:
mode:
authorSergey Petrunya <psergey@askmonty.org>2011-03-02 23:08:13 +0300
committerSergey Petrunya <psergey@askmonty.org>2011-03-02 23:08:13 +0300
commit9faf5452a1ea75e21f5b6eedcbbc3ccf9606f496 (patch)
treea7070a1b5f58ff0c7bfd793b25428cc959fb3ba1 /mysql-test/r/maria_mrr.result
parentc6ba9598026b06f5d64e7508abb652ac22d50e48 (diff)
downloadmariadb-git-9faf5452a1ea75e21f5b6eedcbbc3ccf9606f496.tar.gz
BUG#693747: Assertion multi_range_read.cc:908: int DsMrr_impl::dsmrr_init
- Make DsMrr_impl::dsmrr_init() handle the case of 1. 1st MRR scan using DS-MRR strategy (i.e. doing key sorting and rowid sorting) 2. 2nd MRR scan getting a buffer that's too small to fit one key element and one rowid element, and so falling back to default MRR implementation In this case, dsmrr_init() is invoked with {primary_handler, secondary_handler} initialized for DS-MRR scan and have to reset them to be initialized for the default MRR scan. (attempt 2, with simplified testcase)
Diffstat (limited to 'mysql-test/r/maria_mrr.result')
-rw-r--r--mysql-test/r/maria_mrr.result25
1 files changed, 25 insertions, 0 deletions
diff --git a/mysql-test/r/maria_mrr.result b/mysql-test/r/maria_mrr.result
index bf1173e0bed..ac4ad6caf77 100644
--- a/mysql-test/r/maria_mrr.result
+++ b/mysql-test/r/maria_mrr.result
@@ -403,3 +403,28 @@ table1.col_varchar_1024_latin1_key = table2.col_varchar_10_latin1 AND table1.pk<
count(*)
0
drop table t1, t2;
+#
+# BUG#693747: Assertion multi_range_read.cc:908: int DsMrr_impl::dsmrr_init(
+#
+set @_save_join_cache_level= @@join_cache_level;
+set @_save_join_buffer_size= @@join_buffer_size;
+set join_cache_level=8;
+set join_buffer_size=10000;
+CREATE TABLE t1 (
+f2 varchar(32) COLLATE latin1_swedish_ci,
+f3 int(11),
+f4 varchar(1024) COLLATE utf8_bin,
+f5 varchar(1024) COLLATE latin1_bin,
+KEY (f5)
+) ENGINE=Aria TRANSACTIONAL=0 ;
+# Fill the table with some data
+SELECT alias2.* , alias1.f2
+FROM
+t1 AS alias1
+LEFT JOIN t1 AS alias2 ON alias1.f2 = alias2.f5
+WHERE
+alias2.f3 < 0;
+f2 f3 f4 f5 f2
+set join_cache_level=@_save_join_cache_level;
+set join_buffer_size=@_save_join_buffer_size;
+drop table t1;