Fix for bug#6317: string function CHAR, parameter is NULL, wrong result
This commit is contained in:
parent
4996daec19
commit
2b5ee94a33
@ -733,3 +733,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
|
||||
|
@ -476,3 +476,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;
|
||||
|
@ -1868,6 +1868,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))
|
||||
{
|
||||
@ -1883,6 +1884,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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user