mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge eagle.intranet.mysql.r18.ru:/home/bar/mysql-4.1
into eagle.intranet.mysql.r18.ru:/home/bar/mysql-5.0 mysql-test/r/user_var.result: Auto merged mysql-test/t/user_var.test: Auto merged sql/item_func.cc: Auto merged
This commit is contained in:
@ -204,3 +204,10 @@ set @var= NULL ;
|
|||||||
select FIELD( @var,'1it','Hit') as my_column;
|
select FIELD( @var,'1it','Hit') as my_column;
|
||||||
my_column
|
my_column
|
||||||
0
|
0
|
||||||
|
select @v, coercibility(@v);
|
||||||
|
@v coercibility(@v)
|
||||||
|
NULL 2
|
||||||
|
set @v1=null, @v2=1, @v3=1.1, @v4=now();
|
||||||
|
select coercibility(@v1),coercibility(@v2),coercibility(@v3),coercibility(@v4);
|
||||||
|
coercibility(@v1) coercibility(@v2) coercibility(@v3) coercibility(@v4)
|
||||||
|
2 2 2 2
|
||||||
|
@ -124,3 +124,10 @@ drop table t1;
|
|||||||
#
|
#
|
||||||
set @var= NULL ;
|
set @var= NULL ;
|
||||||
select FIELD( @var,'1it','Hit') as my_column;
|
select FIELD( @var,'1it','Hit') as my_column;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug#9425 A user variable doesn't always have implicit coercibility
|
||||||
|
#
|
||||||
|
select @v, coercibility(@v);
|
||||||
|
set @v1=null, @v2=1, @v3=1.1, @v4=now();
|
||||||
|
select coercibility(@v1),coercibility(@v2),coercibility(@v3),coercibility(@v4);
|
||||||
|
@ -3569,20 +3569,20 @@ Item_func_set_user_var::update()
|
|||||||
case REAL_RESULT:
|
case REAL_RESULT:
|
||||||
{
|
{
|
||||||
res= update_hash((void*) &save_result.vreal,sizeof(save_result.vreal),
|
res= update_hash((void*) &save_result.vreal,sizeof(save_result.vreal),
|
||||||
REAL_RESULT, &my_charset_bin, DERIVATION_NONE);
|
REAL_RESULT, &my_charset_bin, DERIVATION_IMPLICIT);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case INT_RESULT:
|
case INT_RESULT:
|
||||||
{
|
{
|
||||||
res= update_hash((void*) &save_result.vint, sizeof(save_result.vint),
|
res= update_hash((void*) &save_result.vint, sizeof(save_result.vint),
|
||||||
INT_RESULT, &my_charset_bin, DERIVATION_NONE);
|
INT_RESULT, &my_charset_bin, DERIVATION_IMPLICIT);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case STRING_RESULT:
|
case STRING_RESULT:
|
||||||
{
|
{
|
||||||
if (!save_result.vstr) // Null value
|
if (!save_result.vstr) // Null value
|
||||||
res= update_hash((void*) 0, 0, STRING_RESULT, &my_charset_bin,
|
res= update_hash((void*) 0, 0, STRING_RESULT, &my_charset_bin,
|
||||||
DERIVATION_NONE);
|
DERIVATION_IMPLICIT);
|
||||||
else
|
else
|
||||||
res= update_hash((void*) save_result.vstr->ptr(),
|
res= update_hash((void*) save_result.vstr->ptr(),
|
||||||
save_result.vstr->length(), STRING_RESULT,
|
save_result.vstr->length(), STRING_RESULT,
|
||||||
@ -3850,7 +3850,10 @@ void Item_func_get_user_var::fix_length_and_dec()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
collation.set(&my_charset_bin, DERIVATION_IMPLICIT);
|
||||||
null_value= 1;
|
null_value= 1;
|
||||||
|
}
|
||||||
|
|
||||||
if (error)
|
if (error)
|
||||||
thd->fatal_error();
|
thd->fatal_error();
|
||||||
|
Reference in New Issue
Block a user