Newer Versions of MySQL cannot RESTORE tables BACKUP"ed with older ones

Newer Versions of MySQL cannot RESTORE tables BACKUP"ed with older ones

am 24.06.2003 14:49:55 von kulakov

Good day.

We upgraded MySQL from 3.23.38 and 3.23.51 to 3.23.56 on the two of our
servers. Then I tried to RESTORE a table that I had BACKUP'ed with the older
version and got the following errors:

repair info Duplicate key 2 for record at 114416 against new record at
114260
restore status Operation failed

I had the problem before and I guess I know the reason. The backed up table
"Pages" stores requests and referrers from webserver's access_log's and
there is some garbage in it. That is the names of the pages may contain
nonprintable characters. But the table has a unique index, and the garbage
characters look unique for one version (the old) and they look duplicates
for the other (the new). I guess the reason of the change is that some
codes in the files that describe character sets have changed.

Of course, it was out task to prevent the garbage from getting into the
table but the situation when you just can't restore a table that worked well
with an older version is quite surprising as well. My suggestion is that the
command RESTORE would get an option saying that it should somehow ignore
duplicates or even ignore some or all indices (indexes) of the restored
table, just to let the table data be restored - after it gets resoted in
anyway, duplicates can be removed and indices can be added. Currently, it's
a deadend.

How-To-Repeat:

1. Download http://www.rlsnet.ru/Pages.zip (227.8K) which contains the
backed up table Pages
2. Unpack Pages.zip to any directory
3. Execute "Restore Table Pages From 'The-Directory' "
with a newer version of MySQL 3.23.branch (~3.23.5X)




--
MySQL Bugs Mailing List
For list archives: http://lists.mysql.com/bugs
To unsubscribe: http://lists.mysql.com/bugs?unsub=gcdmb-bugs@m.gmane.org