List:Internals« Previous MessageNext Message »
From:igor Date:March 17 2005 12:55am
Subject:bk commit into 4.1 tree (igor:1.2122) BUG#8615
View as plain text  
Below is the list of changes that have just been committed into a local
4.1 repository of igor. When igor does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet
  1.2122 05/03/16 15:55:04 igor@stripped +3 -0
  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.

  mysql-test/r/olap.result
    1.14 05/03/16 15:51:55 igor@stripped +18 -0
    Added a test for bug #8615.

  mysql-test/t/olap.test
    1.11 05/03/16 15:51:24 igor@stripped +4 -1
    Added a test for bug #8615.

  sql/sql_select.cc
    1.387 05/03/16 15:50:06 igor@stripped +4 -3
    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 is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	igor
# Host:	rurik.mysql.com
# Root:	/home/igor/dev/mysql-4.1-0

--- 1.386/sql/sql_select.cc	Tue Mar 15 22:44:45 2005
+++ 1.387/sql/sql_select.cc	Wed Mar 16 15:50:06 2005
@@ -1269,7 +1269,6 @@
 	{
 	  DBUG_VOID_RETURN;
 	}
-	curr_join->group_list= 0;
       }
       
       thd->proc_info="Copying to group table";
@@ -1289,8 +1288,10 @@
 	}
       }
       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;

--- 1.13/mysql-test/r/olap.result	Tue Mar 15 22:49:41 2005
+++ 1.14/mysql-test/r/olap.result	Wed Mar 16 15:51:55 2005
@@ -360,4 +360,22 @@
 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;

--- 1.10/mysql-test/t/olap.test	Tue Mar 15 22:49:21 2005
+++ 1.11/mysql-test/t/olap.test	Wed Mar 16 15:51:24 2005
@@ -126,7 +126,7 @@
 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);
@@ -149,6 +149,9 @@
 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;
 
Thread
bk commit into 4.1 tree (igor:1.2122) BUG#8615igor17 Mar