Commit 2473c359 authored by unknown's avatar unknown
Browse files

Merge pilot.blaudden:/home/msvensson/mysql/bug25197/my50-bug25197

into  pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint


mysql-test/r/func_str.result:
  Auto merged
mysql-test/t/func_str.test:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
parents 563a5077 e9b606bf
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -1964,6 +1964,15 @@ A B tire
		0
#	#	1
##	##	2
SELECT REPEAT('0', CAST(0 AS UNSIGNED));
REPEAT('0', CAST(0 AS UNSIGNED))

SELECT REPEAT('0', -2);
REPEAT('0', -2)

SELECT REPEAT('0', 2);
REPEAT('0', 2)
00
DROP TABLE t1;
SELECT UNHEX('G');
UNHEX('G')
+4 −0
Original line number Diff line number Diff line
@@ -1038,6 +1038,10 @@ INSERT INTO `t1` (`id`, `tire`) VALUES ('A', 0), ('B', 1),('C', 2);
SELECT REPEAT( '#', tire ) AS A,
       REPEAT( '#', tire % 999 ) AS B, tire FROM `t1`;

SELECT REPEAT('0', CAST(0 AS UNSIGNED));
SELECT REPEAT('0', -2);
SELECT REPEAT('0', 2);

DROP TABLE t1;

#
+1 −1
Original line number Diff line number Diff line
@@ -2242,7 +2242,7 @@ String *Item_func_repeat::val_str(String *str)
    goto err;				// string and/or delim are null
  null_value= 0;

  if (count == 0 || count < 0 && !args[1]->unsigned_flag)
  if (count <= 0 && (count == 0 || !args[1]->unsigned_flag))
    return &my_empty_string;

  /* Assumes that the maximum length of a String is < INT_MAX32. */