Commit 12dcd0ed authored by kaa@kaamos.(none)'s avatar kaa@kaamos.(none)
Browse files

Merge kaamos.(none):/data/src/bugteam/bug34928/my51

into  kaamos.(none):/data/src/bugteam/mysql-5.1-bugteam
parents 079a1748 b753e4a0
Loading
Loading
Loading
Loading
+23 −0
Original line number Diff line number Diff line
@@ -682,3 +682,26 @@ a a b
1	1	3
DROP TABLE t1;
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
+23 −0
Original line number Diff line number Diff line
@@ -553,3 +553,26 @@ SELECT DISTINCT a, a, b FROM t1;
DROP TABLE t1;

--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
+5 −5
Original line number Diff line number Diff line
@@ -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 ?
                                  join_read_first:join_read_last;
          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))
          {
            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_parts= 0;
            if (select && select->quick)
            {
              delete select->quick;
              select->quick= 0;
            }
            if (select_limit < table_records) 
              tab->limit= select_limit;
          }