Bug #37148 Most callers of mysql_bin_log.write ignore the return result
Submitted: 3 Jun 2008 5:21 Modified: 9 Feb 7:18
Reporter: Mark Callaghan
Status: Need Merge
Category:Server: Replication Severity:S3 (Non-critical)
Version:5.0.37, 5.0.64, 5.1.26 OS:Any
Assigned to: Jonas Oreland Target Version:5.1+
Tags: write, binlog, replication
Triage: Triaged: D3 (Medium) / R2 (Low) / E3 (Medium)

[3 Jun 2008 5:21] Mark Callaghan
Description:
Most callers of mysql_bin_log.write ignore the return result. It can return an error
which may indicate that the binlog event was not written. Ignoring this error means that
MySQL may then go a commit the transaction to InnoDB leaving slaves and the master
inconsistent.

There are even inconsistencies in the same file. For example, the result is checked in
sql_insert for regular inserts but not for insert-select.

How to repeat:
Grep the code for mysql_bin_log\.write
[21 Aug 2008 9:38] Mats Kindahl
Rationale for R3/E3: Adding checks to all the places where they are missing is a low-risk
moderate effort, but it is complicated by the fact that refactoring might be necessary to
propagate the errors correctly and abort execution in the event of a failure. The
refactoring may introduce new bugs and will also increase the amount of work necessary to
perform the task.
[21 Aug 2008 16:12] Mark Callaghan
You could start by writing a message to the db error log when there is a problem. This
could be done within MYSQL_LOG::write. Today, it calls my_message() or my_error(). Do
either of those write anything to the db error log. It is a bad idea to rely on clients
to log and report all error messages especially if the client is the SQL slave thread
when the slave is also writing a binlog.
[3 Jun 2009 3:06] James Day
Perhaps control the risk here by splitting the work into two different bug reports:

1. Log error and handle the easy code changes.
2. Fix any which require more extensive refactoring.

That should take care of at least a decent proportion of the error cases fairly soon,
while potentially leaving the tougher ones for later.

The fix for bug #43929 leaves us knowing that we've failed to log an update to a table
into the binary log, so part 1 would communicate "sorry, you now have to reclone all of
your slaves and make a new backup because your binlog is no longer reliable" for all
cases and presumably fix some of the transactional ones with a rollback if the errors
propagate back up the call stack and get handled properly.

Because bug #43929 is D2 it seems that both parts of this bug should also be D2 instead
of D3. Data loss potential on the master, actual if binlog recovery is needed before the
next backup; actual on the slaves immediately.
[24 Jun 2009 21:29] James Day
Alfranio, it sounds as though there's merit in doing the easy and low risk error message
part of the job first, in a different bug report. That'll deliver a lot of benefit to end
users.
[8 Jul 2009 15:30] Bugs System
Pushed into 5.1.37 (revid:joro@sun.com-20090708131116-kyz8iotbum8w9yic) (version source
revid:alfranio.correia@sun.com-20090618141614-uifzzw8e1quuo5gn) (merge vers: 5.1.36)
(pib:11)
[9 Jul 2009 9:36] Bugs System
Pushed into 5.1.37 (revid:joro@sun.com-20090708131116-kyz8iotbum8w9yic) (version source
revid:alfranio.correia@sun.com-20090618141614-uifzzw8e1quuo5gn) (merge vers: 5.1.36)
(pib:11)
[10 Jul 2009 13:21] Bugs System
Pushed into 5.4.4-alpha
(revid:anozdrin@bk-internal.mysql.com-20090710111017-bnh2cau84ug1hvei) (version source
revid:alfranio.correia@sun.com-20090618170901-02r8xonuztg8005r) (merge vers: 5.4.4-alpha)
(pib:11)
[13 Jul 2009 6:01] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/78490

2973 He Zhenxing	2009-07-13
      BUG#37148 Most callers of mysql_bin_log.write ignore the return result
      
      The return value of mysql_bin_log.write was ignored by most callers,
      which may lead to inconsistent on master and slave if the transaction
      was committed while the binlog was not correctly written.
      
      This fixed the problem by let the caller to check and handle the
      return value of mysql_bin_log.write. This patch only adresses the
      simple cases.
