mirror of
https://github.com/MariaDB/server.git
synced 2026-05-06 15:15:34 +02:00
Now string values are created and filled with charset field
SELECT func(charset2) FROM t ORDER BY 1 works in correct charset
This commit is contained in:
parent
b043f06666
commit
8bee96ab0a
37 changed files with 366 additions and 325 deletions
|
|
@ -687,7 +687,7 @@ String *Item_func_case::val_str(String *str)
|
|||
longlong Item_func_case::val_int()
|
||||
{
|
||||
char buff[MAX_FIELD_WIDTH];
|
||||
String dummy_str(buff,sizeof(buff));
|
||||
String dummy_str(buff,sizeof(buff),default_charset_info);
|
||||
Item *item=find_item(&dummy_str);
|
||||
longlong res;
|
||||
|
||||
|
|
@ -704,7 +704,7 @@ longlong Item_func_case::val_int()
|
|||
double Item_func_case::val()
|
||||
{
|
||||
char buff[MAX_FIELD_WIDTH];
|
||||
String dummy_str(buff,sizeof(buff));
|
||||
String dummy_str(buff,sizeof(buff),default_charset_info);
|
||||
Item *item=find_item(&dummy_str);
|
||||
double res;
|
||||
|
||||
|
|
@ -876,7 +876,7 @@ int in_vector::find(Item *item)
|
|||
|
||||
|
||||
in_string::in_string(uint elements,qsort_cmp cmp_func)
|
||||
:in_vector(elements,sizeof(String),cmp_func),tmp(buff,sizeof(buff))
|
||||
:in_vector(elements,sizeof(String),cmp_func),tmp(buff,sizeof(buff),default_charset_info)
|
||||
{}
|
||||
|
||||
in_string::~in_string()
|
||||
|
|
@ -1272,7 +1272,7 @@ Item_func_regex::fix_fields(THD *thd,TABLE_LIST *tables)
|
|||
if (!regex_compiled && args[1]->const_item())
|
||||
{
|
||||
char buff[MAX_FIELD_WIDTH];
|
||||
String tmp(buff,sizeof(buff));
|
||||
String tmp(buff,sizeof(buff),default_charset_info);
|
||||
String *res=args[1]->val_str(&tmp);
|
||||
if (args[1]->null_value)
|
||||
{ // Will always return NULL
|
||||
|
|
@ -1301,7 +1301,7 @@ Item_func_regex::fix_fields(THD *thd,TABLE_LIST *tables)
|
|||
longlong Item_func_regex::val_int()
|
||||
{
|
||||
char buff[MAX_FIELD_WIDTH];
|
||||
String *res, tmp(buff,sizeof(buff));
|
||||
String *res, tmp(buff,sizeof(buff),default_charset_info);
|
||||
|
||||
res=args[0]->val_str(&tmp);
|
||||
if (args[0]->null_value)
|
||||
|
|
@ -1312,7 +1312,7 @@ longlong Item_func_regex::val_int()
|
|||
if (!regex_is_const)
|
||||
{
|
||||
char buff2[MAX_FIELD_WIDTH];
|
||||
String *res2, tmp2(buff2,sizeof(buff2));
|
||||
String *res2, tmp2(buff2,sizeof(buff2),default_charset_info);
|
||||
|
||||
res2= args[1]->val_str(&tmp2);
|
||||
if (args[1]->null_value)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue