List:Commits« Previous MessageNext Message »
From:Libing Song Date:December 13 2012 3:05pm
Subject:bzr push into mysql-trunk branch (libing.song:5240 to 5241)
View as plain text  
 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).
Thread
bzr push into mysql-trunk branch (libing.song:5240 to 5241) Libing Song17 Dec