Bug #30604 | different flagging of time_zone_used in normal and ps-protocol | ||
---|---|---|---|
Submitted: | 23 Aug 2007 18:02 | Modified: | 15 Apr 2008 23:09 |
Reporter: | Andrei Elkin | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: General | Severity: | S3 (Non-critical) |
Version: | 5.0 BK | OS: | Any |
Assigned to: | Georgi Kodinov | CPU Architecture: | Any |
[23 Aug 2007 18:02]
Andrei Elkin
[23 Aug 2007 19:06]
Andrei Elkin
To prove that there is the difference do the following 1. to insert "show master status" in between of two queries: insert into t2 values (2,2),(10+bug23333(),1)| +show master status| drop table t1, t2| 2. record the result file 3. execute with mysql-test-run.pl --ps-protocol 4. to find the diff like this one: *** r/a_bug.result Thu Aug 23 22:01:51 2007 --- r/a_bug.reject Thu Aug 23 22:01:59 2007 *************** *** 11,16 **** insert into t2 values (2,2),(10+bug23333(),1)| show master status| File Position Binlog_Do_DB Binlog_Ignore_DB ! master-bin.000001 6885 drop table t1, t2| drop function bug23333| --- 11,16 ---- insert into t2 values (2,2),(10+bug23333(),1)| show master status| File Position Binlog_Do_DB Binlog_Ignore_DB ! master-bin.000001 7702 drop table t1, t2| drop function bug23333|
[23 Aug 2007 19:14]
Andrei Elkin
The last report files were recorded with "dirty" server. Please take the modified version of the test -- source include/have_innodb.inc -- source include/have_log_bin.inc delimiter |; CREATE TABLE t1 (a int NOT NULL auto_increment primary key) ENGINE=MyISAM| CREATE TABLE t2 (a int NOT NULL auto_increment, b int, PRIMARY KEY (a)) ENGINE=InnoDB| create function bug23333() RETURNS int(11) DETERMINISTIC begin insert into t1 values (null); select count(*) from t1 into @a; return @a; end| reset master| insert into t2 values (2,2),(10+bug23333(),1)| show master status| drop table t1, t2| drop function bug23333| 1. to record the results in normal protocol 2. to execute witn --ps-protocol 3. to see the diff: *** r/a_bug.result Thu Aug 23 22:08:06 2007 --- r/a_bug.reject Thu Aug 23 22:08:10 2007 *************** *** 12,17 **** insert into t2 values (2,2),(10+bug23333(),1)| show master status| File Position Binlog_Do_DB Binlog_Ignore_DB ! master-bin.000001 241 drop table t1, t2| drop function bug23333| --- 12,17 ---- insert into t2 values (2,2),(10+bug23333(),1)| show master status| File Position Binlog_Do_DB Binlog_Ignore_DB ! master-bin.000001 233 drop table t1, t2| drop function bug23333| ------------------------------------------------------- There are 8 bytes extra in the normal protocol version.
[24 Aug 2007 7:51]
Sveta Smirnova
Thank you for the report. Verified as described using version 5.0. With other version bug is not repeatable.
[19 Feb 2008 15: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/42559 ChangeSet@1.2584, 2008-02-19 17:27:18+02:00, gkodinov@magare.gmz +4 -0 Bug #30604: different flagging of time_zone_used in normal and ps-protocol Finding a routine should be a transparent operation as far as the binary log is concerned. But it was influencing the binary log because of the TIMESTAMP column in the proc table. Fixed by preserving and restoring the time_zone usage flag when searching for a stored routine in the proc table.
[13 Mar 2008 19:27]
Bugs System
Pushed into 6.0.5-alpha
[13 Mar 2008 19:35]
Bugs System
Pushed into 5.1.24-rc
[13 Mar 2008 19:42]
Bugs System
Pushed into 5.0.60
[15 Apr 2008 23:09]
Paul DuBois
Noted in 5.0.60, 5.1.24, 6.0.5 changelogs. Binary logging for a stored procedure differed depending on whether or not execution occurred in a prepared statement.