mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
4.0 -> 4.1 merge
This commit is contained in:
@ -691,3 +691,10 @@ select count(*) as total, left(c,10) as reg from t1 group by reg order by reg de
|
|||||||
total reg
|
total reg
|
||||||
10 2004-12-10
|
10 2004-12-10
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
select quote(ltrim(concat(' ', 'a')));
|
||||||
|
quote(ltrim(concat(' ', 'a')))
|
||||||
|
'a'
|
||||||
|
select quote(trim(concat(' ', 'a')));
|
||||||
|
quote(trim(concat(' ', 'a')))
|
||||||
|
'a'
|
||||||
|
@ -429,3 +429,9 @@ create table t1 (a int not null primary key, b varchar(40), c datetime);
|
|||||||
insert into t1 (a,b,c) values (1,'Tom','2004-12-10 12:13:14'),(2,'ball games','2004-12-10 12:13:14'), (3,'Basil','2004-12-10 12:13:14'), (4,'Dean','2004-12-10 12:13:14'),(5,'Ellis','2004-12-10 12:13:14'), (6,'Serg','2004-12-10 12:13:14'), (7,'Sergei','2004-12-10 12:13:14'),(8,'Georg','2004-12-10 12:13:14'),(9,'Salle','2004-12-10 12:13:14'),(10,'Sinisa','2004-12-10 12:13:14');
|
insert into t1 (a,b,c) values (1,'Tom','2004-12-10 12:13:14'),(2,'ball games','2004-12-10 12:13:14'), (3,'Basil','2004-12-10 12:13:14'), (4,'Dean','2004-12-10 12:13:14'),(5,'Ellis','2004-12-10 12:13:14'), (6,'Serg','2004-12-10 12:13:14'), (7,'Sergei','2004-12-10 12:13:14'),(8,'Georg','2004-12-10 12:13:14'),(9,'Salle','2004-12-10 12:13:14'),(10,'Sinisa','2004-12-10 12:13:14');
|
||||||
select count(*) as total, left(c,10) as reg from t1 group by reg order by reg desc limit 0,12;
|
select count(*) as total, left(c,10) as reg from t1 group by reg order by reg desc limit 0,12;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
# crashing bug with QUOTE() and LTRIM() or TRIM() fixed
|
||||||
|
# Bug #7495
|
||||||
|
#
|
||||||
|
|
||||||
|
select quote(ltrim(concat(' ', 'a')));
|
||||||
|
select quote(trim(concat(' ', 'a')));
|
||||||
|
@ -2596,16 +2596,16 @@ String *Item_func_quote::val_str(String *str)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
We have to use realloc() instead of alloc() as we want to keep the
|
We have to use realloc() instead of alloc() as we want to keep the
|
||||||
old result in str
|
old result in arg
|
||||||
*/
|
*/
|
||||||
if (str->realloc(new_length))
|
if (arg->realloc(new_length))
|
||||||
goto null;
|
goto null;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
As 'arg' and 'str' may be the same string, we must replace characters
|
As 'arg' and 'str' may be the same string, we must replace characters
|
||||||
from the end to the beginning
|
from the end to the beginning
|
||||||
*/
|
*/
|
||||||
to= (char*) str->ptr() + new_length - 1;
|
to= (char*) arg->ptr() + new_length - 1;
|
||||||
*to--= '\'';
|
*to--= '\'';
|
||||||
for (start= (char*) arg->ptr(),end= start + arg_length; end-- != start; to--)
|
for (start= (char*) arg->ptr(),end= start + arg_length; end-- != start; to--)
|
||||||
{
|
{
|
||||||
@ -2633,10 +2633,10 @@ String *Item_func_quote::val_str(String *str)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
*to= '\'';
|
*to= '\'';
|
||||||
str->length(new_length);
|
arg->length(new_length);
|
||||||
str->set_charset(collation.collation);
|
str->set_charset(collation.collation);
|
||||||
null_value= 0;
|
null_value= 0;
|
||||||
return str;
|
return arg;
|
||||||
|
|
||||||
null:
|
null:
|
||||||
null_value= 1;
|
null_value= 1;
|
||||||
|
Reference in New Issue
Block a user