Bug #16621 INSERTs in Stored Procedures causes data corruption in the Binary Log for 5.0.18
| Submitted: | 18 Jan 2006 23:13 | Modified: | 31 May 2006 16:47 |
|---|---|---|---|
| Reporter: | Chris Calender | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Stored Routines | Severity: | S1 (Critical) |
| Version: | 5.0.21 | OS: | Linux (Linux and Windows) |
| Assigned to: | Alexander Nozdrin | CPU Architecture: | Any |
[18 Jan 2006 23:41]
Chris Calender
I corrected the title from "... Binary ..." to "... Binary Log ...".
[19 Jan 2006 11:28]
Alexander Nozdrin
This bug is related with BUG#15588 (String overrun during sp-vars.test). The fix for BUG#15588 fixes also this bug.
[19 Jan 2006 13:59]
Alexander Nozdrin
BUG#16378 (Stored procedure puts garbage in the binary log) was marked as a duplicate of this bug.
[20 Jan 2006 15:00]
Alexander Nozdrin
Patch for BUG#15588 and test case for this bug have been pushed into 5.0-tree, currently tagged 5.0.18.
[20 Jan 2006 17:19]
Alexander Nozdrin
A mistake in the previous post: currently tagged 5.0.19.
[2 Feb 2006 4:38]
Mike Hillyer
When will this be pushed into 5.1? We really should have it pushed so we can create a changelog entry for both versions.
[2 Feb 2006 22:50]
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/2104
[3 Feb 2006 9:14]
Alexander Nozdrin
The patch has been copied into 5.1-release so that it get into 5.1.6. The patch is still not merged into the main 5.1 tree. It will get there after resolving 5.0 -> 5.1 merge logjam.
[6 Feb 2006 13:59]
Alexander Nozdrin
Merged into 5.1 tree.
[6 Feb 2006 23:50]
Mike Hillyer
Documented 5.1.6, 5.0.19:
<listitem>
<para>
An <literal>INSERT</literal> statement in a stored procedure
corrupted the binary log. (Bug #16621)
</para>
</listitem>
[24 Mar 2006 19:26]
Kayra Otaner
Well,
I've installed 5.0.19 couple of days ago and I believe this problem is still there. But this time it fails because of ' (single quote).
Stored procedure needs to insert a string similar to "O'taner". Single quote character brokes replication while same SP works fine on the master. Please see below. (I've changed table name and var names with ZZZ) :
Last_Errno: 1064
Last_Error: Error 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TANER Z') )
)
;' at line 11' on query. Default database: 'global'. Query: 'INSERT INTO ZZZ
(
ZZ
, ZZ
, ZZ
)
VALUES
(
NAME_CONST('ZZ',15277186)
, NAME_CONST('ZZ',5)
, LTRIM( NAME_CONST('ZZ',_latin1'O'TANER, Z') )
)
;'
[3 Apr 2006 15:45]
Alexander Nozdrin
Kayra, you hit related, but another issue -- it was reported as BUG##18293: Values in stored procedure written to binlog unescaped.
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.047 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.
Description: When you do an insert from a stored procedure, it instantly corrupts the data in the binary log. How to repeat: CREATE TABLE t1 ( a VARCHAR(10) ); CREATE PROCEDURE p1 ( a VARCHAR(10) ) INSERT INTO t1 (a) VALUES (a); CALL p1('test'); Then Examine the binary log - you'll see the corruption. Suggested fix: Not sure.