mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Merge kaamos.(none):/data/src/bugteam/bug34928/my51
into kaamos.(none):/data/src/bugteam/mysql-5.1-bugteam
This commit is contained in:
@ -682,3 +682,26 @@ a a b
|
|||||||
1 1 3
|
1 1 3
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
End of 5.0 tests
|
End of 5.0 tests
|
||||||
|
CREATE TABLE t1(a INT, b INT, c INT, d INT, e INT,
|
||||||
|
PRIMARY KEY(a,b,c,d,e),
|
||||||
|
KEY(a,b,d,c)
|
||||||
|
);
|
||||||
|
INSERT INTO t1(a, b, c) VALUES (1, 1, 1),
|
||||||
|
(1, 1, 2),
|
||||||
|
(1, 1, 3),
|
||||||
|
(1, 2, 1),
|
||||||
|
(1, 2, 2),
|
||||||
|
(1, 2, 3);
|
||||||
|
EXPLAIN SELECT DISTINCT a, b, d, c FROM t1;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 SIMPLE t1 index NULL a 16 NULL 6 Using index
|
||||||
|
SELECT DISTINCT a, b, d, c FROM t1;
|
||||||
|
a b d c
|
||||||
|
1 1 0 1
|
||||||
|
1 1 0 2
|
||||||
|
1 1 0 3
|
||||||
|
1 2 0 1
|
||||||
|
1 2 0 2
|
||||||
|
1 2 0 3
|
||||||
|
DROP TABLE t1;
|
||||||
|
End of 5.1 tests
|
||||||
|
@ -553,3 +553,26 @@ SELECT DISTINCT a, a, b FROM t1;
|
|||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
--echo End of 5.0 tests
|
--echo End of 5.0 tests
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #34928: Confusion by having Primary Key and Index
|
||||||
|
#
|
||||||
|
CREATE TABLE t1(a INT, b INT, c INT, d INT, e INT,
|
||||||
|
PRIMARY KEY(a,b,c,d,e),
|
||||||
|
KEY(a,b,d,c)
|
||||||
|
);
|
||||||
|
|
||||||
|
INSERT INTO t1(a, b, c) VALUES (1, 1, 1),
|
||||||
|
(1, 1, 2),
|
||||||
|
(1, 1, 3),
|
||||||
|
(1, 2, 1),
|
||||||
|
(1, 2, 2),
|
||||||
|
(1, 2, 3);
|
||||||
|
|
||||||
|
EXPLAIN SELECT DISTINCT a, b, d, c FROM t1;
|
||||||
|
|
||||||
|
SELECT DISTINCT a, b, d, c FROM t1;
|
||||||
|
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
--echo End of 5.1 tests
|
||||||
|
@ -13158,6 +13158,11 @@ test_if_skip_sort_order(JOIN_TAB *tab,ORDER *order,ha_rows select_limit,
|
|||||||
tab->read_first_record= best_key_direction > 0 ?
|
tab->read_first_record= best_key_direction > 0 ?
|
||||||
join_read_first:join_read_last;
|
join_read_first:join_read_last;
|
||||||
tab->type=JT_NEXT; // Read with index_first(), index_next()
|
tab->type=JT_NEXT; // Read with index_first(), index_next()
|
||||||
|
if (select && select->quick)
|
||||||
|
{
|
||||||
|
delete select->quick;
|
||||||
|
select->quick= 0;
|
||||||
|
}
|
||||||
if (table->covering_keys.is_set(best_key))
|
if (table->covering_keys.is_set(best_key))
|
||||||
{
|
{
|
||||||
table->key_read=1;
|
table->key_read=1;
|
||||||
@ -13168,11 +13173,6 @@ test_if_skip_sort_order(JOIN_TAB *tab,ORDER *order,ha_rows select_limit,
|
|||||||
{
|
{
|
||||||
tab->ref.key= -1;
|
tab->ref.key= -1;
|
||||||
tab->ref.key_parts= 0;
|
tab->ref.key_parts= 0;
|
||||||
if (select && select->quick)
|
|
||||||
{
|
|
||||||
delete select->quick;
|
|
||||||
select->quick= 0;
|
|
||||||
}
|
|
||||||
if (select_limit < table_records)
|
if (select_limit < table_records)
|
||||||
tab->limit= select_limit;
|
tab->limit= select_limit;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user