[13 Aug 2009 0:02] Paul DuBois
Noted in 5.4.2 changelog because next 5.4 version will be 5.4.2 and not 5.4.4.
[15 Aug 2009 0:54] Paul DuBois
Ignore previous comment about 5.4.2.
[20 Aug 2009 11:57] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/81137

2973 He Zhenxing	2009-08-20
      BUG#37148 Most callers of mysql_bin_log.write ignore the return result
      
      The return value of mysql_bin_log.write was ignored by most callers,
      which may lead to inconsistent on master and slave if the transaction
      was committed while the binlog was not correctly written.
      
      This fixed the problem by let the caller to check and handle the
      return value of mysql_bin_log.write. This patch only adresses the
      simple cases.
[26 Aug 2009 15:46] Bugs System
Pushed into 5.1.37-ndb-7.0.8 (revid:jonas@mysql.com-20090826132541-yablppc59e3yb54l)
(version source revid:jonas@mysql.com-20090826132541-yablppc59e3yb54l) (merge vers:
5.1.37-ndb-7.0.8) (pib:11)
[26 Aug 2009 15:46] Bugs System
Pushed into 5.1.37-ndb-6.3.27 (revid:jonas@mysql.com-20090826105955-bkj027t47gfbamnc)
(version source revid:jonas@mysql.com-20090826105955-bkj027t47gfbamnc) (merge vers:
5.1.37-ndb-6.3.27) (pib:11)
[26 Aug 2009 15:48] Bugs System
Pushed into 5.1.37-ndb-6.2.19 (revid:jonas@mysql.com-20090825194404-37rtosk049t9koc4)
(version source revid:jonas@mysql.com-20090825194404-37rtosk049t9koc4) (merge vers:
5.1.37-ndb-6.2.19) (pib:11)
[27 Aug 2009 18:33] Bugs System
Pushed into 5.1.35-ndb-7.1.0 (revid:magnus.blaudd@sun.com-20090827163030-6o3kk6r2oua159hr)
(version source revid:jonas@mysql.com-20090826132541-yablppc59e3yb54l) (merge vers:
5.1.37-ndb-7.0.8) (pib:11)
[30 Sep 2009 3:49] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/85111

2973 He Zhenxing	2009-09-30
      BUG#37148 Most callers of mysql_bin_log.write ignore the return result
      
      The return value of mysql_bin_log.write was ignored by most callers,
      which may lead to inconsistent on master and slave if the transaction
      was committed while the binlog was not correctly written.
      
      This fixed the problem by let the caller to check and handle the
      return value of mysql_bin_log.write. This patch only adresses the
      simple cases.
     @ mysql-test/include/binlog_inject_error.inc
        inject binlog write error when doing a query
     @ mysql-test/suite/binlog/t/binlog_write_error.test
        Simple test case to check if proper error is reported when injecting binlog write
errors.
[30 Oct 2009 10:59] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/88719

2973 He Zhenxing	2009-10-30
      BUG#37148 Most callers of mysql_bin_log.write ignore the return result
      
      The return value of mysql_bin_log.write was ignored by most callers,
      which may lead to inconsistent on master and slave if the transaction
      was committed while the binlog was not correctly written. If
      my_error() is call in mysql_bin_log.write, this could also lead to
      assertion issue if my_ok() or my_error() is called after.
      
      This fixed the problem by let the caller to check and handle the
      return value of mysql_bin_log.write. This patch only adresses the
      simple cases.
     @ mysql-test/include/binlog_inject_error.inc
        inject binlog write error when doing a query
     @ mysql-test/suite/binlog/t/binlog_write_error.test
        Simple test case to check if proper error is reported when injecting binlog write
errors.
     @ sql/events.cc
        check return value of mysql_bin_log.write
     @ sql/ha_ndbcluster_binlog.cc
        Changed ndb_binlog_query to return int instead of void, and return 1 if there is
