From: Mattias Jonsson Date: January 10 2011 11:57am Subject: bzr push into mysql-5.1 branch (mattias.jonsson:3531 to 3539) List-Archive: http://lists.mysql.com/commits/128276 Message-Id: <201101101158.p0ABXh92029636@acsinet15.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 3539 Mattias Jonsson 2011-01-10 [merge] merge modified: mysql-test/r/partition.result mysql-test/r/partition_error.result mysql-test/suite/parts/inc/part_supported_sql_funcs_main.inc mysql-test/suite/parts/r/part_supported_sql_func_innodb.result mysql-test/suite/parts/r/part_supported_sql_func_myisam.result mysql-test/t/partition.test mysql-test/t/partition_error.test sql/item.h sql/item_func.h sql/item_timefunc.h sql/sql_partition.cc sql/table.cc 3538 Vasil Dimov 2011-01-08 [merge] Merge mysql-5.1-innodb -> mysql-5.1 added: mysql-test/suite/innodb_plugin/r/innodb-autoinc-18274.result mysql-test/suite/innodb_plugin/t/innodb-autoinc-18274.test modified: mysql-test/suite/innodb/t/innodb_bug57255.test mysql-test/suite/innodb_plugin/r/innodb.result mysql-test/suite/innodb_plugin/t/innodb.test mysql-test/suite/innodb_plugin/t/innodb_bug57255.test sql/sql_show.cc storage/innobase/btr/btr0btr.c storage/innobase/buf/buf0buf.c storage/innobase/dict/dict0dict.c storage/innobase/dict/dict0mem.c storage/innobase/fsp/fsp0fsp.c storage/innobase/include/buf0buf.ic storage/innobase/log/log0recv.c storage/innobase/row/row0mysql.c storage/innobase/ut/ut0dbg.c storage/innodb_plugin/ChangeLog storage/innodb_plugin/btr/btr0btr.c storage/innodb_plugin/btr/btr0cur.c storage/innodb_plugin/buf/buf0buf.c storage/innodb_plugin/buf/buf0lru.c storage/innodb_plugin/dict/dict0dict.c storage/innodb_plugin/fsp/fsp0fsp.c storage/innodb_plugin/handler/ha_innodb.cc storage/innodb_plugin/handler/i_s.cc storage/innodb_plugin/include/btr0cur.h storage/innodb_plugin/include/data0data.h storage/innodb_plugin/include/data0data.ic storage/innodb_plugin/include/row0upd.h storage/innodb_plugin/include/trx0i_s.h storage/innodb_plugin/include/univ.i storage/innodb_plugin/log/log0recv.c storage/innodb_plugin/plug.in storage/innodb_plugin/row/row0mysql.c storage/innodb_plugin/row/row0purge.c storage/innodb_plugin/row/row0umod.c storage/innodb_plugin/row/row0upd.c storage/innodb_plugin/trx/trx0i_s.c storage/innodb_plugin/ut/ut0dbg.c 3537 Davi Arnaut 2011-01-07 Bug#51023: Mysql server crashes on SIGHUP and destroys InnoDB files WIN32 compilation fixes: define ETIMEDOUT only if not available and fix typos and add a missing parameter. modified: include/my_pthread.h mysys/my_fopen.c 3536 Davi Arnaut 2011-01-07 Bug#51023: Mysql server crashes on SIGHUP and destroys InnoDB files From a user perspective, the problem is that a FLUSH LOGS or SIGHUP signal could end up associating the stdout and stderr to random files. In the case of this bug report, the streams would end up associated to InnoDB ibd files. The freopen(3) function is not thread-safe on FreeBSD. What this means is that if another thread calls open(2) during freopen() is executing that another thread's fd returned by open(2) may get re-associated with the file being passed to freopen(3). See FreeBSD PR number 79887 for reference: http://www.freebsd.org/cgi/query-pr.cgi?pr=79887 This problem is worked around by substituting a internal hook within the FILE structure. This avoids the loss of atomicity by not having the original fd closed before its duplicated. Patch based on the original work by Vasil Dimov. @ include/my_sys.h Export my_freopen. @ mysys/my_fopen.c Add a my_freopen abstraction to workaround bugs in specific OSes. Add a prototype for getosreldate() as older FreeBSD versions did not define one. @ sql/log.cc Move freopen abstraction code over to mysys. The streams are now only reopened for writing. modified: include/my_sys.h mysys/my_fopen.c sql/log.cc 3535 Saikumar V 2011-01-06 Adding more mtr commands to runs engine suites. modified: mysql-test/collections/default.weekly* 3534 Georgi Kodinov 2011-01-05 Bug #59178: disable the test case modified: mysql-test/suite/rpl/t/disabled.def 3533 Nirbhay Choubey 2011-01-05 Modifications in mysql-5.1 engines test suite. modified: mysql-test/suite/engines/funcs/r/rpl_000015.result mysql-test/suite/engines/funcs/r/rpl_REDIRECT.result mysql-test/suite/engines/funcs/r/rpl_change_master.result mysql-test/suite/engines/funcs/r/rpl_empty_master_crash.result mysql-test/suite/engines/funcs/r/rpl_flushlog_loop.result mysql-test/suite/engines/funcs/r/rpl_loaddata_s.result mysql-test/suite/engines/funcs/r/rpl_log_pos.result mysql-test/suite/engines/funcs/r/rpl_rbr_to_sbr.result mysql-test/suite/engines/funcs/r/rpl_row_drop.result mysql-test/suite/engines/funcs/r/rpl_row_inexist_tbl.result mysql-test/suite/engines/funcs/r/rpl_row_until.result mysql-test/suite/engines/funcs/r/rpl_server_id1.result mysql-test/suite/engines/funcs/r/rpl_server_id2.result mysql-test/suite/engines/funcs/r/rpl_slave_status.result mysql-test/suite/engines/funcs/r/rpl_sp.result mysql-test/suite/engines/funcs/r/rpl_switch_stm_row_mixed.result mysql-test/suite/engines/funcs/t/disabled.def mysql-test/suite/engines/funcs/t/rpl_000015.test mysql-test/suite/engines/funcs/t/rpl_REDIRECT.test mysql-test/suite/engines/funcs/t/rpl_change_master.test mysql-test/suite/engines/funcs/t/rpl_empty_master_crash.test mysql-test/suite/engines/funcs/t/rpl_flushlog_loop.test mysql-test/suite/engines/funcs/t/rpl_loaddata_s.test mysql-test/suite/engines/funcs/t/rpl_log_pos.test mysql-test/suite/engines/funcs/t/rpl_rbr_to_sbr.test mysql-test/suite/engines/funcs/t/rpl_row_drop.test mysql-test/suite/engines/funcs/t/rpl_row_inexist_tbl.test mysql-test/suite/engines/funcs/t/rpl_row_until.test mysql-test/suite/engines/funcs/t/rpl_server_id1.test mysql-test/suite/engines/funcs/t/rpl_server_id2.test mysql-test/suite/engines/funcs/t/rpl_slave_status.test mysql-test/suite/engines/funcs/t/rpl_switch_stm_row_mixed.test mysql-test/suite/engines/iuds/t/insert_year.test 3532 Jon Olav Hauglid 2011-01-04 Bug #50619 assert in handler::update_auto_increment This assert could be triggered if -1 was inserted into an auto increment column by a statement writing more than one row. Unless explicitly given, an interval of auto increment values is generated when a statement first needs an auto increment value. The triggered assert checks that the auto increment counter is equal to or higher than the lower bound of this interval. Generally, the auto increment counter starts at 1 and is incremented by 1 each time it is used. However, inserting an explicit value into the auto increment column, sets the auto increment counter to this value + 1 if this value is higher than the current value of the auto increment counter. This bug was triggered if the explicit value was -1. Since the value was converted to unsigned before any comparisons were made, it was found to be higher than the current vale of the auto increment counter and the counter was set to -1 + 1. This value was below the reserved interval and caused the assert to be triggered the next time the statement tried to write a row. With the patch for Bug#39828, this bug is no longer repeatable. Now, -1 + 1 is detected as an "overflow" which causes the auto increment counter to be set to ULONGLONG_MAX. This avoids hitting the assert for the next insert and causes a new interval of auto increment values to be generated. This resolves the issue. This patch therefore only contains a regression test and no code changes. Test case added to auto_increment.test. modified: mysql-test/r/auto_increment.result mysql-test/t/auto_increment.test 3531 Guilhem Bichot 2010-12-31 Test which runs slowly on some machines, is marked as big so will be run only weekly; this closes BUG#50595. renamed: mysql-test/suite/funcs_1/r/myisam_views.result => mysql-test/suite/funcs_1/r/myisam_views-big.result mysql-test/suite/funcs_1/t/myisam_views.test => mysql-test/suite/funcs_1/t/myisam_views-big.test modified: mysql-test/collections/default.weekly mysql-test/suite/funcs_1/t/myisam_views-big.test Diff too large for email (19953 lines, the limit is 10000). No bundle (reason: useless for push emails).