mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Fixed bug #33697.
When the function test_if_skip_sort_order prefers index backward scan to ref access the corresponding access functions must be set accordingly. mysql-test/include/mix1.inc: Added a test case for bug #33697. Corrected one previous bad merge. mysql-test/r/innodb_mysql.result: Added a test case for bug #33697. mysql-test/t/disabled.def: Turned innodb_mysql test on.
This commit is contained in:
@ -1349,7 +1349,7 @@ INSERT INTO t1 VALUES
|
||||
(191, 'member', 1), (NULL, 'member', 3), (NULL, 'member', 4), (201, 'member', 2);
|
||||
EXPLAIN SELECT * FROM t1 WHERE id=191 OR id IS NULL ORDER BY d;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL idx NULL NULL NULL 3 Using where; Using filesort
|
||||
1 SIMPLE t1 ALL idx NULL NULL NULL 4 Using where; Using filesort
|
||||
SELECT * FROM t1 WHERE id=191 OR id IS NULL ORDER BY d;
|
||||
id type d
|
||||
191 member 1
|
||||
@ -1609,4 +1609,29 @@ alter table t1 order by a;
|
||||
Warnings:
|
||||
Warning 1105 ORDER BY ignored as there is a user-defined clustered index in the table 't1'
|
||||
drop table t1;
|
||||
CREATE TABLE t1
|
||||
(vid integer NOT NULL,
|
||||
tid integer NOT NULL,
|
||||
idx integer NOT NULL,
|
||||
name varchar(128) NOT NULL,
|
||||
type varchar(128) NULL,
|
||||
PRIMARY KEY(idx, vid, tid),
|
||||
UNIQUE(vid, tid, name)
|
||||
) ENGINE=InnoDB;
|
||||
INSERT INTO t1 VALUES
|
||||
(1,1,1,'pk',NULL),(2,1,1,'pk',NULL),(3,1,1,'pk',NULL),(4,1,1,'c1',NULL),
|
||||
(5,1,1,'pk',NULL),(1,1,2,'c1',NULL),(2,1,2,'c1',NULL),(3,1,2,'c1',NULL),
|
||||
(4,1,2,'c2',NULL),(5,1,2,'c1',NULL),(2,1,3,'c2',NULL),(3,1,3,'c2',NULL),
|
||||
(4,1,3,'pk',NULL),(5,1,3,'c2',NULL),
|
||||
(2,1,4,'c_extra',NULL),(3,1,4,'c_extra',NULL);
|
||||
EXPLAIN SELECT * FROM t1 WHERE tid = 1 AND vid = 3 ORDER BY idx DESC;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 index vid PRIMARY 12 NULL 16 Using where
|
||||
SELECT * FROM t1 WHERE tid = 1 AND vid = 3 ORDER BY idx DESC;
|
||||
vid tid idx name type
|
||||
3 1 4 c_extra NULL
|
||||
3 1 3 c2 NULL
|
||||
3 1 2 c1 NULL
|
||||
3 1 1 pk NULL
|
||||
DROP TABLE t1;
|
||||
End of 5.1 tests
|
||||
|
Reference in New Issue
Block a user