diff options
author | Michael Widenius <monty@askmonty.org> | 2011-05-11 13:59:17 +0300 |
---|---|---|
committer | Michael Widenius <monty@askmonty.org> | 2011-05-11 13:59:17 +0300 |
commit | 8d52c2cffe0ff75ea9a4313c776cc5441e70aef3 (patch) | |
tree | 3207cd9a232e3eea31aa0976436290d221fe3299 | |
parent | 052d1bfb1a215d927e31bbe521a7e29d5da8a384 (diff) | |
download | mariadb-git-8d52c2cffe0ff75ea9a4313c776cc5441e70aef3.tar.gz |
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
-rw-r--r-- | mysql-test/r/dyncol.result | 6 | ||||
-rw-r--r-- | mysql-test/r/index_intersect.result | 2 | ||||
-rw-r--r-- | mysql-test/r/index_intersect_innodb.result | 2 | ||||
-rw-r--r-- | mysql-test/t/dyncol.test | 8 | ||||
-rw-r--r-- | mysql-test/t/index_intersect.test | 3 | ||||
-rw-r--r-- | mysys/ma_dyncol.c | 2 | ||||
-rw-r--r-- | sql/key.cc | 1 | ||||
-rw-r--r-- | sql/mysqld.cc | 2 | ||||
-rw-r--r-- | support-files/compiler_warnings.supp | 8 |
9 files changed, 25 insertions, 9 deletions
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%'; diff --git a/mysys/ma_dyncol.c b/mysys/ma_dyncol.c index 71eacc6b319..6a8e4d689f3 100644 --- a/mysys/ma_dyncol.c +++ b/mysys/ma_dyncol.c @@ -905,6 +905,7 @@ static void type_and_offset_read(DYNAMIC_COLUMN_TYPE *type, uchar *place, size_t offset_size) { ulong val; + LINT_INIT(val); place+= COLUMN_NUMBER_SIZE; /* skip column number */ switch (offset_size) { @@ -1611,6 +1612,7 @@ find_place(uint num, uchar *header, size_t entry_size, { uint mid, start, end, val; int flag; + LINT_INIT(flag); /* 100 % safe */ start= 0; end= column_count -1; diff --git a/sql/key.cc b/sql/key.cc index f7966140cdf..7f484bee32b 100644 --- a/sql/key.cc +++ b/sql/key.cc @@ -761,6 +761,7 @@ bool key_buf_cmp(KEY *key_info, uint used_key_parts, LINT_INIT(cs); LINT_INIT(length1); LINT_INIT(length2); + LINT_INIT(pack_length); key1+= key_part->length; key2+= key_part->length; diff --git a/sql/mysqld.cc b/sql/mysqld.cc index 2e4ce2c6be6..057a724d8ed 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -4661,7 +4661,7 @@ int main(int argc, char **argv) #ifndef DBUG_OFF test_lc_time_sz(); - srand(time(NULL)); + srand((uint) time(NULL)); #endif /* diff --git a/support-files/compiler_warnings.supp b/support-files/compiler_warnings.supp index 3025fdf5f5d..dc843afeb30 100644 --- a/support-files/compiler_warnings.supp +++ b/support-files/compiler_warnings.supp @@ -67,7 +67,6 @@ vi\.c : unused parameter common\.c : unused parameter term\.c : .* - # # Ignore some warnings in libevent, which is not maintained by us. # @@ -146,6 +145,7 @@ table_xt\.cc : variable.*might be clobbered by.*longjmp # # Yassl +# include/runtime.hpp: .*pure_error.* .*/extra/yassl/.*taocrypt/.*: comparison with string literal .*/extra/yassl/taocrypt/src/blowfish\.cpp: array subscript is above array bounds @@ -159,6 +159,12 @@ mySTL/algorithm\.hpp: is used uninitialized in this function .*/dbug/.*(groff|<standard input>) : .* # +# Warnings on OpenSolaris +# +.*/my_config\.h : _FILE_OFFSET_BITS +/usr/include/sys/feature_tests.h : this is the location of the previous definition + +# # Unexplanable (?) stuff # listener.cc : .*conversion from 'SOCKET' to 'int'.* |