Below is the list of changes that have just been committed into a local
5.0 repository of ram. When ram does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet@stripped, 2007-01-31 11:14:32+04:00, ramil@stripped +2 -0
after-merge fix.
sql/item_cmpfunc.cc@stripped, 2007-01-31 11:14:31+04:00, ramil@stripped +9 -9
after-merge fix.
sql/item_sum.cc@stripped, 2007-01-31 11:14:31+04:00, ramil@stripped +4 -3
after-merge fix.
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: ramil
# Host: ramil.myoffice.izhnet.ru
# Root: /home/ram/work/b19690/b19690.5.0
--- 1.229/sql/item_cmpfunc.cc 2007-01-31 11:14:36 +04:00
+++ 1.230/sql/item_cmpfunc.cc 2007-01-31 11:14:36 +04:00
@@ -417,12 +417,8 @@ int Arg_comparator::set_compare_func(Ite
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(Ite
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);
--- 1.194/sql/item_sum.cc 2007-01-31 11:14:36 +04:00
+++ 1.195/sql/item_sum.cc 2007-01-31 11:14:36 +04:00
@@ -398,7 +398,8 @@ Field *Item_sum::create_tmp_field(bool g
{
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(bo
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_fie
*/
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);
}
| Thread |
|---|
| • bk commit into 5.0 tree (ramil:1.2393) | ramil | 31 Jan |