From: Alexander Barkov Date: May 2 2012 8:03pm Subject: bzr push into mysql-trunk branch (alexander.barkov:3766 to 3767) WL#946 List-Archive: http://lists.mysql.com/commits/143714 Message-Id: <201205022008.q42K8vQx009165@acsmt357.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 3767 Alexander Barkov 2012-05-02 After-fix for WL#946 check_simple_equality() didn't work well with temporal arguments in some cases, which made redundant warnings get produced. Fixing agg_arg_charsets_for_comparison() to store its result into cmp.cmp_collation instead of a temporary variable, so Item_bool_func2::compare_collation() returns a correct result. modified: mysql-test/r/type_temporal_fractional.result sql/item_cmpfunc.cc 3766 Vasil Dimov 2012-05-02 Remove duplicate definition of OS_SYNC_TIME_EXCEEDED and fix typo in the macro os_event_wait_time(). modified: storage/innobase/include/os0sync.h === modified file 'mysql-test/r/type_temporal_fractional.result' --- a/mysql-test/r/type_temporal_fractional.result 2012-04-20 11:05:43 +0000 +++ b/mysql-test/r/type_temporal_fractional.result 2012-05-02 19:59:24 +0000 @@ -16026,7 +16026,6 @@ CONCAT_WS('-', '%V', '%H' )); c1 Warnings: Warning 1411 Incorrect datetime value: 'May:Mon:2009:00:124' for function str_to_date -Warning 1411 Incorrect datetime value: 'May:Mon:2009:00:124' for function str_to_date DROP TABLE t1; SET @@timestamp=DEFAULT; SET @@timestamp= UNIX_TIMESTAMP('2011-09-21 08:20:30.123456'); @@ -16897,7 +16896,6 @@ col_timestamp_3_not_null_key < col_datet c1 c2 Warnings: Warning 1411 Incorrect datetime value: '00-0' for function str_to_date -Warning 1411 Incorrect datetime value: '00-0' for function str_to_date DROP TABLE t1; # # Bug#13399082 - ASSERTION `MON > 0 && MON < 13' FAILED IN TZTIME.CC | SEC_SINCE_EPOCH === modified file 'sql/item_cmpfunc.cc' --- a/sql/item_cmpfunc.cc 2012-04-30 12:42:56 +0000 +++ b/sql/item_cmpfunc.cc 2012-05-02 19:59:24 +0000 @@ -532,23 +532,13 @@ void Item_bool_func2::fix_length_and_dec DBUG_ENTER("Item_bool_func2::fix_length_and_dec"); - /* - We allow to convert to Unicode character sets in some cases. - The conditions when conversion is possible are: - - arguments A and B have different charsets - - A wins according to coercibility rules - - character set of A is superset for character set of B - - If all of the above is true, then it's possible to convert - B into the character set of A, and then compare according - to the collation of A. + /* + See agg_item_charsets() in item.cc for comments + on character set and collation aggregation. */ - - - DTCollation coll; if (args[0]->result_type() == STRING_RESULT && args[1]->result_type() == STRING_RESULT && - agg_arg_charsets_for_comparison(coll, args, 2)) + agg_arg_charsets_for_comparison(cmp.cmp_collation, args, 2)) DBUG_VOID_RETURN; args[0]->cmp_context= args[1]->cmp_context= No bundle (reason: useless for push emails).