error writing the binlog
     @ sql/log.cc
        check return value of mysql_bin_log.write
     @ sql/log_event.cc
        check return value of mysql_bin_log.write
     @ sql/log_event_old.cc
        check return value of mysql_bin_log.write
     @ sql/mysql_priv.h
        Change write_bin_log to return int instead of void
     @ sql/rpl_injector.cc
        check return value of writing binlog
     @ sql/sp.cc
        check return value of writing binlog
     @ sql/sp_head.cc
        return 1 if writing binlog failed
     @ sql/sql_acl.cc
        check return value of writing binlog
     @ sql/sql_base.cc
        check return value of writing binlog
     @ sql/sql_class.h
        Change binlog_show_create_table to return int
     @ sql/sql_db.cc
        Change write_to_binlog to return int
        check return value of writing binlog
     @ sql/sql_delete.cc
        check return value of writing binlog
     @ sql/sql_insert.cc
        check return value of writing binlog
     @ sql/sql_load.cc
        check return value of writing binlog
     @ sql/sql_parse.cc
        check return value of writing binlog
     @ sql/sql_partition.cc
        check return value of writing binlog
     @ sql/sql_rename.cc
        check return value of writing binlog
     @ sql/sql_repl.cc
        check return value of writing binlog
     @ sql/sql_table.cc
        Change write_bin_log to return int, and return 1 if there was error writing
binlog
     @ sql/sql_tablespace.cc
        check return value of writing binlog
     @ sql/sql_trigger.cc
        check return value of writing binlog
     @ sql/sql_udf.cc
        check return value of writing binlog
     @ sql/sql_update.cc
        check return value of writing binlog
     @ sql/sql_view.cc
        check return value of writing binlog
[2 Nov 2009 9:26] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/88884

2973 He Zhenxing	2009-11-02
      BUG#37148 Most callers of mysql_bin_log.write ignore the return result
      
      The return value of mysql_bin_log.write was ignored by most callers,
      which may lead to inconsistent on master and slave if the transaction
      was committed while the binlog was not correctly written. If
      my_error() is call in mysql_bin_log.write, this could also lead to
      assertion issue if my_ok() or my_error() is called after.
      
      This fixed the problem by let the caller to check and handle the
      return value of mysql_bin_log.write. This patch only adresses the
      simple cases.
     @ mysql-test/include/binlog_inject_error.inc
        inject binlog write error when doing a query
     @ mysql-test/suite/binlog/t/binlog_write_error.test
        Simple test case to check if proper error is reported when injecting binlog write
errors.
     @ sql/events.cc
        check return value of mysql_bin_log.write
     @ sql/ha_ndbcluster_binlog.cc
        Changed ndb_binlog_query to return int instead of void, and return 1 if there is
error writing the binlog
     @ sql/log.cc
        check return value of mysql_bin_log.write
     @ sql/log_event.cc
        check return value of mysql_bin_log.write
     @ sql/log_event_old.cc
        check return value of mysql_bin_log.write
     @ sql/mysql_priv.h
        Change write_bin_log to return int instead of void
     @ sql/rpl_injector.cc
        check return value of writing binlog
     @ sql/sp.cc
        check return value of writing binlog
     @ sql/sp_head.cc
        return 1 if writing binlog failed
     @ sql/sql_acl.cc
        check return value of writing binlog
     @ sql/sql_base.cc
        check return value of writing binlog
     @ sql/sql_class.h
        Change binlog_show_create_table to return int
     @ sql/sql_db.cc
        Change write_to_binlog to return int
        check return value of writing binlog
     @ sql/sql_delete.cc
        check return value of writing binlog
     @ sql/sql_insert.cc
        check return value of writing binlog
     @ sql/sql_load.cc
        check return value of writing binlog
     @ sql/sql_parse.cc
        check return value of writing binlog
     @ sql/sql_partition.cc
        check return value of writing binlog
     @ sql/sql_rename.cc
        check return value of writing binlog
     @ sql/sql_repl.cc
        check return value of writing binlog
     @ sql/sql_table.cc
        Change write_bin_log to return int, and return 1 if there was error writing
binlog
     @ sql/sql_tablespace.cc
        check return value of writing binlog
     @ sql/sql_trigger.cc
        check return value of writing binlog
     @ sql/sql_udf.cc
        check return value of writing binlog
     @ sql/sql_update.cc
        check return value of writing binlog
     @ sql/sql_view.cc
        check return value of writing binlog
[19 Nov 2009 9:37] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/90923

