Bug #104 INSERT DELAYED does not care about SQL_LOG_BIN=0
Submitted: 26 Feb 2003 13:33 Modified: 6 Mar 2003 14:03
Reporter: Guilhem Bichot Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server Severity:S3 (Non-critical)
Version:4.0 OS:Any (all)
Assigned to: CPU Architecture:Any

[26 Feb 2003 13:33] Guilhem Bichot
Description:
Doing SQL_LOG_BIN=0 does not prevent an INSERT DELAYED of going into the binlog.

How to repeat:
USE test;
RESET MASTER;
SET SQL_LOG_BIN=0; #this should disable binlogging
INSERT DELAYED INTO t VALUES(1);
SELECT * FROM t;
SHOW BINLOG EVENTS;
#and you can see the INSERT in the binlog

Suggested fix:
This is an understandable bug as the thread which writes the INSERT to the binlog is not the thread which issued INSERT DELAYED it and which had SQL_LOG_BIN=0.
Probably any INSERT DELAYED should be queued together with a boolean 'should_be_logged', this way the delayed_insert thread would know.
[6 Mar 2003 14:03] Guilhem Bichot
Thank you for your bug report. This issue has been fixed in the latest
development tree for that product. You can find more information about
accessing our development trees at 
    http://www.mysql.com/doc/en/Installing_source_tree.html