Commit 7b1ec027 authored by unknown's avatar unknown
Browse files

group_by.result, group_by.test:

  Added a test case for bug #11295.
item_buff.cc:
  Fixed bug #11295.
  This a correction for the patch of bug #11088 that takes into
  account a possible NULL values of the BLOB column.


sql/item_buff.cc:
  Fixed bug #11295.
  This a correction for the patch of bug #11088 that takes into
  account a possible NULL values of the BLOB column.
mysql-test/t/group_by.test:
  Added a test case for bug #11295.
mysql-test/r/group_by.result:
  Added a test case for bug #11295.
parent 15b113e1
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -741,3 +741,13 @@ SELECT dt DIV 1 AS f, id FROM t1 GROUP BY f;
f	id
20050501123000	1
DROP TABLE t1;
CREATE TABLE t1 (id varchar(20) NOT NULL);
INSERT INTO t1 VALUES ('trans1'), ('trans2');
CREATE TABLE t2 (id varchar(20) NOT NULL, err_comment blob NOT NULL);
INSERT INTO t2 VALUES ('trans1', 'a problem');
SELECT COUNT(DISTINCT(t1.id)), LEFT(err_comment, 256) AS err_comment
FROM t1 LEFT JOIN t2 ON t1.id=t2.id GROUP BY err_comment;
COUNT(DISTINCT(t1.id))	err_comment
1	NULL
1	a problem
DROP TABLE t1, t2;
+15 −0
Original line number Diff line number Diff line
@@ -565,3 +565,18 @@ INSERT INTO t1 VALUES ( 1, '2005-05-01 12:30:00' );
SELECT dt DIV 1 AS f, id FROM t1 GROUP BY f;

DROP TABLE t1;

#
# Test for bug #11295: GROUP BY a BLOB column with COUNT(DISTINCT column1) 
#                      when the BLOB column takes NULL values
# 

CREATE TABLE t1 (id varchar(20) NOT NULL);
INSERT INTO t1 VALUES ('trans1'), ('trans2');
CREATE TABLE t2 (id varchar(20) NOT NULL, err_comment blob NOT NULL);
INSERT INTO t2 VALUES ('trans1', 'a problem');

SELECT COUNT(DISTINCT(t1.id)), LEFT(err_comment, 256) AS err_comment
  FROM t1 LEFT JOIN t2 ON t1.id=t2.id GROUP BY err_comment;

DROP TABLE t1, t2;
+2 −2
Original line number Diff line number Diff line
@@ -51,7 +51,7 @@ bool Item_str_buff::cmp(void)
  String *res;
  bool tmp;

  res=item->val_str(&tmp_value);
  if ((res=item->val_str(&tmp_value)))
    res->length(min(res->length(), value.alloced_length()));
  if (null_value != item->null_value)
  {