3201 He Zhenxing	2009-11-19
      BUG#37148 Most callers of mysql_bin_log.write ignore the return result
      
      The return value of mysql_bin_log.write was ignored by most callers,
      which may lead to inconsistent on master and slave if the transaction
      was committed while the binlog was not correctly written. If
      my_error() is call in mysql_bin_log.write, this could also lead to
      assertion issue if my_ok() or my_error() is called after.
      
      This fixed the problem by let the caller to check and handle the
      return value of mysql_bin_log.write. This patch only adresses the
      simple cases.
     @ mysql-test/include/binlog_inject_error.inc
        inject binlog write error when doing a query
     @ mysql-test/suite/binlog/t/binlog_write_error.test
        Simple test case to check if proper error is reported when injecting binlog write
errors.
     @ sql/events.cc
        check return value of mysql_bin_log.write
     @ sql/ha_ndbcluster_binlog.cc
        Changed ndb_binlog_query to return int instead of void, and return 1 if there is
error writing the binlog
     @ sql/log.cc
        check return value of mysql_bin_log.write
     @ sql/log_event.cc
        check return value of mysql_bin_log.write
     @ sql/log_event_old.cc
        check return value of mysql_bin_log.write
     @ sql/mysql_priv.h
        Change write_bin_log to return int instead of void
     @ sql/rpl_injector.cc
        check return value of writing binlog
     @ sql/sp.cc
        check return value of writing binlog
     @ sql/sp_head.cc
        return 1 if writing binlog failed
     @ sql/sql_acl.cc
        check return value of writing binlog
     @ sql/sql_base.cc
        check return value of writing binlog
     @ sql/sql_class.h
        Change binlog_show_create_table to return int
     @ sql/sql_db.cc
        Change write_to_binlog to return int
        check return value of writing binlog
     @ sql/sql_delete.cc
        check return value of writing binlog
     @ sql/sql_insert.cc
        check return value of writing binlog
     @ sql/sql_load.cc
        check return value of writing binlog
     @ sql/sql_parse.cc
        check return value of writing binlog
     @ sql/sql_partition.cc
        check return value of writing binlog
     @ sql/sql_rename.cc
        check return value of writing binlog
     @ sql/sql_repl.cc
        check return value of writing binlog
     @ sql/sql_table.cc
        Change write_bin_log to return int, and return 1 if there was error writing
binlog
     @ sql/sql_tablespace.cc
        check return value of writing binlog
     @ sql/sql_trigger.cc
        check return value of writing binlog
     @ sql/sql_udf.cc
        check return value of writing binlog
     @ sql/sql_update.cc
        check return value of writing binlog
     @ sql/sql_view.cc
        check return value of writing binlog
[19 Nov 2009 10:12] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/90927

3201 He Zhenxing	2009-11-19
      BUG#37148 Most callers of mysql_bin_log.write ignore the return result
      
      This is the non-ndb part of the patch.
      
      The return value of mysql_bin_log.write was ignored by most callers,
      which may lead to inconsistent on master and slave if the transaction
      was committed while the binlog was not correctly written. If
      my_error() is call in mysql_bin_log.write, this could also lead to
      assertion issue if my_ok() or my_error() is called after.
      
      This fixed the problem by let the caller to check and handle the
      return value of mysql_bin_log.write. This patch only adresses the
      simple cases.
     @ mysql-test/include/binlog_inject_error.inc
        inject binlog write error when doing a query
     @ mysql-test/suite/binlog/t/binlog_write_error.test
        Simple test case to check if proper error is reported when injecting binlog write
errors.
     @ sql/events.cc
        check return value of mysql_bin_log.write
     @ sql/log.cc
        check return value of mysql_bin_log.write
     @ sql/log_event.cc
        check return value of mysql_bin_log.write
     @ sql/log_event_old.cc
        check return value of mysql_bin_log.write
     @ sql/mysql_priv.h
        Change write_bin_log to return int instead of void
     @ sql/rpl_injector.cc
        check return value of writing binlog
     @ sql/sp.cc
        check return value of writing binlog
     @ sql/sp_head.cc
        return 1 if writing binlog failed
     @ sql/sql_acl.cc
        check return value of writing binlog
     @ sql/sql_base.cc
        check return value of writing binlog
     @ sql/sql_class.h
        Change binlog_show_create_table to return int
     @ sql/sql_db.cc
        Change write_to_binlog to return int
        check return value of writing binlog
     @ sql/sql_delete.cc
        check return value of writing binlog
     @ sql/sql_insert.cc
        check return value of writing binlog
     @ sql/sql_load.cc
        check return value of writing binlog
     @ sql/sql_parse.cc
        check return value of writing binlog
     @ sql/sql_partition.cc
        check return value of writing binlog
     @ sql/sql_rename.cc
        check return value of writing binlog
     @ sql/sql_repl.cc
        check return value of writing binlog
     @ sql/sql_table.cc
        Change write_bin_log to return int, and return 1 if there was error writing
