Bug #15580 Some binlog functionality is missing in the embedded library
Submitted: 8 Dec 2005 9:57 Modified: 3 Oct 2008 15:09
Reporter: Guilhem Bichot Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: Replication Severity:S3 (Non-critical)
Version:5.0 OS:Linux (linux)
Assigned to: Assigned Account CPU Architecture:Any

[8 Dec 2005 9:57] Guilhem Bichot
Description:
Looking at code, we see some binlog functionality (e.g. expire-log-days) is ifdef'd depending on the HAVE_REPLICATION symbol. This is not normal.
HAVE_REPLICATION is meant for "this server is capable of being part of a replication setup: sending binlogs to a slave or receiving binlogs from a master". But binlogging is not only used in replication but also in archive recovery (rollforward), which should be possible in the embedded library.
The binlog (--log-bin) is available in the embedded library, but some parts of it like expire-log-days are missing.
This is only one example. One must scan all HAVE_REPLICATION occurences in sql/, and decide for each of them if the #ifdef should be there. The #ifdef should be there only for code which sends binlogs to a slave or code which receives binlog from a master or executes binlog events.

How to repeat:
look at the code.
[16 Sep 2008 10:09] 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/54192

2687 Andrei Elkin	2008-09-16
      Bug #28786 binlog_killed.test fails: 'reset master' does not reset binlogging
      
      The test failed originally -- did not reset binlogging - for the reason
      identified by bug#15580.
      However it can not run on the embedded platfrom for yet another cause -
      the embedded can not KILL query.
      
      Fixed with adding comments to the test particularly addressing `reset master'
      to the mentioned bug.
[3 Oct 2008 15:09] Andrei Elkin
Status changed incorrectly because of bzr post-commit filter: this bug was referred as auxiliary but it happened to be read as a co-target.