mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
olap.result, olap.test:
Added a test for bug #8615. sql_select.cc: Fixed bug #8615. This fix only removed the cause of the reported crash. It does not resolve other problems of rollup queries with DISTINCT. They were fixed in the previous patch for bug 8616.
This commit is contained in:
parent
ce6c390c39
commit
45ba13889d
3 changed files with 26 additions and 4 deletions
|
@ -360,4 +360,22 @@ SUM(b) COUNT(DISTINCT b) COUNT(*)
|
|||
6 2 4
|
||||
4 1 4
|
||||
14 3 9
|
||||
SELECT a, sum(b) FROM t1 GROUP BY a,b WITH ROLLUP;
|
||||
a sum(b)
|
||||
1 4
|
||||
1 4
|
||||
2 2
|
||||
2 4
|
||||
2 6
|
||||
4 4
|
||||
4 4
|
||||
NULL 14
|
||||
SELECT DISTINCT a, sum(b) FROM t1 GROUP BY a,b WITH ROLLUP;
|
||||
a sum(b)
|
||||
1 4
|
||||
2 2
|
||||
2 4
|
||||
2 6
|
||||
4 4
|
||||
NULL 14
|
||||
DROP TABLE t1;
|
||||
|
|
|
@ -126,7 +126,7 @@ SELECT
|
|||
DROP TABLE user_day;
|
||||
|
||||
#
|
||||
# Test for bug #8616: distinct sum with rollup
|
||||
# Tests for bugs #8616, #8615: distinct sum with rollup
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (a int, b int);
|
||||
|
@ -150,5 +150,8 @@ SELECT SUM(b), COUNT(DISTINCT b), COUNT(*) FROM t1 GROUP BY a WITH ROLLUP;
|
|||
SELECT DISTINCT SUM(b), COUNT(DISTINCT b), COUNT(*) FROM t1
|
||||
GROUP BY a WITH ROLLUP;
|
||||
|
||||
SELECT a, sum(b) FROM t1 GROUP BY a,b WITH ROLLUP;
|
||||
SELECT DISTINCT a, sum(b) FROM t1 GROUP BY a,b WITH ROLLUP;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
|
|
|
@ -1269,7 +1269,6 @@ JOIN::exec()
|
|||
{
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
curr_join->group_list= 0;
|
||||
}
|
||||
|
||||
thd->proc_info="Copying to group table";
|
||||
|
@ -1289,8 +1288,10 @@ JOIN::exec()
|
|||
}
|
||||
}
|
||||
if (curr_join->make_sum_func_list(*curr_all_fields, *curr_fields_list,
|
||||
1) ||
|
||||
(tmp_error= do_select(curr_join, (List<Item> *) 0, curr_tmp_table,
|
||||
1))
|
||||
DBUG_VOID_RETURN;
|
||||
curr_join->group_list= 0;
|
||||
if ((tmp_error= do_select(curr_join, (List<Item> *) 0, curr_tmp_table,
|
||||
0)))
|
||||
{
|
||||
error= tmp_error;
|
||||
|
|
Loading…
Reference in a new issue