List:Internals« Previous MessageNext Message »
From:sca Date:March 11 2010 10:02am
Subject:Patch to make MyISAM tables compatible with tables from MySQL 6.0 and
View as plain text  
X-Mailer: VM 8.0.12-devo-585 under 21.5  (beta29) "garbanzo" XEmacs Lucid
(x86_64-suse-linux)
Reply-To: monty@stripped
FCC: ~/Mail/outbox
--text follows this line--

Hi!

The following patch makes it possible for MySQL 5.1 and 5.5 to use
MyISAM tables from MySQL 6.0 or MariaDB 5.1

Without the patch, you get the following error when trying to use a
MyISAM file that contains NULL columns:

Old key file for table 'xxxx'; repair it!

I recommend you put this into 5.1 as:
- It's 100 % safe
- Allows users to use MyISAM tables created with other MySQL/MariaDB
  versions to be used in MySQL 5.1

(The same code exists in the MySQL 6.0 tree):

=== modified file 'storage/myisam/mi_open.c'
--- storage/myisam/mi_open.c	2009-10-27 13:20:34 +0000
+++ storage/myisam/mi_open.c	2010-03-11 09:18:31 +0000
@@ -150,7 +150,7 @@ MI_INFO *mi_open(const char *name, int m
 	  HA_OPTION_COMPRESS_RECORD | HA_OPTION_READ_ONLY_DATA |
 	  HA_OPTION_TEMP_COMPRESS_RECORD | HA_OPTION_CHECKSUM |
           HA_OPTION_TMP_TABLE | HA_OPTION_DELAY_KEY_WRITE |
-          HA_OPTION_RELIES_ON_SQL_LAYER))
+          HA_OPTION_RELIES_ON_SQL_LAYER | HA_OPTION_NULL_FIELDS))
     {
       DBUG_PRINT("error",("wrong options: 0x%lx", share->options));
       my_errno=HA_ERR_OLD_FILE;

This is also reported as

Bug #51948 MySQL5.1/5.5 can't open MyISAM tables created with MySQL 6.0 or MariaDB 5.1

Regards,
Monty

Thread
Patch to make MyISAM tables compatible with tables from MySQL 6.0 andsca11 Mar