binlog
     @ sql/sql_tablespace.cc
        check return value of writing binlog
     @ sql/sql_trigger.cc
        check return value of writing binlog
     @ sql/sql_udf.cc
        check return value of writing binlog
     @ sql/sql_update.cc
        check return value of writing binlog
     @ sql/sql_view.cc
        check return value of writing binlog
[19 Nov 2009 10:13] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/90928

3038 He Zhenxing	2009-11-19
      BUG#37148 Most callers of mysql_bin_log.write ignore the return result
      
      This is the ndb part of the patch.
      
      The return value of mysql_bin_log.write was ignored by most callers,
      which may lead to inconsistent on master and slave if the transaction
      was committed while the binlog was not correctly written. If
      my_error() is call in mysql_bin_log.write, this could also lead to
      assertion issue if my_ok() or my_error() is called after.
      
      This fixed the problem by let the caller to check and handle the
      return value of mysql_bin_log.write. This patch only adresses the
      simple cases.
     @ sql/ha_ndbcluster_binlog.cc
        Changed ndb_binlog_query to return int instead of void, and return 1 if there is
error writing the binlog
[20 Nov 2009 5:20] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/91030

3209 He Zhenxing	2009-11-20
      BUG#37148 Most callers of mysql_bin_log.write ignore the return result
      
      This is the non-ndb part of the patch.
      
      The return value of mysql_bin_log.write was ignored by most callers,
      which may lead to inconsistent on master and slave if the transaction
      was committed while the binlog was not correctly written. If
      my_error() is call in mysql_bin_log.write, this could also lead to
      assertion issue if my_ok() or my_error() is called after.
      
      This fixed the problem by let the caller to check and handle the
      return value of mysql_bin_log.write. This patch only adresses the
      simple cases.
     @ mysql-test/include/binlog_inject_error.inc
        inject binlog write error when doing a query
     @ mysql-test/suite/binlog/t/binlog_write_error.test
        Simple test case to check if proper error is reported when injecting binlog write
errors.
     @ sql/events.cc
        check return value of mysql_bin_log.write
     @ sql/log.cc
        check return value of mysql_bin_log.write
     @ sql/log_event.cc
        check return value of mysql_bin_log.write
     @ sql/log_event_old.cc
        check return value of mysql_bin_log.write
     @ sql/mysql_priv.h
        Change write_bin_log to return int instead of void
     @ sql/rpl_injector.cc
        check return value of writing binlog
     @ sql/sp.cc
        check return value of writing binlog
     @ sql/sp_head.cc
        return 1 if writing binlog failed
     @ sql/sql_acl.cc
        check return value of writing binlog
     @ sql/sql_base.cc
        check return value of writing binlog
     @ sql/sql_class.h
        Change binlog_show_create_table to return int
     @ sql/sql_db.cc
        Change write_to_binlog to return int
        check return value of writing binlog
     @ sql/sql_delete.cc
        check return value of writing binlog
     @ sql/sql_insert.cc
        check return value of writing binlog
     @ sql/sql_load.cc
        check return value of writing binlog
     @ sql/sql_parse.cc
        check return value of writing binlog
     @ sql/sql_partition.cc
        check return value of writing binlog
     @ sql/sql_rename.cc
        check return value of writing binlog
     @ sql/sql_repl.cc
        check return value of writing binlog
     @ sql/sql_table.cc
        Change write_bin_log to return int, and return 1 if there was error writing
binlog
     @ sql/sql_tablespace.cc
        check return value of writing binlog
     @ sql/sql_trigger.cc
        check return value of writing binlog
     @ sql/sql_udf.cc
        check return value of writing binlog
     @ sql/sql_update.cc
        check return value of writing binlog
     @ sql/sql_view.cc
        check return value of writing binlog
