mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
BUG#671361: virtual int Mrr_ordered_index_reader::refill_buffer(): Assertion `!know_key_tuple_params
- Make sure we have enough space for both rowids and keys.
This commit is contained in:
@ -365,3 +365,40 @@ id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 ALL PRIMARY,idx NULL NULL NULL 16 Using where; Using join buffer (flat, BNL join)
|
||||
1 SIMPLE t3 ref PRIMARY,idx idx 3 test.t2.v 2 Using index condition; Using where
|
||||
DROP TABLE t1,t2,t3;
|
||||
#
|
||||
# BUG#671361: virtual int Mrr_ordered_index_reader::refill_buffer(): Assertion `!know_key_tuple_params
|
||||
# (works only on Maria because we need 1024-byte long key)
|
||||
#
|
||||
SET SESSION optimizer_use_mrr = 'force';
|
||||
SET SESSION join_cache_level = 6;
|
||||
SET SESSION join_buffer_size = 1024;
|
||||
CREATE TABLE t1 (
|
||||
pk int(11) NOT NULL AUTO_INCREMENT,
|
||||
col_varchar_1024_latin1_key varchar(1024) DEFAULT NULL,
|
||||
PRIMARY KEY (pk),
|
||||
KEY col_varchar_1024_latin1_key (col_varchar_1024_latin1_key)
|
||||
) ENGINE=Aria;
|
||||
INSERT INTO t1 VALUES
|
||||
(1,'z'),
|
||||
(2,'abcdefjhjkl'),
|
||||
(3,'in'),
|
||||
(4,'abcdefjhjkl'),
|
||||
(6,'abcdefjhjkl');
|
||||
CREATE TABLE t2 (
|
||||
col_varchar_10_latin1 varchar(10) DEFAULT NULL
|
||||
) ENGINE=Aria;
|
||||
INSERT INTO t2 VALUES ('foo'), ('foo');
|
||||
EXPLAIN SELECT count(*)
|
||||
FROM t1 AS table1, t2 AS table2
|
||||
WHERE
|
||||
table1.col_varchar_1024_latin1_key = table2.col_varchar_10_latin1 AND table1.pk<>0 ;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE table2 ALL NULL NULL NULL NULL 2 Using where
|
||||
1 SIMPLE table1 ref PRIMARY,col_varchar_1024_latin1_key col_varchar_1024_latin1_key 1027 test.table2.col_varchar_10_latin1 2 Using index condition(BKA); Using where; Using join buffer (flat, BKA join)
|
||||
SELECT count(*)
|
||||
FROM t1 AS table1, t2 AS table2
|
||||
WHERE
|
||||
table1.col_varchar_1024_latin1_key = table2.col_varchar_10_latin1 AND table1.pk<>0 ;
|
||||
count(*)
|
||||
0
|
||||
drop table t1, t2;
|
||||
|
@ -87,7 +87,41 @@ EXPLAIN
|
||||
|
||||
DROP TABLE t1,t2,t3;
|
||||
|
||||
--echo #
|
||||
--echo # BUG#671361: virtual int Mrr_ordered_index_reader::refill_buffer(): Assertion `!know_key_tuple_params
|
||||
--echo # (works only on Maria because we need 1024-byte long key)
|
||||
--echo #
|
||||
|
||||
SET SESSION optimizer_use_mrr = 'force';
|
||||
SET SESSION join_cache_level = 6;
|
||||
SET SESSION join_buffer_size = 1024;
|
||||
CREATE TABLE t1 (
|
||||
pk int(11) NOT NULL AUTO_INCREMENT,
|
||||
col_varchar_1024_latin1_key varchar(1024) DEFAULT NULL,
|
||||
PRIMARY KEY (pk),
|
||||
KEY col_varchar_1024_latin1_key (col_varchar_1024_latin1_key)
|
||||
) ENGINE=Aria;
|
||||
|
||||
INSERT INTO t1 VALUES
|
||||
(1,'z'),
|
||||
(2,'abcdefjhjkl'),
|
||||
(3,'in'),
|
||||
(4,'abcdefjhjkl'),
|
||||
(6,'abcdefjhjkl');
|
||||
|
||||
CREATE TABLE t2 (
|
||||
col_varchar_10_latin1 varchar(10) DEFAULT NULL
|
||||
) ENGINE=Aria;
|
||||
INSERT INTO t2 VALUES ('foo'), ('foo');
|
||||
|
||||
EXPLAIN SELECT count(*)
|
||||
FROM t1 AS table1, t2 AS table2
|
||||
WHERE
|
||||
table1.col_varchar_1024_latin1_key = table2.col_varchar_10_latin1 AND table1.pk<>0 ;
|
||||
|
||||
SELECT count(*)
|
||||
FROM t1 AS table1, t2 AS table2
|
||||
WHERE
|
||||
table1.col_varchar_1024_latin1_key = table2.col_varchar_10_latin1 AND table1.pk<>0 ;
|
||||
|
||||
drop table t1, t2;
|
||||
|
Reference in New Issue
Block a user