From 9aae1afbbbe775f41b94b3d74652f4bd7c073378 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 22 Mar 2006 14:57:24 +0100 Subject: [PATCH 1/2] Bug#18071 Result from MATCH() uses too many decimals - Use FORMAT as a workaround to only output the first 6 decimals of the value returned from MATCH - This has been done before mysql-test/r/fulltext.result: Use FORMAT to only output the first 6 decimals from MATCH mysql-test/t/fulltext.test: Use FORMAT to only output the first 6 decimals from MATCH --- mysql-test/r/fulltext.result | 10 +++++----- mysql-test/t/fulltext.test | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/mysql-test/r/fulltext.result b/mysql-test/r/fulltext.result index d683fcfa3ff..85894d5cb0e 100644 --- a/mysql-test/r/fulltext.result +++ b/mysql-test/r/fulltext.result @@ -447,12 +447,12 @@ t1 CREATE TABLE `t1` ( DROP TABLE t1; CREATE TABLE t1 (a TEXT, FULLTEXT KEY(a)); INSERT INTO t1 VALUES('test'),('test1'),('test'); -PREPARE stmt from "SELECT a, MATCH(a) AGAINST('test1 test') FROM t1 WHERE MATCH(a) AGAINST('test1 test')"; +PREPARE stmt from "SELECT a, FORMAT(MATCH(a) AGAINST('test1 test'),6) FROM t1 WHERE MATCH(a) AGAINST('test1 test')"; EXECUTE stmt; -a MATCH(a) AGAINST('test1 test') -test1 0.68526661396027 +a FORMAT(MATCH(a) AGAINST('test1 test'),6) +test1 0.685267 EXECUTE stmt; -a MATCH(a) AGAINST('test1 test') -test1 0.68526661396027 +a FORMAT(MATCH(a) AGAINST('test1 test'),6) +test1 0.685267 DEALLOCATE PREPARE stmt; DROP TABLE t1; diff --git a/mysql-test/t/fulltext.test b/mysql-test/t/fulltext.test index 91033fe2ba9..0f7835e9e7e 100644 --- a/mysql-test/t/fulltext.test +++ b/mysql-test/t/fulltext.test @@ -371,7 +371,7 @@ DROP TABLE t1; # CREATE TABLE t1 (a TEXT, FULLTEXT KEY(a)); INSERT INTO t1 VALUES('test'),('test1'),('test'); -PREPARE stmt from "SELECT a, MATCH(a) AGAINST('test1 test') FROM t1 WHERE MATCH(a) AGAINST('test1 test')"; +PREPARE stmt from "SELECT a, FORMAT(MATCH(a) AGAINST('test1 test'),6) FROM t1 WHERE MATCH(a) AGAINST('test1 test')"; EXECUTE stmt; EXECUTE stmt; DEALLOCATE PREPARE stmt; From d4eeb4eefdbb8ccfc2b7a22e5dd53efda8ff31a6 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 22 Mar 2006 16:47:45 +0100 Subject: [PATCH 2/2] Fix windows results using "replace_result" --- mysql-test/t/type_float.test | 5 +++++ mysql-test/t/type_newdecimal.test | 11 +++++++++++ mysql-test/t/variables.test | 2 ++ 3 files changed, 18 insertions(+) diff --git a/mysql-test/t/type_float.test b/mysql-test/t/type_float.test index d223c315735..5bfd744e4a8 100644 --- a/mysql-test/t/type_float.test +++ b/mysql-test/t/type_float.test @@ -116,10 +116,15 @@ drop table if exists t1; # Check conversion of floats to character field (Bug #7774) create table t1 (c char(20)); insert into t1 values (5e-28); +# Expected result is "5e-28", but windows returns "5e-028" +--replace_result 5e-028 5e-28 select * from t1; drop table t1; create table t1 (c char(6)); insert into t1 values (2e5),(2e6),(2e-4),(2e-5); +# Expected result is "2e+06", but windows returns "2e+006" +# Expected result is "2e-05", but windows returns "2e-005" +--replace_result 2e+006 2e+06 2e-005 2e-05 select * from t1; drop table t1; diff --git a/mysql-test/t/type_newdecimal.test b/mysql-test/t/type_newdecimal.test index e2fe9767432..47b8bf64d66 100644 --- a/mysql-test/t/type_newdecimal.test +++ b/mysql-test/t/type_newdecimal.test @@ -1050,7 +1050,18 @@ while ($max_power) } SELECT my_float, my_double, my_varchar FROM t1; +# Expected result 0.000000000011754943372854760000 +# On windows we get 0.000000000011754943372854770000 +# use replace_result to correct it +--replace_result 0.000000000011754943372854770000 0.000000000011754943372854760000 + SELECT CAST(my_float AS DECIMAL(65,30)), my_float FROM t1; + +# Expected result 0.000000000011754943372854760000 +# On windows we get 0.000000000011754943372854770000 +# use replace_result to correct it +--replace_result 0.000000000011754943372854770000 0.000000000011754943372854760000 + SELECT CAST(my_double AS DECIMAL(65,30)), my_double FROM t1; SELECT CAST(my_varchar AS DECIMAL(65,30)), my_varchar FROM t1; diff --git a/mysql-test/t/variables.test b/mysql-test/t/variables.test index 8df1d34ea5e..8d8dc7896df 100644 --- a/mysql-test/t/variables.test +++ b/mysql-test/t/variables.test @@ -20,6 +20,8 @@ select @test, @`test`, @TEST, @`TEST`, @"teSt"; set @select=2,@t5=1.23456; select @`select`,@not_used; set @test_int=10,@test_double=1e-10,@test_string="abcdeghi",@test_string2="abcdefghij",@select=NULL; +# Expected result "1e-10", windows returns "1e-010" +--replace_result 1e-010 1e-10 select @test_int,@test_double,@test_string,@test_string2,@select; set @test_int="hello",@test_double="hello",@test_string="hello",@test_string2="hello"; select @test_int,@test_double,@test_string,@test_string2;