[21 Nov 2009 5:27] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/91196

2956 He Zhenxing	2009-11-21
      BUG#37148 Most callers of mysql_bin_log.write ignore the return result
      
      This is the non-ndb part of the patch.
      
      The return value of mysql_bin_log.write was ignored by most callers,
      which may lead to inconsistent on master and slave if the transaction
      was committed while the binlog was not correctly written. If
      my_error() is call in mysql_bin_log.write, this could also lead to
      assertion issue if my_ok() or my_error() is called after.
      
      This fixed the problem by let the caller to check and handle the
      return value of mysql_bin_log.write. This patch only adresses the
      simple cases.
     @ mysql-test/include/binlog_inject_error.inc
        inject binlog write error when doing a query
     @ mysql-test/suite/binlog/t/binlog_write_error.test
        Simple test case to check if proper error is reported when injecting binlog write
errors.
     @ sql/events.cc
        check return value of mysql_bin_log.write
     @ sql/log.cc
        check return value of mysql_bin_log.write
     @ sql/log_event.cc
        check return value of mysql_bin_log.write
     @ sql/log_event_old.cc
        check return value of mysql_bin_log.write
     @ sql/mysql_priv.h
        Change write_bin_log to return int instead of void
     @ sql/rpl_injector.cc
        check return value of writing binlog
     @ sql/sp.cc
        check return value of writing binlog
     @ sql/sp_head.cc
        return 1 if writing binlog failed
     @ sql/sql_acl.cc
        check return value of writing binlog
     @ sql/sql_base.cc
        check return value of writing binlog
     @ sql/sql_class.h
        Change binlog_show_create_table to return int
     @ sql/sql_db.cc
        Change write_to_binlog to return int
        check return value of writing binlog
     @ sql/sql_delete.cc
        check return value of writing binlog
     @ sql/sql_insert.cc
        check return value of writing binlog
     @ sql/sql_load.cc
        check return value of writing binlog
     @ sql/sql_parse.cc
        check return value of writing binlog
     @ sql/sql_partition.cc
        check return value of writing binlog
     @ sql/sql_rename.cc
        check return value of writing binlog
     @ sql/sql_repl.cc
        check return value of writing binlog
     @ sql/sql_table.cc
        Change write_bin_log to return int, and return 1 if there was error writing
binlog
     @ sql/sql_tablespace.cc
        check return value of writing binlog
     @ sql/sql_trigger.cc
        check return value of writing binlog
     @ sql/sql_udf.cc
        check return value of writing binlog
     @ sql/sql_update.cc
        check return value of writing binlog
     @ sql/sql_view.cc
        check return value of writing binlog
[21 Nov 2009 12:49] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/91207

2958 He Zhenxing	2009-11-21
      Post fix for previous patch of bug#37148
     @ sql/sql_table.cc
        Add the missing return 0
[11 Dec 2009 7:02] Bugs System
Pushed into 6.0.14-alpha (revid:alik@sun.com-20091211055901-yp18b3c7xuhl87rf) (version
source revid:alik@sun.com-20091211055401-43rjwq7gjed6ds83) (merge vers: 6.0.14-alpha)
(pib:13)
[11 Dec 2009 7:04] Bugs System
Pushed into 5.6.0-beta (revid:alik@sun.com-20091211055628-ltr7fero363uev7r) (version
source revid:alik@sun.com-20091211055453-717czhtezc74u8db) (merge vers: 5.6.0-beta)
(pib:13)
[15 Dec 2009 10:50] Jonas Oreland
version for 6.2
http://lists.mysql.com/commits/90928
temp reassign to jonas so that I'll push it there.
/Jonas
[16 Dec 2009 9:16] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/94379

3038 Konstantin Osipov	2009-12-16 [merge]
      Merge next-mr -> next-4284. Null-merge
      the fix for Bug#37148, since it is null-merged into 6.0.
[16 Dec 2009 11:34] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/94444

3774 He Zhenxing	2009-12-16
      Fix merge problem with Bug#37148
[17 Dec 2009 10:03] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/94677

3777 He Zhenxing	2009-12-17
      Fix merge problem with Bug#37148
