Commit 272f78b5 authored by unknown's avatar unknown
Browse files

Merge gluh.mysql.r18.ru:/home/gluh/MySQL-MERGE/mysql-4.1

into gluh.mysql.r18.ru:/home/gluh/MySQL-MERGE/mysql-5.0


mysql-test/r/func_str.result:
  Auto merged
mysql-test/t/func_str.test:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
parents 0de9a3dd f443992e
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -742,3 +742,9 @@ WHERE a = CONV('e251273eb74a8ee3', 16, 10);
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
1	SIMPLE	t1	system	NULL	NULL	NULL	NULL	1	
DROP TABLE t1;
SELECT CHAR(NULL,121,83,81,'76') as my_column;
my_column
ySQL
SELECT CHAR_LENGTH(CHAR(NULL,121,83,81,'76')) as my_column;
my_column
4
+6 −0
Original line number Diff line number Diff line
@@ -479,3 +479,9 @@ EXPLAIN
  WHERE a = CONV('e251273eb74a8ee3', 16, 10);

DROP TABLE t1;

#
# Bug #6317: string function CHAR, parameter is NULL, wrong result
#
SELECT CHAR(NULL,121,83,81,'76') as my_column;
SELECT CHAR_LENGTH(CHAR(NULL,121,83,81,'76')) as my_column;
+2 −0
Original line number Diff line number Diff line
@@ -1874,6 +1874,7 @@ String *Item_func_char::val_str(String *str)
  {
    int32 num=(int32) args[i]->val_int();
    if (!args[i]->null_value)
    {
#ifdef USE_MB
      if (use_mb(collation.collation))
      {
@@ -1890,6 +1891,7 @@ b1: str->append((char)(num>>8));
#endif
      str->append((char)num);
    }
  }
  str->set_charset(collation.collation);
  str->realloc(str->length());			// Add end 0 (for Purify)
  return str;