From 8d52c2cffe0ff75ea9a4313c776cc5441e70aef3 Mon Sep 17 00:00:00 2001 From: Michael Widenius Date: Wed, 11 May 2011 13:59:17 +0300 Subject: Fixed compiler warnings and test cases problems found by buildbot mysql-test/r/dyncol.result: Updated test results mysql-test/r/index_intersect.result: Updated results mysql-test/r/index_intersect_innodb.result: Updated results mysql-test/t/dyncol.test: Added replace_result for floating point results that are different on windows Added round() around a result to get same result on all platforms. mysql-test/t/index_intersect.test: Added replace_result to fix that index_merge may put key names in different order. mysys/ma_dyncol.c: Fixed compiler warnings on Solaris sql/key.cc: Fixed compiler warnings on Solaris sql/mysqld.cc: Fixed compiler warning on windows support-files/compiler_warnings.supp: Suppressed an unintersting warning on Solaris --- mysql-test/r/dyncol.result | 6 +++--- mysql-test/r/index_intersect.result | 2 +- mysql-test/r/index_intersect_innodb.result | 2 +- mysql-test/t/dyncol.test | 8 +++++++- mysql-test/t/index_intersect.test | 3 ++- 5 files changed, 14 insertions(+), 7 deletions(-) (limited to 'mysql-test') diff --git a/mysql-test/r/dyncol.result b/mysql-test/r/dyncol.result index a8480599129..850c7519784 100644 --- a/mysql-test/r/dyncol.result +++ b/mysql-test/r/dyncol.result @@ -444,9 +444,9 @@ column_get(column_create(1, "8:46:06.23434" AS time), 1 as double) select column_get(column_create(1, "2011-04-05 8:46:06.23434" AS datetime), 1 as double); column_get(column_create(1, "2011-04-05 8:46:06.23434" AS datetime), 1 as double) 20110405084606.2 -select column_get(column_create(1, "2011-04-05 8:46:06.23434" AS datetime), 1 as double(20,6)); -column_get(column_create(1, "2011-04-05 8:46:06.23434" AS datetime), 1 as double(20,6)) -20110405084606.234375 +select round(column_get(column_create(1, "2011-04-05 8:46:06.23434" AS datetime), 1 as double(20,6)),3); +round(column_get(column_create(1, "2011-04-05 8:46:06.23434" AS datetime), 1 as double(20,6)),3) +20110405084606.234 select column_get(column_create(1, NULL AS double), 1 as double); column_get(column_create(1, NULL AS double), 1 as double) NULL diff --git a/mysql-test/r/index_intersect.result b/mysql-test/r/index_intersect.result index 713674430cf..bc053c49748 100644 --- a/mysql-test/r/index_intersect.result +++ b/mysql-test/r/index_intersect.result @@ -371,7 +371,7 @@ EXPLAIN SELECT * FROM City WHERE Name BETWEEN 'G' AND 'K' AND Population > 500000 AND Country LIKE 'C%'; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE City range Population,Country,Name Name 35 NULL # Using index condition; Using where; Rowid-ordered scan +1 SIMPLE City range Population,Name,Country Name # NULL # Using index condition; Using where; Rowid-ordered scan SELECT * FROM City USE INDEX () WHERE Name BETWEEN 'M' AND 'N' AND Population > 1000000 AND Country LIKE 'C%'; ID Name Country Population diff --git a/mysql-test/r/index_intersect_innodb.result b/mysql-test/r/index_intersect_innodb.result index c2aa281c7f3..85184d79cce 100644 --- a/mysql-test/r/index_intersect_innodb.result +++ b/mysql-test/r/index_intersect_innodb.result @@ -372,7 +372,7 @@ EXPLAIN SELECT * FROM City WHERE Name BETWEEN 'G' AND 'K' AND Population > 500000 AND Country LIKE 'C%'; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE City index_merge Population,Country,Name Population,Name,Country 4,35,3 NULL # Using sort_intersect(Population,Name,Country); Using where +1 SIMPLE City index_merge Population,Name,Country Population,Name,Country # NULL # Using sort_intersect(Population,Name,Country); Using where SELECT * FROM City USE INDEX () WHERE Name BETWEEN 'M' AND 'N' AND Population > 1000000 AND Country LIKE 'C%'; ID Name Country Population diff --git a/mysql-test/t/dyncol.test b/mysql-test/t/dyncol.test index b7c3697beaf..eb6403feba3 100644 --- a/mysql-test/t/dyncol.test +++ b/mysql-test/t/dyncol.test @@ -86,6 +86,7 @@ select column_get(column_create(1, -1212 AS int), 1 as unsigned int); select column_get(column_create(1, 99999999999999999999999999999 AS decimal), 1 as unsigned int); select column_get(column_create(1, 999.9999999999999999 AS decimal), 1 as unsigned int); select column_get(column_create(1, -1 AS decimal), 1 as unsigned int); +--replace_result 1e+029 1e+29 select column_get(column_create(1, 99999999999999999999999999999 AS double), 1 as unsigned int); select column_get(column_create(1, 999.9 AS double), 1 as unsigned int); select column_get(column_create(1, -1 AS double), 1 as unsigned int); @@ -115,6 +116,7 @@ select column_get(column_create(1, 99999999999999999999999999999 AS decimal), 1 select column_get(column_create(1, -99999999999999999999999999999 AS decimal), 1 as int); select column_get(column_create(1, 999.9999999999999999 AS decimal), 1 as int); select column_get(column_create(1, 999.9 AS double), 1 as int); +--replace_result 1e+029 1e+29 select column_get(column_create(1, -99999999999999999999999999999 AS double), 1 as int); select column_get(column_create(1, "-1212III" AS char), 1 as int); select column_get(column_create(1, "1212III" AS char), 1 as int); @@ -161,7 +163,8 @@ select column_get(column_create(1, -99999999999999999999999999999 AS decimal), 1 select column_get(column_create(1, "2011-04-05" AS date), 1 as double); select column_get(column_create(1, "8:46:06.23434" AS time), 1 as double); select column_get(column_create(1, "2011-04-05 8:46:06.23434" AS datetime), 1 as double); -select column_get(column_create(1, "2011-04-05 8:46:06.23434" AS datetime), 1 as double(20,6)); +# The replace result is needed for windows. +select round(column_get(column_create(1, "2011-04-05 8:46:06.23434" AS datetime), 1 as double(20,6)),3); select column_get(column_create(1, NULL AS double), 1 as double); -- echo # column get real truncation & warnings @@ -241,6 +244,7 @@ select column_get(column_create(1, 18446744073709551615 AS unsigned int), 1 as d select column_get(column_create(1, 9223372036854775807 AS int), 1 as datetime); select column_get(column_create(1, -9223372036854775808 AS int), 1 as datetime); select column_get(column_create(1, 99999999999999999999999999999 AS decimal(32,10)), 1 as datetime); +--replace_result 1e+028 1e+28 select column_get(column_create(1, 99999999999999999999999999999 AS double), 1 as datetime); select column_get(column_create(1, "2011-02-32 8:46:06.23434" AS CHAR), 1 as datetime); select column_get(column_create(1, "2011-13-01 8:46:06.23434" AS CHAR), 1 as datetime); @@ -286,6 +290,7 @@ select column_get(column_create(1, 18446744073709551615 AS unsigned int), 1 as d select column_get(column_create(1, 9223372036854775807 AS int), 1 as date); select column_get(column_create(1, -9223372036854775808 AS int), 1 as date); select column_get(column_create(1, 99999999999999999999999999999 AS decimal(32,10)), 1 as date); +--replace_result 1e+028 1e+28 select column_get(column_create(1, 99999999999999999999999999999 AS double), 1 as date); select column_get(column_create(1, "2011-02-32 8:46:06.23434" AS CHAR), 1 as date); select column_get(column_create(1, "2011-13-01 8:46:06.23434" AS CHAR), 1 as date); @@ -330,6 +335,7 @@ select column_get(column_create(1, 18446744073709551615 AS unsigned int), 1 as t select column_get(column_create(1, 9223372036854775807 AS int), 1 as time); select column_get(column_create(1, -9223372036854775808 AS int), 1 as time); select column_get(column_create(1, 99999999999999999999999999999 AS decimal(32,10)), 1 as time); +--replace_result 1e+028 1e+28 select column_get(column_create(1, 99999999999999999999999999999 AS double), 1 as time); select column_get(column_create(1, "2011-02-32 8:46:06.23434" AS CHAR), 1 as time); select column_get(column_create(1, "2011-13-01 8:46:06.23434" AS CHAR), 1 as time); diff --git a/mysql-test/t/index_intersect.test b/mysql-test/t/index_intersect.test index 9ea2f5e3101..c2834e685eb 100644 --- a/mysql-test/t/index_intersect.test +++ b/mysql-test/t/index_intersect.test @@ -136,7 +136,8 @@ EXPLAIN SELECT * FROM City WHERE Name BETWEEN 'G' AND 'J' AND Population > 1000000 AND Country LIKE 'B%'; ---replace_column 9 # +--replace_column 7 # 9 # +--replace_result Population,Country,Name Population,Name,Country EXPLAIN SELECT * FROM City WHERE Name BETWEEN 'G' AND 'K' AND Population > 500000 AND Country LIKE 'C%'; -- cgit v1.2.1