Bug #18701 backup inserts spurious odd/control character into column name
Submitted: 31 Mar 2006 23:21 Modified: 13 Oct 2006 8:01
Reporter: Jim Michaels Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Administrator Severity:S3 (Non-critical)
Version:1.1.7 OS:Windows (Windows XP Pro MP)
Assigned to: Mike Lischke CPU Architecture:Any
Tags: Backup

[31 Mar 2006 23:21] Jim Michaels
Description:
the link provided below was generated by Administrator Backup. some of the column names have spurious odd characters inserted in them, such as msg_id (just search for the word msg).
I suppose backup isn't going to be consistent about this. the database shows no sign of having these characters after the restore.
it doesn't show in the query browser, so it's likely not in the DB.  I am pretty sure I created this table with mysql.exe. and this looks like a familiar control character. Control character was not in the original SQL file.

I didn't check to see if it inserted any more junk.

How to repeat:
Install Server 5.0.19 GA community edition 5.0.19, Windows essentials x86. using defaults.
restore this database with Administrator (nothing else works): http://mmediap3.home.comcast.net/z/sql.zip
backup all the dabases except for the system ones.
examine with notepad for inconsistencies.

Suggested fix:
double-check the generation code for pointer or memory allocation problems?
[1 Apr 2006 14:47] MySQL Verification Team
Thank you for the bug report.

mysql> USE `geoff-blog`;
Database changed
mysql> show create table messages\G
*************************** 1. row ***************************
       Table: messages
Create Table: CREATE TABLE `messages` (
  `msg▼_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `msg` longtext NOT NULL,
  `subject` varchar(100) NOT NULL DEFAULT '',
  PRIMARY KEY (`msg▼_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='blog messages'
1 row in set (0.03 sec)

mysql>
[28 Jul 2006 9:19] Mike Lischke
The dump you gave here already contains the strange characters, so it is difficult to check the behavior with that. Other dumps are created fine. So I'd need the original definition of the table (e.g. `messages`) to check against. Can you provide that? What does "show create table messages" show for the original table (not the one restored from backup)?
[29 Jul 2006 0:39] Jim Michaels
http://mmediap3.home.comcast.net/z/geoffblog.sql
should contain approximately the original uncorrupted source sql.
I think the code's been upgraded, but that table has stayed the same.
sorry it's not exact.  May not get the same results.
[12 Sep 2006 9:34] Mike Lischke
Well, I still cannot reproduce this problem. Please try the latest MA version to see if that works better now. The backup and restore code has been reworked to a large extend. I'm sure this problem does no longer exist.
[12 Oct 2006 23:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
[13 Oct 2006 7:07] Jim Michaels
I've not only changed db engines to a later version, but also the tools to 1.24rc and the problem seems to be solved. so I guess you can close this? 
that may have been an intermittent problem only with that version of MA or combination of MA+DBengine.

I only saw the problem once and was never able to reproduce it.

there is a possibility it was caused by lack of memory (so why only 1 garbage char? edge problem?):  I often run my system reasonably loaded down with apps (21 or so).  
If that's the case, that may be why it was unrepeatable.  worst case scenario of memory problems is when pieces of dialog boxes start disappearing or other things not showing up on command.  seem to run out of those (GDI) before VM even kicks in.
[13 Oct 2006 8:01] Mike Lischke
Jim, thanks for the feedback. Yes, it might indeed have been a corner case. However, I'm glad it is solved now. Don't hesitate to report other bugs if you see them. Preferably those we can reproduce ;-)