1
0
mirror of https://github.com/MariaDB/server.git synced 2025-12-24 11:21:21 +03:00

after-merge fix.

This commit is contained in:
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
2007-01-31 11:14:32 +04:00
parent f0f83a36bc
commit 0bd1c03e7e
2 changed files with 13 additions and 12 deletions

View File

@@ -417,12 +417,8 @@ int Arg_comparator::set_compare_func(Item_bool_func2 *item, Item_result type)
break;
}
case DECIMAL_RESULT:
case REAL_RESULT:
break;
default:
DBUG_ASSERT(0);
}
else if (type == REAL_RESULT)
case REAL_RESULT:
{
if ((*a)->decimals < NOT_FIXED_DEC && (*b)->decimals < NOT_FIXED_DEC)
{
@@ -432,6 +428,10 @@ int Arg_comparator::set_compare_func(Item_bool_func2 *item, Item_result type)
else if (func == &Arg_comparator::compare_e_real)
func= &Arg_comparator::compare_e_real_fixed;
}
break;
}
default:
DBUG_ASSERT(0);
}
return 0;
}
@@ -577,10 +577,10 @@ int Arg_comparator::compare_real_fixed()
performing the comparison.
*/
volatile double val1, val2;
val1= (*a)->val();
val1= (*a)->val_real();
if (!(*a)->null_value)
{
val2= (*b)->val();
val2= (*b)->val_real();
if (!(*b)->null_value)
{
owner->null_value= 0;
@@ -598,8 +598,8 @@ int Arg_comparator::compare_real_fixed()
int Arg_comparator::compare_e_real_fixed()
{
double val1= (*a)->val();
double val2= (*b)->val();
double val1= (*a)->val_real();
double val2= (*b)->val_real();
if ((*a)->null_value || (*b)->null_value)
return test((*a)->null_value && (*b)->null_value);
return test(val1 == val2 || fabs(val1 - val2) < precision);

View File

@@ -398,7 +398,8 @@ Field *Item_sum::create_tmp_field(bool group, TABLE *table,
{
switch (result_type()) {
case REAL_RESULT:
return new Field_double(max_length,maybe_null,name,table,decimals);
return new Field_double(max_length, maybe_null, name, table, decimals,
TRUE);
case INT_RESULT:
return new Field_longlong(max_length,maybe_null,name,table,unsigned_flag);
case STRING_RESULT:
@@ -1123,7 +1124,7 @@ Field *Item_sum_avg::create_tmp_field(bool group, TABLE *table,
if (hybrid_type == DECIMAL_RESULT)
return new Field_new_decimal(max_length, maybe_null, name, table,
decimals, unsigned_flag);
return new Field_double(max_length, maybe_null, name, table, decimals);
return new Field_double(max_length, maybe_null, name, table, decimals, TRUE);
}
@@ -1317,7 +1318,7 @@ Field *Item_sum_variance::create_tmp_field(bool group, TABLE *table,
*/
return new Field_string(sizeof(double)*2 + sizeof(longlong), 0, name, table, &my_charset_bin);
}
return new Field_double(max_length, maybe_null,name,table,decimals);
return new Field_double(max_length, maybe_null, name, table, decimals, TRUE);
}