From: Libing Song Date: December 13 2012 3:05pm Subject: bzr push into mysql-trunk branch (libing.song:5240 to 5241) List-Archive: http://lists.mysql.com/commits/145515 Message-Id: <20121213150511.19426.71748.5241@mylaptop> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 5241 Libing Song 2012-12-13 [merge] Auto Merge modified: sql/log_event.cc 5240 Tatjana Azundris Nuernberg 2012-12-13 Bug#14475946: Cannot retrieve MySQL 5.0 stacktrace on Linux In 5.5+, we use the backtrace() interface on linux which was added to glibc in 2.1, circa 1999. (At the time of this patch, we officially support glibc 2.3 and up.) This package removes our homebrew solution, which is now essentially dead code, and prints a message to the DBA if they somehow manage to reach it anyway. (Mind that this would presumably necessitate linking against a stone age glibc, or a libc that is not GNU. Either way, we fail gracefully in such cases.) @ mysys/stacktrace.c Remove dead code that handled linux without backtrace(), which wth glibc shouldn't happen since 2.1 as of ca. 1999. Our "supported platforms" lists glibc 2.3 as a minimum, and even alphalinux and debian for alpha ran much longer than that. Besides, we fail gracefully in such setups and inform the user (at would-be backtrace time) about what's going on. modified: mysys/stacktrace.c === modified file 'sql/log_event.cc' --- a/sql/log_event.cc revid:tatjana.nuernberg@stripped +++ b/sql/log_event.cc revid:libing.song@stripped @@ -7249,7 +7249,8 @@ int Xid_log_event::do_apply_event_worker ulong gaq_idx= mts_group_idx; Slave_job_group *ptr_group= coordinator_gaq->get_job_group(gaq_idx); - if ((error= w->commit_positions(this, ptr_group, true))) + if ((error= w->commit_positions(this, ptr_group, + w->c_rli->is_transactional()))) goto err; DBUG_PRINT("mts", ("do_apply group master %s %llu group relay %s %llu event %s %llu.", @@ -7306,7 +7307,7 @@ int Xid_log_event::do_apply_event(Relay_ if (log_pos) // 3.23 binlogs don't have log_posx rli_ptr->set_group_master_log_pos(log_pos); - if ((error= rli_ptr->flush_info(TRUE))) + if ((error= rli_ptr->flush_info(rli_ptr->is_transactional()))) goto err; DBUG_PRINT("info", ("do_apply group master %s %llu group relay %s %llu event %s %llu\n", No bundle (reason: useless for push emails).