1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

Merge polly.(none):/home/kaa/src/opt/bug32202/my50-bug26215

into  polly.(none):/home/kaa/src/opt/mysql-5.0-opt


sql/sql_select.cc:
  Auto merged
This commit is contained in:
unknown
2007-11-10 22:46:25 +03:00
3 changed files with 112 additions and 3 deletions

View File

@ -1113,3 +1113,68 @@ c b
3 1
3 2
DROP TABLE t1;
CREATE TABLE t1(
id INT AUTO_INCREMENT PRIMARY KEY,
c1 INT NOT NULL,
c2 INT NOT NULL,
UNIQUE KEY (c2,c1));
INSERT INTO t1(c1,c2) VALUES (5,1), (4,1), (3,5), (2,3), (1,3);
SELECT * FROM t1 ORDER BY c1;
id c1 c2
5 1 3
4 2 3
3 3 5
2 4 1
1 5 1
SELECT * FROM t1 GROUP BY id ORDER BY c1;
id c1 c2
5 1 3
4 2 3
3 3 5
2 4 1
1 5 1
SELECT * FROM t1 GROUP BY id ORDER BY id DESC;
id c1 c2
5 1 3
4 2 3
3 3 5
2 4 1
1 5 1
SELECT * FROM t1 GROUP BY c2 ,c1, id ORDER BY c2, c1;
id c1 c2
2 4 1
1 5 1
5 1 3
4 2 3
3 3 5
SELECT * FROM t1 GROUP BY c2, c1, id ORDER BY c2 DESC, c1;
id c1 c2
3 3 5
5 1 3
4 2 3
2 4 1
1 5 1
SELECT * FROM t1 GROUP BY c2, c1, id ORDER BY c2 DESC, c1 DESC;
id c1 c2
3 3 5
4 2 3
5 1 3
1 5 1
2 4 1
SELECT * FROM t1 GROUP BY c2 ORDER BY c2, c1;
id c1 c2
1 5 1
4 2 3
3 3 5
SELECT * FROM t1 GROUP BY c2 ORDER BY c2 DESC, c1;
id c1 c2
3 3 5
4 2 3
1 5 1
SELECT * FROM t1 GROUP BY c2 ORDER BY c2 DESC, c1 DESC;
id c1 c2
3 3 5
4 2 3
1 5 1
DROP TABLE t1;
End of 5.0 tests

View File

@ -815,3 +815,38 @@ EXPLAIN SELECT c,b FROM t1 GROUP BY c,b;
SELECT c,b FROM t1 GROUP BY c,b;
DROP TABLE t1;
#
# Bug #32202: ORDER BY not working with GROUP BY
#
CREATE TABLE t1(
id INT AUTO_INCREMENT PRIMARY KEY,
c1 INT NOT NULL,
c2 INT NOT NULL,
UNIQUE KEY (c2,c1));
INSERT INTO t1(c1,c2) VALUES (5,1), (4,1), (3,5), (2,3), (1,3);
# Show that the test cases from the bug report pass
SELECT * FROM t1 ORDER BY c1;
SELECT * FROM t1 GROUP BY id ORDER BY c1;
# Show that DESC is handled correctly
SELECT * FROM t1 GROUP BY id ORDER BY id DESC;
# Show that results are correctly ordered when ORDER BY fields
# are a subset of GROUP BY ones
SELECT * FROM t1 GROUP BY c2 ,c1, id ORDER BY c2, c1;
SELECT * FROM t1 GROUP BY c2, c1, id ORDER BY c2 DESC, c1;
SELECT * FROM t1 GROUP BY c2, c1, id ORDER BY c2 DESC, c1 DESC;
# Show that results are correctly ordered when GROUP BY fields
# are a subset of ORDER BY ones
SELECT * FROM t1 GROUP BY c2 ORDER BY c2, c1;
SELECT * FROM t1 GROUP BY c2 ORDER BY c2 DESC, c1;
SELECT * FROM t1 GROUP BY c2 ORDER BY c2 DESC, c1 DESC;
DROP TABLE t1;
--echo End of 5.0 tests