1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

Merge with 4.0

This commit is contained in:
jani@ua141d10.elisa.omakaista.fi
2004-11-12 20:38:58 +02:00
4 changed files with 25 additions and 9 deletions

View File

@ -201,6 +201,9 @@ hex(unhex("1")) hex(unhex("12")) hex(unhex("123")) hex(unhex("1234")) hex(unhex(
select length(unhex(md5("abrakadabra")));
length(unhex(md5("abrakadabra")))
16
select concat('a', quote(NULL));
concat('a', quote(NULL))
aNULL
select reverse("");
reverse("")
@ -312,7 +315,7 @@ insert into t1 values ('one'),(NULL),('two'),('four');
select a, quote(a), isnull(quote(a)), quote(a) is null, ifnull(quote(a), 'n') from t1;
a quote(a) isnull(quote(a)) quote(a) is null ifnull(quote(a), 'n')
one 'one' 0 0 'one'
NULL NULL 1 1 n
NULL NULL 0 0 NULL
two 'two' 0 0 'two'
four 'four' 0 0 'four'
drop table t1;

View File

@ -82,6 +82,12 @@ select unhex(hex("foobar")), hex(unhex("1234567890ABCDEF")), unhex("345678"), un
select hex(unhex("1")), hex(unhex("12")), hex(unhex("123")), hex(unhex("1234")), hex(unhex("12345")), hex(unhex("123456"));
select length(unhex(md5("abrakadabra")));
#
# Bug #6564: QUOTE(NULL
#
select concat('a', quote(NULL));
#
# Wrong usage of functions
#

View File

@ -120,7 +120,7 @@ int load_defaults(const char *conf_file, const char **groups,
uint args_used=0;
int error= 0;
MEM_ROOT alloc;
char *ptr, **res, **ext;
char *ptr, **res;
DBUG_ENTER("load_defaults");
@ -182,10 +182,9 @@ int load_defaults(const char *conf_file, const char **groups,
}
else if (dirname_length(conf_file))
{
for (ext= (char**) f_extensions; *ext; *ext++)
if ((error= search_default_file(&args, &alloc, NullS, conf_file,
&group)) < 0)
goto err;
if ((error= search_default_file(&args, &alloc, NullS, conf_file,
&group)) < 0)
goto err;
}
else
{

View File

@ -2562,9 +2562,12 @@ String* Item_func_inet_ntoa::val_str(String* str)
This function is very useful when you want to generate SQL statements
RETURN VALUES
NOTE
QUOTE(NULL) returns the string 'NULL' (4 letters, without quotes).
RETURN VALUES
str Quoted string
NULL Argument to QUOTE() was NULL or out of memory.
NULL Out of memory.
*/
#define get_esc_bit(mask, num) (1 & (*((mask) + ((num) >> 3))) >> ((num) & 7))
@ -2589,7 +2592,12 @@ String *Item_func_quote::val_str(String *str)
String *arg= args[0]->val_str(str);
uint arg_length, new_length;
if (!arg) // Null argument
goto null;
{
str->copy("NULL", 4); // Return the string 'NULL'
null_value= 0;
return str;
}
arg_length= arg->length();
new_length= arg_length+2; /* for beginning and ending ' signs */