| Bug #41980 | SBL, INSERT .. SELECT .. LIMIT = ERROR, even when @@SQL_LOG_BIN is 0 ! | ||
|---|---|---|---|
| Submitted: | 8 Jan 2009 20:10 | Modified: | 18 Mar 2009 15:22 | 
| Reporter: | Serdar S. Kacar | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Replication | Severity: | S2 (Serious) | 
| Version: | 5.1.30, 5.1, 6.0 bzr | OS: | Any | 
| Assigned to: | Guangbao Ni | CPU Architecture: | Any | 
| Tags: | INSERT .. SELECT, limit, SBL, sbr | ||
   [8 Jan 2009 20:10]
   Serdar S. Kacar        
  
 
   [11 Jan 2009 14:23]
   Sveta Smirnova        
  Thank you for the report. Regarding to error most likely you have SQL_MODE set to STRICT_ALL_TABLES or STRICT_TRANS_TABLES which convert warnings to errors. So this is correct and not a bug. Regarding to warning/error in case of @@SQL_LOG_BIN = 0; bug is verified as described. Workaround: change session SQL_MODE to less strict and ignore warning or use session binary log format row.
   [12 Jan 2009 10:59]
   Serdar S. Kacar        
  SQL_MODE was STRICT_TRANS_TABLES. In Bug #41809, I can understand the case as the tables were InnoDB. But this bug (Bug #41980) is repeatable even when the test tables are all MyISAM. So, who is converting the warning to the error?
   [11 Feb 2009 11:24]
   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/65881 2793 Guangbao Ni 2009-02-11 BUG#41980 SBL, INSERT .. SELECT .. LIMIT = ERROR, even when @@SQL_LOG_BIN is 0 !
   [18 Feb 2009 4: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/66714 2805 Guangbao Ni 2009-02-18 BUG#41980 SBL, INSERT .. SELECT .. LIMIT = ERROR, even when @@SQL_LOG_BIN is 0 ! Don't judge whether the binary logging function is turned on, directly issue the unsafe warning/error message when sql_mode=statement. Fixed with adding a condition which judge if the logging function is turned on.
   [18 Feb 2009 10:36]
   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/66749 2805 Guangbao Ni 2009-02-18 BUG#41980 SBL, INSERT .. SELECT .. LIMIT = ERROR, even when @@SQL_LOG_BIN is 0 ! When binlog_format is STATEMENT and the statement is unsafe before, the unsafe warning/error message was issued without checking whether the SQL_LOG_BIN was turned on or not. Fixed with adding a condition to check if SQL_LOG_BIN is turned on.
   [26 Feb 2009 3: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/67623 2805 Guangbao Ni 2009-02-26 BUG#41980 SBL, INSERT .. SELECT .. LIMIT = ERROR, even when @@SQL_LOG_BIN is 0 ! When binlog_format is STATEMENT and the statement is unsafe before, the unsafe warning/error message was issued without checking whether the SQL_LOG_BIN was turned on or not. Fixed with adding two conditions: 1) to check if SQL_LOG_BIN is turned on, OR 2) the toplevel SQL_LOG_BIN is on and in sub statement (for the sp disabled the binary logging automatically) So add a enabled_bin_log flag in THD to indicate whether the toplevel SQL_LOG_BIN is on or not when in sp.
   [26 Feb 2009 6: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/67636 2805 Guangbao Ni 2009-02-26 BUG#41980 SBL, INSERT .. SELECT .. LIMIT = ERROR, even when @@SQL_LOG_BIN is 0 ! When binlog_format is STATEMENT and the statement is unsafe before, the unsafe warning/error message was issued without checking whether the SQL_LOG_BIN was turned on or not. Fixed with adding two conditions: 1) to check if SQL_LOG_BIN is turned on, OR 2) in sub statement and the top level SQL_LOG_BIN is on(for the sp disabled the binary logging automatically) So add a enabled_bin_log flag in THD to indicate whether the top level SQL_LOG_BIN is on or not when in sp.
   [1 Mar 2009 5: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/67935 2827 Guangbao Ni 2009-02-26 BUG#41980 SBL, INSERT .. SELECT .. LIMIT = ERROR, even when @@SQL_LOG_BIN is 0 ! When binlog_format is STATEMENT and the statement is unsafe before, the unsafe warning/error message was issued without checking whether the SQL_LOG_BIN was turned on or not. Fixed with adding a sql_log_bin_toplevel flag in THD to check whether SQL_LOG_BIN is ON in current session whatever the current is in sp or not.
   [3 Mar 2009 2:43]
   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/68067 2827 Guangbao Ni 2009-02-28 BUG#41980 SBL, INSERT .. SELECT .. LIMIT = ERROR, even when @@SQL_LOG_BIN is 0 ! When binlog_format is STATEMENT and the statement is unsafe before, the unsafe warning/error message was issued without checking whether the SQL_LOG_BIN was turned on or not. Fixed with adding a sql_log_bin_toplevel flag in THD to check whether SQL_LOG_BIN is ON in current session whatever the current is in sp or not.
   [3 Mar 2009 2:43]
   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/68068 2827 Guangbao Ni 2009-02-26 BUG#41980 SBL, INSERT .. SELECT .. LIMIT = ERROR, even when @@SQL_LOG_BIN is 0 ! When binlog_format is STATEMENT and the statement is unsafe before, the unsafe warning/error message was issued without checking whether the SQL_LOG_BIN was turned on or not. Fixed with adding a sql_log_bin_toplevel flag in THD to check whether SQL_LOG_BIN is ON in current session whatever the current is in sp or not.
   [3 Mar 2009 10:36]
   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/68102 2827 Guangbao Ni 2009-03-03 BUG#41980 SBL, INSERT .. SELECT .. LIMIT = ERROR, even when @@SQL_LOG_BIN is 0 ! When binlog_format is STATEMENT and the statement is unsafe before, the unsafe warning/error message was issued without checking whether the SQL_LOG_BIN was turned on or not. Fixed with adding a sql_log_bin_toplevel flag in THD to check whether SQL_LOG_BIN is ON in current session whatever the current is in sp or not.
   [5 Mar 2009 10: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/68347 2832 Guangbao Ni 2009-03-05 BUG#41980 SBL, INSERT .. SELECT .. LIMIT = ERROR, even when @@SQL_LOG_BIN is 0 ! When binlog_format is STATEMENT and the statement is unsafe before, the unsafe warning/error message was issued without checking whether the SQL_LOG_BIN was turned on or not. Fixed with adding a sql_log_bin_toplevel flag in THD to check whether SQL_LOG_BIN is ON in current session whatever the current is in sp or not.
   [5 Mar 2009 11:00]
   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/68350 3105 Guangbao Ni 2009-03-05 [merge] Merge bug#41980 from 5.1-bugteam
   [6 Mar 2009 3:24]
   Guangbao Ni        
  merged into mysql-5.1-bugteam and mysql-6.0-bugteam
   [13 Mar 2009 19:05]
   Bugs System        
  Pushed into 5.1.33 (revid:joro@sun.com-20090313111355-7bsi1hgkvrg8pdds) (version source revid:zhou.li@sun.com-20090311061050-ihp0g77znonq1tuq) (merge vers: 5.1.33) (pib:6)
   [16 Mar 2009 13:30]
   Jon Stephens        
  Documented bugfix in the 5.1.33 changelog as follows:
        When --binlog_format was set to STATEMENT, a statement unsafe
        for statement-based logging caused an error or warning to be
        issued even if sql_log_bin was set to 0.
Set status to NDI pending merge to 6.0 tree.
 
   [18 Mar 2009 13:20]
   Bugs System        
  Pushed into 6.0.11-alpha (revid:joro@sun.com-20090318122208-1b5kvg6zeb4hxwp9) (version source revid:matthias.leich@sun.com-20090310140952-gwtoq87wykhji3zi) (merge vers: 6.0.11-alpha) (pib:6)
   [18 Mar 2009 15:22]
   Jon Stephens        
  Bugfix also noted in the 6.0.11 changelog; closed.
   [9 May 2009 16:43]
   Bugs System        
  Pushed into 5.1.34-ndb-6.2.18 (revid:jonas@mysql.com-20090508185236-p9b3as7qyauybefl) (version source revid:jonas@mysql.com-20090508100057-30ote4xggi4nq14v) (merge vers: 5.1.33-ndb-6.2.18) (pib:6)
   [9 May 2009 17:40]
   Bugs System        
  Pushed into 5.1.34-ndb-6.3.25 (revid:jonas@mysql.com-20090509063138-1u3q3v09wnn2txyt) (version source revid:jonas@mysql.com-20090508175813-s6yele2z3oh6o99z) (merge vers: 5.1.33-ndb-6.3.25) (pib:6)
   [9 May 2009 18:38]
   Bugs System        
  Pushed into 5.1.34-ndb-7.0.6 (revid:jonas@mysql.com-20090509154927-im9a7g846c6u1hzc) (version source revid:jonas@mysql.com-20090509073226-09bljakh9eppogec) (merge vers: 5.1.33-ndb-7.0.6) (pib:6)