[21 Dec 2009 16:39] Bugs System
Pushed into 6.0.14-alpha (revid:alik@sun.com-20091221153807-80nxoli1tw1z9bxn) (version
source revid:martin.hansson@sun.com-20091217141112-rz4arnp21dehr12a) (merge vers:
6.0.14-alpha) (pib:15)
[5 Jan 9:20] Zhenxing He
change status to PQ as the non-ndb part has already been pushed.
[24 Jan 8:04] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/97983

3333 He Zhenxing	2010-01-24
      Backport Bug#37148 to 5.1
[4 Feb 11:20] Bugs System
Pushed into 5.1.44 (revid:joro@sun.com-20100204101444-2j32mhqroo0iiio6) (version source
revid:dao-gang.qu@sun.com-20100125025505-zqa9v2mgdcfza0v6) (merge vers: 5.1.43) (pib:16)
[4 Feb 15:26] Jon Stephens
Already documented in 5.1.37. Added changelog entries for 5.6.0 and 6.0.14; closed.
[4 Feb 20:59] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/99342

3076 Konstantin Osipov	2010-02-04
      Merge next-mr -> next-4284.
      Cherry-pick a fix Bug#37148 from next-mr, to preserve
      file ids of the added files, and ensure that all the necessary
      changes have been pulled.
      
      Since initially Bug#37148 was null-merged into 6.0,
      the changeset that is now being cherry-picked was likewise
      null merged into next-4284.
      
      Now that Bug#37148 has been reapplied to 6.0, try to make
      it work with next-4284. This is also necessary to be able
      to pull other changes from 5.1-rep into next-4284.
[4 Feb 21:16] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/99345

3076 Konstantin Osipov	2010-02-04
      Merge next-mr -> next-4284.
      Cherry-pick a fix Bug#37148 from next-mr, to preserve
      file ids of the added files, and ensure that all the necessary
      changes have been pulled.
      
      Since initially Bug#37148 was null-merged into 6.0,
      the changeset that is now being cherry-picked was likewise
      null merged into next-4284.
      
      Now that Bug#37148 has been reapplied to 6.0, try to make
      it work with next-4284. This is also necessary to be able
      to pull other changes from 5.1-rep into next-4284.
      
      To resolve the merge issues use this changeset applied
      to 6.0:
      revid:jperkin@sun.com-20091216103628-ylhqf7s6yegui2t9
      revno: 3776.1.1
      committer: He Zhenxing <zhenxing.he@sun.com>
      branch nick: 6.0-codebase-bugfixing
      timestamp: Thu 2009-12-17 17:02:50 +0800
      message:
        Fix merge problem with Bug#37148
[5 Feb 10:34] James Day
From the dev side, please say what new bug is opened for the remaining work or whether
it'll continue in this one.

James Day, MySQL Senior Support Engineer, Sun Microsystems/Oracle
[5 Feb 12:50] Bugs System
Pushed into mysql-next-mr (revid:alik@sun.com-20100204063540-9czpdmpixi3iw2yb) (version
source revid:alik@sun.com-20100130211229-l8odades6zijkhqw) (pib:16)
[5 Feb 12:56] Bugs System
Pushed into 6.0.14-alpha (revid:alik@sun.com-20100205113942-oqovjy0eoqbarn7i) (version
source revid:alik@sun.com-20100204064210-ljwanqvrjs83s1gq) (merge vers: 6.0.14-alpha)
(pib:16)
[5 Feb 13:01] Bugs System
Pushed into 5.5.2-m2 (revid:alik@sun.com-20100203172258-1n5dsotny40yufxw) (version source
revid:alik@sun.com-20100130184711-i3xg3xhbymzdqc3f) (merge vers: 5.5.2-m2) (pib:16)
[5 Feb 14:31] Jon Stephens
Fix also noted in the 5.5.2 changelog. Closed.
[7 Feb 23:59] Mark Callaghan
Why was this closed when some callers still ignore the return value? Has a new bug been
opened for the non-simple cases?
[8 Feb 10:28] James Day
Mark, just standard Documentation team practice because normally they are the last people
to act on a bug report. I'm keeping an eye on this one and making sure it doesn't
actually stay closed without a bug being open for the rest of the cases.

James Day, MySQL Senior Support Engineer, Sun Microsystems/Oracle