mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into magare.gmz:/home/kgeorge/mysql/autopush/B27659-5.0-opt
This commit is contained in:
@ -668,3 +668,17 @@ NULL
|
|||||||
3
|
3
|
||||||
4
|
4
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1 (a INT, b INT);
|
||||||
|
INSERT INTO t1 VALUES(1,1),(1,2),(1,3);
|
||||||
|
SELECT DISTINCT a, b FROM t1;
|
||||||
|
a b
|
||||||
|
1 1
|
||||||
|
1 2
|
||||||
|
1 3
|
||||||
|
SELECT DISTINCT a, a, b FROM t1;
|
||||||
|
a a b
|
||||||
|
1 1 1
|
||||||
|
1 1 2
|
||||||
|
1 1 3
|
||||||
|
DROP TABLE t1;
|
||||||
|
End of 5.0 tests
|
||||||
|
@ -540,3 +540,16 @@ EXPLAIN SELECT a FROM t1 GROUP BY a;
|
|||||||
SELECT a FROM t1 GROUP BY a;
|
SELECT a FROM t1 GROUP BY a;
|
||||||
|
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
#Bug #27659: SELECT DISTINCT returns incorrect result set when field is
|
||||||
|
#repeated
|
||||||
|
#
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (a INT, b INT);
|
||||||
|
INSERT INTO t1 VALUES(1,1),(1,2),(1,3);
|
||||||
|
SELECT DISTINCT a, b FROM t1;
|
||||||
|
SELECT DISTINCT a, a, b FROM t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
--echo End of 5.0 tests
|
||||||
|
@ -13539,9 +13539,7 @@ create_distinct_group(THD *thd, Item **ref_pointer_array,
|
|||||||
ORDER *ord_iter;
|
ORDER *ord_iter;
|
||||||
for (ord_iter= group; ord_iter; ord_iter= ord_iter->next)
|
for (ord_iter= group; ord_iter; ord_iter= ord_iter->next)
|
||||||
if ((*ord_iter->item)->eq(item, 1))
|
if ((*ord_iter->item)->eq(item, 1))
|
||||||
break;
|
goto next_item;
|
||||||
if (ord_iter)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
ORDER *ord=(ORDER*) thd->calloc(sizeof(ORDER));
|
ORDER *ord=(ORDER*) thd->calloc(sizeof(ORDER));
|
||||||
if (!ord)
|
if (!ord)
|
||||||
@ -13556,6 +13554,7 @@ create_distinct_group(THD *thd, Item **ref_pointer_array,
|
|||||||
*prev=ord;
|
*prev=ord;
|
||||||
prev= &ord->next;
|
prev= &ord->next;
|
||||||
}
|
}
|
||||||
|
next_item:
|
||||||
ref_pointer_array++;
|
ref_pointer_array++;
|
||||||
}
|
}
|
||||||
*prev=0;
|
*prev=0;
|
||||||
|
Reference in New Issue
Block a user