Bug #13897 | mysqlbinlog outputs wrong 'SET @@session.sql_mode' statement | ||
---|---|---|---|
Submitted: | 10 Oct 2005 13:00 | Modified: | 21 Feb 2006 2:42 |
Reporter: | Laurenz Albe | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Replication | Severity: | S2 (Serious) |
Version: | 5.0.13-rc/5.0 BK source | OS: | Linux (RHEL 3 (Linux x86)) |
Assigned to: | Guilhem Bichot | CPU Architecture: | Any |
[10 Oct 2005 13:00]
Laurenz Albe
[10 Oct 2005 19:02]
Sergei Golubchik
on the opposite, I believe SET @@session.sql_mode=2097152; should work sql_mode is a enum, assigning a number to enum was always ok. probably it was broken just recently
[14 Dec 2005 21:34]
Harrison Fisk
This bug is quite bad, it pretty much affects all of our windows users as the sql_mode includes strict_trans_tables by default, which means it will affect everyone by default! There technically is a work around, but making everyone have to edit binary log output by default is really really bad, both on DBA time and on showing how MySQL works out of the box (or doesn't in this case).
[21 Dec 2005 6:58]
Greg Lehey
It appears that this bug is disrupting training classes, which must be doubly bad. I've upgraded te priority from P2 to P1.
[24 Jan 2006 14:00]
Guilhem Bichot
taking it (Elliot's ok).
[25 Jan 2006 18:54]
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/1615
[18 Feb 2006 16:33]
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/2852
[18 Feb 2006 16:36]
Guilhem Bichot
ChangeSet 1.2063 06/02/18 17:32:15 guilhem@mysql.com +3 -0 Fix for BUG#13897 "failure to do SET SQL_MODE=N where N is a number > 31" (the original bug's title isn't the simplest symptom). sys_var::check_set() was wrong. mysqlbinlog makes use of such SET SQL_MODE=N (where N is interpreted like if SQL_MODE was a field of type SET), so this bug affected recovery from binlogs if the server was running with certain SQL_MODE values, for example the default values on Windows (STRICT_TRANS_TABLES); to work around this bug people had to edit mysqlbinlog's output.
[18 Feb 2006 20:34]
Guilhem Bichot
the fix is in 5.0.19 and 5.1.8
[21 Feb 2006 2:42]
Paul DuBois
Noted in 5.0.19, 5.1.7 changelogs. <literal>SET sql_mode = <replaceable>N</replaceable></literal>, where <replaceable>N</replaceable> > 31, did not work properly. (Bug #13897)