mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/usr/home/ram/work/5.0.b12956
This commit is contained in:
@ -337,7 +337,7 @@ set @precision=10000000000;
|
|||||||
select rand(),
|
select rand(),
|
||||||
cast(rand(10)*@precision as unsigned integer) from t1;
|
cast(rand(10)*@precision as unsigned integer) from t1;
|
||||||
rand() cast(rand(10)*@precision as unsigned integer)
|
rand() cast(rand(10)*@precision as unsigned integer)
|
||||||
- 6570515219
|
- 6570515220
|
||||||
- 1282061302
|
- 1282061302
|
||||||
- 6698761160
|
- 6698761160
|
||||||
- 9647622201
|
- 9647622201
|
||||||
@ -348,23 +348,23 @@ prepare stmt from
|
|||||||
set @var=1;
|
set @var=1;
|
||||||
execute stmt using @var;
|
execute stmt using @var;
|
||||||
rand() cast(rand(10)*@precision as unsigned integer) cast(rand(?)*@precision as unsigned integer)
|
rand() cast(rand(10)*@precision as unsigned integer) cast(rand(?)*@precision as unsigned integer)
|
||||||
- 6570515219 -
|
- 6570515220 -
|
||||||
- 1282061302 -
|
- 1282061302 -
|
||||||
- 6698761160 -
|
- 6698761160 -
|
||||||
- 9647622201 -
|
- 9647622201 -
|
||||||
set @var=2;
|
set @var=2;
|
||||||
execute stmt using @var;
|
execute stmt using @var;
|
||||||
rand() cast(rand(10)*@precision as unsigned integer) cast(rand(?)*@precision as unsigned integer)
|
rand() cast(rand(10)*@precision as unsigned integer) cast(rand(?)*@precision as unsigned integer)
|
||||||
- 6570515219 6555866465
|
- 6570515220 6555866465
|
||||||
- 1282061302 1223466192
|
- 1282061302 1223466193
|
||||||
- 6698761160 6449731873
|
- 6698761160 6449731874
|
||||||
- 9647622201 8578261098
|
- 9647622201 8578261098
|
||||||
set @var=3;
|
set @var=3;
|
||||||
execute stmt using @var;
|
execute stmt using @var;
|
||||||
rand() cast(rand(10)*@precision as unsigned integer) cast(rand(?)*@precision as unsigned integer)
|
rand() cast(rand(10)*@precision as unsigned integer) cast(rand(?)*@precision as unsigned integer)
|
||||||
- 6570515219 9057697559
|
- 6570515220 9057697560
|
||||||
- 1282061302 3730790581
|
- 1282061302 3730790581
|
||||||
- 6698761160 1480860534
|
- 6698761160 1480860535
|
||||||
- 9647622201 6211931236
|
- 9647622201 6211931236
|
||||||
drop table t1;
|
drop table t1;
|
||||||
deallocate prepare stmt;
|
deallocate prepare stmt;
|
||||||
|
@ -17,7 +17,7 @@ while ($1)
|
|||||||
SET @rnd= RAND();
|
SET @rnd= RAND();
|
||||||
SET @id = CAST(@rnd * @rnd_max AS UNSIGNED);
|
SET @id = CAST(@rnd * @rnd_max AS UNSIGNED);
|
||||||
SET @id_rev= @rnd_max - @id;
|
SET @id_rev= @rnd_max - @id;
|
||||||
SET @grp= CAST(128.0 * @rnd AS UNSIGNED);
|
SET @grp= CAST(127.0 * @rnd AS UNSIGNED);
|
||||||
INSERT INTO t1 (id, grp, id_rev) VALUES (@id, @grp, @id_rev);
|
INSERT INTO t1 (id, grp, id_rev) VALUES (@id, @grp, @id_rev);
|
||||||
dec $1;
|
dec $1;
|
||||||
}
|
}
|
||||||
|
@ -3953,7 +3953,7 @@ longlong Field_float::val_int(void)
|
|||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
memcpy_fixed((byte*) &j,ptr,sizeof(j));
|
memcpy_fixed((byte*) &j,ptr,sizeof(j));
|
||||||
return ((longlong) j);
|
return (longlong) rint(j);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -4241,7 +4241,7 @@ longlong Field_double::val_int(void)
|
|||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
doubleget(j,ptr);
|
doubleget(j,ptr);
|
||||||
return ((longlong) j);
|
return (longlong) rint(j);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -2459,7 +2459,7 @@ longlong Item_param::val_int()
|
|||||||
{
|
{
|
||||||
switch (state) {
|
switch (state) {
|
||||||
case REAL_VALUE:
|
case REAL_VALUE:
|
||||||
return (longlong) (value.real + (value.real > 0 ? 0.5 : -0.5));
|
return (longlong) rint(value.real);
|
||||||
case INT_VALUE:
|
case INT_VALUE:
|
||||||
return value.integer;
|
return value.integer;
|
||||||
case DECIMAL_VALUE:
|
case DECIMAL_VALUE:
|
||||||
@ -5441,7 +5441,7 @@ void Item_cache_real::store(Item *item)
|
|||||||
longlong Item_cache_real::val_int()
|
longlong Item_cache_real::val_int()
|
||||||
{
|
{
|
||||||
DBUG_ASSERT(fixed == 1);
|
DBUG_ASSERT(fixed == 1);
|
||||||
return (longlong) (value+(value > 0 ? 0.5 : -0.5));
|
return (longlong) rint(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -159,7 +159,7 @@ struct Hybrid_type_traits
|
|||||||
{ val->real/= ulonglong2double(u); }
|
{ val->real/= ulonglong2double(u); }
|
||||||
|
|
||||||
virtual longlong val_int(Hybrid_type *val, bool unsigned_flag) const
|
virtual longlong val_int(Hybrid_type *val, bool unsigned_flag) const
|
||||||
{ return (longlong) val->real; }
|
{ return (longlong) rint(val->real); }
|
||||||
virtual double val_real(Hybrid_type *val) const { return val->real; }
|
virtual double val_real(Hybrid_type *val) const { return val->real; }
|
||||||
virtual my_decimal *val_decimal(Hybrid_type *val, my_decimal *buf) const;
|
virtual my_decimal *val_decimal(Hybrid_type *val, my_decimal *buf) const;
|
||||||
virtual String *val_str(Hybrid_type *val, String *buf, uint8 decimals) const;
|
virtual String *val_str(Hybrid_type *val, String *buf, uint8 decimals) const;
|
||||||
@ -1354,7 +1354,7 @@ public:
|
|||||||
{
|
{
|
||||||
return LONGLONG_MAX;
|
return LONGLONG_MAX;
|
||||||
}
|
}
|
||||||
return (longlong) (value+(value > 0 ? 0.5 : -0.5));
|
return (longlong) rint(value);
|
||||||
}
|
}
|
||||||
String *val_str(String*);
|
String *val_str(String*);
|
||||||
my_decimal *val_decimal(my_decimal *);
|
my_decimal *val_decimal(my_decimal *);
|
||||||
|
@ -735,7 +735,7 @@ longlong Item_func_numhybrid::val_int()
|
|||||||
case INT_RESULT:
|
case INT_RESULT:
|
||||||
return int_op();
|
return int_op();
|
||||||
case REAL_RESULT:
|
case REAL_RESULT:
|
||||||
return (longlong)real_op();
|
return (longlong) rint(real_op());
|
||||||
case STRING_RESULT:
|
case STRING_RESULT:
|
||||||
{
|
{
|
||||||
int err_not_used;
|
int err_not_used;
|
||||||
|
@ -199,7 +199,7 @@ public:
|
|||||||
String *val_str(String*str);
|
String *val_str(String*str);
|
||||||
my_decimal *val_decimal(my_decimal *decimal_value);
|
my_decimal *val_decimal(my_decimal *decimal_value);
|
||||||
longlong val_int()
|
longlong val_int()
|
||||||
{ DBUG_ASSERT(fixed == 1); return (longlong) val_real(); }
|
{ DBUG_ASSERT(fixed == 1); return (longlong) rint(val_real()); }
|
||||||
enum Item_result result_type () const { return REAL_RESULT; }
|
enum Item_result result_type () const { return REAL_RESULT; }
|
||||||
void fix_length_and_dec()
|
void fix_length_and_dec()
|
||||||
{ decimals= NOT_FIXED_DEC; max_length= float_length(decimals); }
|
{ decimals= NOT_FIXED_DEC; max_length= float_length(decimals); }
|
||||||
@ -943,7 +943,7 @@ class Item_func_udf_float :public Item_udf_func
|
|||||||
longlong val_int()
|
longlong val_int()
|
||||||
{
|
{
|
||||||
DBUG_ASSERT(fixed == 1);
|
DBUG_ASSERT(fixed == 1);
|
||||||
return (longlong) Item_func_udf_float::val_real();
|
return (longlong) rint(Item_func_udf_float::val_real());
|
||||||
}
|
}
|
||||||
my_decimal *val_decimal(my_decimal *dec_buf)
|
my_decimal *val_decimal(my_decimal *dec_buf)
|
||||||
{
|
{
|
||||||
|
@ -452,7 +452,7 @@ longlong Item_sum_sum::val_int()
|
|||||||
&result);
|
&result);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
return (longlong) val_real();
|
return (longlong) rint(val_real());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1285,7 +1285,7 @@ longlong Item_sum_hybrid::val_int()
|
|||||||
return sum_int;
|
return sum_int;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
return (longlong) Item_sum_hybrid::val_real();
|
return (longlong) rint(Item_sum_hybrid::val_real());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2001,7 +2001,7 @@ double Item_avg_field::val_real()
|
|||||||
|
|
||||||
longlong Item_avg_field::val_int()
|
longlong Item_avg_field::val_int()
|
||||||
{
|
{
|
||||||
return (longlong) val_real();
|
return (longlong) rint(val_real());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -126,7 +126,7 @@ public:
|
|||||||
longlong val_int()
|
longlong val_int()
|
||||||
{
|
{
|
||||||
DBUG_ASSERT(fixed == 1);
|
DBUG_ASSERT(fixed == 1);
|
||||||
return (longlong) val_real(); /* Real as default */
|
return (longlong) rint(val_real()); /* Real as default */
|
||||||
}
|
}
|
||||||
String *val_str(String*str);
|
String *val_str(String*str);
|
||||||
my_decimal *val_decimal(my_decimal *);
|
my_decimal *val_decimal(my_decimal *);
|
||||||
@ -392,7 +392,7 @@ public:
|
|||||||
bool add();
|
bool add();
|
||||||
double val_real();
|
double val_real();
|
||||||
// In SPs we might force the "wrong" type with select into a declare variable
|
// In SPs we might force the "wrong" type with select into a declare variable
|
||||||
longlong val_int() { return (longlong)val_real(); }
|
longlong val_int() { return (longlong) rint(val_real()); }
|
||||||
my_decimal *val_decimal(my_decimal *);
|
my_decimal *val_decimal(my_decimal *);
|
||||||
String *val_str(String *str);
|
String *val_str(String *str);
|
||||||
void reset_field();
|
void reset_field();
|
||||||
@ -421,7 +421,7 @@ public:
|
|||||||
enum Type type() const {return FIELD_VARIANCE_ITEM; }
|
enum Type type() const {return FIELD_VARIANCE_ITEM; }
|
||||||
double val_real();
|
double val_real();
|
||||||
longlong val_int()
|
longlong val_int()
|
||||||
{ /* can't be fix_fields()ed */ return (longlong) val_real(); }
|
{ /* can't be fix_fields()ed */ return (longlong) rint(val_real()); }
|
||||||
String *val_str(String*);
|
String *val_str(String*);
|
||||||
my_decimal *val_decimal(my_decimal *);
|
my_decimal *val_decimal(my_decimal *);
|
||||||
bool is_null() { (void) val_int(); return null_value; }
|
bool is_null() { (void) val_int(); return null_value; }
|
||||||
@ -699,7 +699,7 @@ class Item_sum_udf_float :public Item_udf_sum
|
|||||||
longlong val_int()
|
longlong val_int()
|
||||||
{
|
{
|
||||||
DBUG_ASSERT(fixed == 1);
|
DBUG_ASSERT(fixed == 1);
|
||||||
return (longlong) Item_sum_udf_float::val_real();
|
return (longlong) rint(Item_sum_udf_float::val_real());
|
||||||
}
|
}
|
||||||
double val_real();
|
double val_real();
|
||||||
String *val_str(String*str);
|
String *val_str(String*str);
|
||||||
|
Reference in New Issue
Block a user