Commit 69789688 authored by unknown's avatar unknown
Browse files

Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0

into mysql.com:/home/mysql_src/mysql-4.0

parents 00e7ec42 9ca47d04
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -589,6 +589,8 @@ show_failed_diff ()
    echo "Please follow the instructions outlined at"
    echo "http://www.mysql.com/doc/en/Reporting_mysqltest_bugs.html"
    echo "to find the reason to this problem and how to report this."
    echo ""
    echo "Test $1 failed!"
  fi
}

+12 −12
Original line number Diff line number Diff line
@@ -18,44 +18,44 @@ abs(-10) sign(-5) sign(5) sign(0)
10	-1	1	0
select log(exp(10)),exp(log(sqrt(10))*2),log(-1),log(NULL),log(1,1),log(3,9),log(-1,2),log(NULL,2);
log(exp(10))	exp(log(sqrt(10))*2)	log(-1)	log(NULL)	log(1,1)	log(3,9)	log(-1,2)	log(NULL,2)
10.000000	10.000000	NULL	NULL	NULL	2.000000	NULL	NULL
10	10	NULL	NULL	NULL	2	NULL	NULL
select ln(exp(10)),exp(ln(sqrt(10))*2),ln(-1),ln(0),ln(NULL);
ln(exp(10))	exp(ln(sqrt(10))*2)	ln(-1)	ln(0)	ln(NULL)
10.000000	10.000000	NULL	NULL	NULL
10	10	NULL	NULL	NULL
select log2(8),log2(15),log2(-2),log2(0),log2(NULL);
log2(8)	log2(15)	log2(-2)	log2(0)	log2(NULL)
3.000000	3.906891	NULL	NULL	NULL
3	3.9068905956085	NULL	NULL	NULL
select log10(100),log10(18),log10(-4),log10(0),log10(NULL);
log10(100)	log10(18)	log10(-4)	log10(0)	log10(NULL)
2.000000	1.255273	NULL	NULL	NULL
2	1.2552725051033	NULL	NULL	NULL
select pow(10,log10(10)),power(2,4);
pow(10,log10(10))	power(2,4)
10.000000	16.000000
10	16
set @@rand_seed1=10000000,@@rand_seed2=1000000;
select rand(999999),rand();
rand(999999)	rand()
0.014231365187309	0.028870999839968
select pi(),sin(pi()/2),cos(pi()/2),abs(tan(pi())),cot(1),asin(1),acos(0),atan(1);
pi()	sin(pi()/2)	cos(pi()/2)	abs(tan(pi()))	cot(1)	asin(1)	acos(0)	atan(1)
3.141593	1.000000	0.000000	0.000000	0.64209262	1.570796	1.570796	0.785398
3.141593	1	6.1230317691119e-17	1.2246063538224e-16	0.64209261593433	1.5707963267949	1.5707963267949	0.78539816339745
select degrees(pi()),radians(360);
degrees(pi())	radians(360)
180	6.2831853071796
SELECT ACOS(1.0);
ACOS(1.0)
0.000000
0
SELECT ASIN(1.0);
ASIN(1.0)
1.570796
1.5707963267949
SELECT ACOS(0.2*5.0);
ACOS(0.2*5.0)
0.000000
0
SELECT ACOS(0.5*2.0);
ACOS(0.5*2.0)
0.000000
0
SELECT ASIN(0.8+0.2);
ASIN(0.8+0.2)
1.570796
1.5707963267949
SELECT ASIN(1.2-0.2);
ASIN(1.2-0.2)
1.570796
1.5707963267949
+7 −4
Original line number Diff line number Diff line
@@ -72,14 +72,17 @@ insert t1 values (121,"16");
select c1 + c1 * (c2 / 100) as col from t1;
col
140.36
create table t2 select c1 + c1 * (c2 / 100) as col from t1;
create table t2 select c1 + c1 * (c2 / 100) as col1, round(c1, 5) as col2, round(c1, 35) as col3, sqrt(c1*1e-15) col4 from t1;
select * from t2;
col
140.36
col1	col2	col3	col4
140.36	121.00000	121	3.47850542618522e-07
show create table t2;
Table	Create Table
t2	CREATE TABLE `t2` (
  `col` double default NULL
  `col1` double default NULL,
  `col2` double(22,5) default NULL,
  `col3` double default NULL,
  `col4` double default NULL
) TYPE=MyISAM
drop table t1,t2;
create table t1 (f float, f2 float(24), f3 float(6,2), d double, d2 float(53), d3 double(10,3), de decimal, de2 decimal(6), de3 decimal(5,2), n numeric, n2 numeric(8), n3 numeric(5,6));
+7 −2
Original line number Diff line number Diff line
@@ -28,10 +28,14 @@ select a from t1 order by a;
select min(a) from t1;
drop table t1;

#
# BUG#3612, BUG#4393, BUG#4356, BUG#4394
#

create table t1 (c1 double, c2 varchar(20));
insert t1 values (121,"16");
select c1 + c1 * (c2 / 100) as col from t1;
create table t2 select c1 + c1 * (c2 / 100) as col from t1;
create table t2 select c1 + c1 * (c2 / 100) as col1, round(c1, 5) as col2, round(c1, 35) as col3, sqrt(c1*1e-15) col4 from t1;
select * from t2;
show create table t2;
drop table t1,t2;
@@ -52,6 +56,7 @@ drop table t1;

# Errors

!$1063 create table t1 (f float(54));	# Should give an error
--error 1063
create table t1 (f float(54));	# Should give an error
drop table if exists t1;
+2 −2
Original line number Diff line number Diff line
@@ -684,7 +684,7 @@ void Item_func_round::fix_length_and_dec()
    if (tmp < 0)
      decimals=0;
    else
      decimals=tmp;
      decimals=min(tmp,NOT_FIXED_DEC);
  }
}

@@ -1286,7 +1286,7 @@ udf_handler::fix_fields(THD *thd,TABLE_LIST *tables,Item_result_field *func,
    func->max_length=min(initid.max_length,MAX_BLOB_WIDTH);
    func->maybe_null=initid.maybe_null;
    const_item_cache=initid.const_item;
    func->decimals=min(initid.decimals,31);
    func->decimals=min(initid.decimals,NOT_FIXED_DEC);
  }
  initialized=1;
  if (error)
Loading