[Commits] Rev 3818: MDEV-4819 Upgrade from MySQL 5.6 does not work in lp:~maria-captains/maria/10.0

Alexander Barkov bar at mariadb.org
Wed Aug 7 10:00:45 EEST 2013


At lp:~maria-captains/maria/10.0

------------------------------------------------------------
revno: 3818
revision-id: bar at mariadb.org-20130807065745-l2qzrxaiduh22lb4
parent: svoj at mariadb.org-20130806100207-8zkrkp2ygdazry5p
committer: Alexander Barkov <bar at mariadb.org>
branch nick: maria-10.0-serg2
timestamp: Wed 2013-08-07 10:57:45 +0400
message:
  MDEV-4819 Upgrade from MySQL 5.6 does not work
=== added file 'mysql-test/r/mysql5613mysql.result'
--- a/mysql-test/r/mysql5613mysql.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/r/mysql5613mysql.result	2013-08-07 06:57:45 +0000
@@ -0,0 +1,302 @@
+#
+# MDEV-4819 Upgrade from MySQL 5.6 does not work
+# Testing that we can open system tables created in MySQL-5.6 (5.6.13)
+#
+SHOW CREATE TABLE columns_priv;
+Table	Create Table
+columns_priv	CREATE TABLE `columns_priv` (
+  `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
+  `Db` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
+  `User` char(16) COLLATE utf8_bin NOT NULL DEFAULT '',
+  `Table_name` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
+  `Column_name` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
+  `Timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  `Column_priv` set('Select','Insert','Update','References') CHARACTER SET utf8 NOT NULL DEFAULT '',
+  PRIMARY KEY (`Host`,`Db`,`User`,`Table_name`,`Column_name`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Column privileges'
+SELECT * FROM columns_priv LIMIT 0;
+Host	Db	User	Table_name	Column_name	Timestamp	Column_priv
+DROP TABLE columns_priv;
+SHOW CREATE TABLE db;
+Table	Create Table
+db	CREATE TABLE `db` (
+  `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
+  `Db` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
+  `User` char(16) COLLATE utf8_bin NOT NULL DEFAULT '',
+  `Select_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Insert_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Update_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Delete_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Create_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Drop_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Grant_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `References_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Index_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Alter_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Create_tmp_table_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Lock_tables_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Create_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Show_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Create_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Alter_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Execute_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Event_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Trigger_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  PRIMARY KEY (`Host`,`Db`,`User`),
+  KEY `User` (`User`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Database privileges'
+SELECT * FROM db LIMIT 0;
+Host	Db	User	Select_priv	Insert_priv	Update_priv	Delete_priv	Create_priv	Drop_priv	Grant_priv	References_priv	Index_priv	Alter_priv	Create_tmp_table_priv	Lock_tables_priv	Create_view_priv	Show_view_priv	Create_routine_priv	Alter_routine_priv	Execute_priv	Event_priv	Trigger_priv
+DROP TABLE db;
+SHOW CREATE TABLE event;
+Table	Create Table
+event	CREATE TABLE `event` (
+  `db` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
+  `name` char(64) NOT NULL DEFAULT '',
+  `body` longblob NOT NULL,
+  `definer` char(77) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
+  `execute_at` datetime DEFAULT NULL,
+  `interval_value` int(11) DEFAULT NULL,
+  `interval_field` enum('YEAR','QUARTER','MONTH','DAY','HOUR','MINUTE','WEEK','SECOND','MICROSECOND','YEAR_MONTH','DAY_HOUR','DAY_MINUTE','DAY_SECOND','HOUR_MINUTE','HOUR_SECOND','MINUTE_SECOND','DAY_MICROSECOND','HOUR_MICROSECOND','MINUTE_MICROSECOND','SECOND_MICROSECOND') DEFAULT NULL,
+  `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  `modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
+  `last_executed` datetime DEFAULT NULL,
+  `starts` datetime DEFAULT NULL,
+  `ends` datetime DEFAULT NULL,
+  `status` enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') NOT NULL DEFAULT 'ENABLED',
+  `on_completion` enum('DROP','PRESERVE') NOT NULL DEFAULT 'DROP',
+  `sql_mode` set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH') NOT NULL DEFAULT '',
+  `comment` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
+  `originator` int(10) unsigned NOT NULL,
+  `time_zone` char(64) CHARACTER SET latin1 NOT NULL DEFAULT 'SYSTEM',
+  `character_set_client` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+  `collation_connection` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+  `db_collation` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+  `body_utf8` longblob,
+  PRIMARY KEY (`db`,`name`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Events'
+SELECT * FROM event LIMIT 0;
+db	name	body	definer	execute_at	interval_value	interval_field	created	modified	last_executed	starts	ends	status	on_completion	sql_mode	comment	originator	time_zone	character_set_client	collation_connection	db_collation	body_utf8
+DROP TABLE event;
+SHOW CREATE TABLE func;
+Table	Create Table
+func	CREATE TABLE `func` (
+  `name` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
+  `ret` tinyint(1) NOT NULL DEFAULT '0',
+  `dl` char(128) COLLATE utf8_bin NOT NULL DEFAULT '',
+  `type` enum('function','aggregate') CHARACTER SET utf8 NOT NULL,
+  PRIMARY KEY (`name`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='User defined functions'
+SELECT * FROM func LIMIT 0;
+name	ret	dl	type
+DROP TABLE func;
+SHOW CREATE TABLE plugin;
+Table	Create Table
+plugin	CREATE TABLE `plugin` (
+  `name` varchar(64) NOT NULL DEFAULT '',
+  `dl` varchar(128) NOT NULL DEFAULT '',
+  PRIMARY KEY (`name`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='MySQL plugins'
+SELECT * FROM plugin LIMIT 0;
+name	dl
+DROP TABLE plugin;
+SHOW CREATE TABLE proc;
+Table	Create Table
+proc	CREATE TABLE `proc` (
+  `db` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
+  `name` char(64) NOT NULL DEFAULT '',
+  `type` enum('FUNCTION','PROCEDURE') NOT NULL,
+  `specific_name` char(64) NOT NULL DEFAULT '',
+  `language` enum('SQL') NOT NULL DEFAULT 'SQL',
+  `sql_data_access` enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') NOT NULL DEFAULT 'CONTAINS_SQL',
+  `is_deterministic` enum('YES','NO') NOT NULL DEFAULT 'NO',
+  `security_type` enum('INVOKER','DEFINER') NOT NULL DEFAULT 'DEFINER',
+  `param_list` blob NOT NULL,
+  `returns` longblob NOT NULL,
+  `body` longblob NOT NULL,
+  `definer` char(77) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
+  `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  `modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
+  `sql_mode` set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH') NOT NULL DEFAULT '',
+  `comment` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
+  `character_set_client` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+  `collation_connection` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+  `db_collation` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+  `body_utf8` longblob,
+  PRIMARY KEY (`db`,`name`,`type`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Stored Procedures'
+SELECT * FROM proc LIMIT 0;
+db	name	type	specific_name	language	sql_data_access	is_deterministic	security_type	param_list	returns	body	definer	created	modified	sql_mode	comment	character_set_client	collation_connection	db_collation	body_utf8
+DROP TABLE proc;
+SHOW CREATE TABLE procs_priv;
+Table	Create Table
+procs_priv	CREATE TABLE `procs_priv` (
+  `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
+  `Db` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
+  `User` char(16) COLLATE utf8_bin NOT NULL DEFAULT '',
+  `Routine_name` char(64) CHARACTER SET utf8 NOT NULL DEFAULT '',
+  `Routine_type` enum('FUNCTION','PROCEDURE') COLLATE utf8_bin NOT NULL,
+  `Grantor` char(77) COLLATE utf8_bin NOT NULL DEFAULT '',
+  `Proc_priv` set('Execute','Alter Routine','Grant') CHARACTER SET utf8 NOT NULL DEFAULT '',
+  `Timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  PRIMARY KEY (`Host`,`Db`,`User`,`Routine_name`,`Routine_type`),
+  KEY `Grantor` (`Grantor`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Procedure privileges'
+SELECT * FROM procs_priv LIMIT 0;
+Host	Db	User	Routine_name	Routine_type	Grantor	Proc_priv	Timestamp
+DROP TABLE procs_priv;
+SHOW CREATE TABLE proxies_priv;
+Table	Create Table
+proxies_priv	CREATE TABLE `proxies_priv` (
+  `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
+  `User` char(16) COLLATE utf8_bin NOT NULL DEFAULT '',
+  `Proxied_host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
+  `Proxied_user` char(16) COLLATE utf8_bin NOT NULL DEFAULT '',
+  `With_grant` tinyint(1) NOT NULL DEFAULT '0',
+  `Grantor` char(77) COLLATE utf8_bin NOT NULL DEFAULT '',
+  `Timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  PRIMARY KEY (`Host`,`User`,`Proxied_host`,`Proxied_user`),
+  KEY `Grantor` (`Grantor`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='User proxy privileges'
+SELECT * FROM proxies_priv LIMIT 0;
+Host	User	Proxied_host	Proxied_user	With_grant	Grantor	Timestamp
+DROP TABLE proxies_priv;
+SHOW CREATE TABLE servers;
+Table	Create Table
+servers	CREATE TABLE `servers` (
+  `Server_name` char(64) NOT NULL DEFAULT '',
+  `Host` char(64) NOT NULL DEFAULT '',
+  `Db` char(64) NOT NULL DEFAULT '',
+  `Username` char(64) NOT NULL DEFAULT '',
+  `Password` char(64) NOT NULL DEFAULT '',
+  `Port` int(4) NOT NULL DEFAULT '0',
+  `Socket` char(64) NOT NULL DEFAULT '',
+  `Wrapper` char(64) NOT NULL DEFAULT '',
+  `Owner` char(64) NOT NULL DEFAULT '',
+  PRIMARY KEY (`Server_name`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='MySQL Foreign Servers table'
+SELECT * FROM servers LIMIT 0;
+Server_name	Host	Db	Username	Password	Port	Socket	Wrapper	Owner
+DROP TABLE servers;
+SHOW CREATE TABLE tables_priv;
+Table	Create Table
+tables_priv	CREATE TABLE `tables_priv` (
+  `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
+  `Db` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
+  `User` char(16) COLLATE utf8_bin NOT NULL DEFAULT '',
+  `Table_name` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
+  `Grantor` char(77) COLLATE utf8_bin NOT NULL DEFAULT '',
+  `Timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  `Table_priv` set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger') CHARACTER SET utf8 NOT NULL DEFAULT '',
+  `Column_priv` set('Select','Insert','Update','References') CHARACTER SET utf8 NOT NULL DEFAULT '',
+  PRIMARY KEY (`Host`,`Db`,`User`,`Table_name`),
+  KEY `Grantor` (`Grantor`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Table privileges'
+SELECT * FROM tables_priv LIMIT 0;
+Host	Db	User	Table_name	Grantor	Timestamp	Table_priv	Column_priv
+DROP TABLE tables_priv;
+SHOW CREATE TABLE time_zone_leap_second;
+Table	Create Table
+time_zone_leap_second	CREATE TABLE `time_zone_leap_second` (
+  `Transition_time` bigint(20) NOT NULL,
+  `Correction` int(11) NOT NULL,
+  PRIMARY KEY (`Transition_time`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Leap seconds information for time zones'
+SELECT * FROM time_zone_leap_second LIMIT 0;
+Transition_time	Correction
+DROP TABLE time_zone_leap_second;
+SHOW CREATE TABLE time_zone;
+Table	Create Table
+time_zone	CREATE TABLE `time_zone` (
+  `Time_zone_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+  `Use_leap_seconds` enum('Y','N') NOT NULL DEFAULT 'N',
+  PRIMARY KEY (`Time_zone_id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Time zones'
+SELECT * FROM time_zone LIMIT 0;
+Time_zone_id	Use_leap_seconds
+DROP TABLE time_zone;
+SHOW CREATE TABLE time_zone_name;
+Table	Create Table
+time_zone_name	CREATE TABLE `time_zone_name` (
+  `Name` char(64) NOT NULL,
+  `Time_zone_id` int(10) unsigned NOT NULL,
+  PRIMARY KEY (`Name`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Time zone names'
+SELECT * FROM time_zone_name LIMIT 0;
+Name	Time_zone_id
+DROP TABLE time_zone_name;
+SHOW CREATE TABLE time_zone_transition;
+Table	Create Table
+time_zone_transition	CREATE TABLE `time_zone_transition` (
+  `Time_zone_id` int(10) unsigned NOT NULL,
+  `Transition_time` bigint(20) NOT NULL,
+  `Transition_type_id` int(10) unsigned NOT NULL,
+  PRIMARY KEY (`Time_zone_id`,`Transition_time`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Time zone transitions'
+SELECT * FROM time_zone_transition LIMIT 0;
+Time_zone_id	Transition_time	Transition_type_id
+DROP TABLE time_zone_transition;
+SHOW CREATE TABLE time_zone_transition_type;
+Table	Create Table
+time_zone_transition_type	CREATE TABLE `time_zone_transition_type` (
+  `Time_zone_id` int(10) unsigned NOT NULL,
+  `Transition_type_id` int(10) unsigned NOT NULL,
+  `Offset` int(11) NOT NULL DEFAULT '0',
+  `Is_DST` tinyint(3) unsigned NOT NULL DEFAULT '0',
+  `Abbreviation` char(8) NOT NULL DEFAULT '',
+  PRIMARY KEY (`Time_zone_id`,`Transition_type_id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Time zone transition types'
+SELECT * FROM time_zone_transition_type LIMIT 0;
+Time_zone_id	Transition_type_id	Offset	Is_DST	Abbreviation
+DROP TABLE time_zone_transition_type;
+SHOW CREATE TABLE user;
+Table	Create Table
+user	CREATE TABLE `user` (
+  `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
+  `User` char(16) COLLATE utf8_bin NOT NULL DEFAULT '',
+  `Password` char(41) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
+  `Select_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Insert_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Update_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Delete_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Create_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Drop_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Reload_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Shutdown_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Process_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `File_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Grant_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `References_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Index_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Alter_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Show_db_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Super_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Create_tmp_table_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Lock_tables_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Execute_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Repl_slave_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Repl_client_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Create_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Show_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Create_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Alter_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Create_user_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Event_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Trigger_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `Create_tablespace_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  `ssl_type` enum('','ANY','X509','SPECIFIED') CHARACTER SET utf8 NOT NULL DEFAULT '',
+  `ssl_cipher` blob NOT NULL,
+  `x509_issuer` blob NOT NULL,
+  `x509_subject` blob NOT NULL,
+  `max_questions` int(11) unsigned NOT NULL DEFAULT '0',
+  `max_updates` int(11) unsigned NOT NULL DEFAULT '0',
+  `max_connections` int(11) unsigned NOT NULL DEFAULT '0',
+  `max_user_connections` int(11) unsigned NOT NULL DEFAULT '0',
+  `plugin` char(64) COLLATE utf8_bin DEFAULT '',
+  `authentication_string` text COLLATE utf8_bin,
+  `password_expired` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+  PRIMARY KEY (`Host`,`User`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Users and global privileges'
+SELECT * FROM user LIMIT 0;
+Host	User	Password	Select_priv	Insert_priv	Update_priv	Delete_priv	Create_priv	Drop_priv	Reload_priv	Shutdown_priv	Process_priv	File_priv	Grant_priv	References_priv	Index_priv	Alter_priv	Show_db_priv	Super_priv	Create_tmp_table_priv	Lock_tables_priv	Execute_priv	Repl_slave_priv	Repl_client_priv	Create_view_priv	Show_view_priv	Create_routine_priv	Alter_routine_priv	Create_user_priv	Event_priv	Trigger_priv	Create_tablespace_priv	ssl_type	ssl_cipher	x509_issuer	x509_subject	max_questions	max_updates	max_connections	max_user_connections	plugin	authentication_string	password_expired
+DROP TABLE user;

=== added directory 'mysql-test/std_data/mysql5613mysql'
=== added file 'mysql-test/std_data/mysql5613mysql/README'
--- a/mysql-test/std_data/mysql5613mysql/README	1970-01-01 00:00:00 +0000
+++ b/mysql-test/std_data/mysql5613mysql/README	2013-08-07 06:57:45 +0000
@@ -0,0 +1,2 @@
+
+Tables created by mysql_install_db from MySQL-5.6.13

=== added file 'mysql-test/std_data/mysql5613mysql/columns_priv.MYD'

=== added file 'mysql-test/std_data/mysql5613mysql/columns_priv.MYI'
Binary files a/mysql-test/std_data/mysql5613mysql/columns_priv.MYI	1970-01-01 00:00:00 +0000 and b/mysql-test/std_data/mysql5613mysql/columns_priv.MYI	2013-08-07 06:57:45 +0000 differ

=== added file 'mysql-test/std_data/mysql5613mysql/columns_priv.frm'
Binary files a/mysql-test/std_data/mysql5613mysql/columns_priv.frm	1970-01-01 00:00:00 +0000 and b/mysql-test/std_data/mysql5613mysql/columns_priv.frm	2013-08-07 06:57:45 +0000 differ

=== added file 'mysql-test/std_data/mysql5613mysql/db.MYD'
--- a/mysql-test/std_data/mysql5613mysql/db.MYD	1970-01-01 00:00:00 +0000
+++ b/mysql-test/std_data/mysql5613mysql/db.MYD	2013-08-07 06:57:45 +0000
@@ -0,0 +1 @@
+ÿ%                                                                                                                                                                                   test                                                                                                                                                                                                                                            ÿ%                                                                                                                                                                                   test\_%                                                                                                                                                                                                                                         
\ No newline at end of file

=== added file 'mysql-test/std_data/mysql5613mysql/db.MYI'
Binary files a/mysql-test/std_data/mysql5613mysql/db.MYI	1970-01-01 00:00:00 +0000 and b/mysql-test/std_data/mysql5613mysql/db.MYI	2013-08-07 06:57:45 +0000 differ

=== added file 'mysql-test/std_data/mysql5613mysql/db.frm'
Binary files a/mysql-test/std_data/mysql5613mysql/db.frm	1970-01-01 00:00:00 +0000 and b/mysql-test/std_data/mysql5613mysql/db.frm	2013-08-07 06:57:45 +0000 differ

=== added file 'mysql-test/std_data/mysql5613mysql/event.MYD'

=== added file 'mysql-test/std_data/mysql5613mysql/event.MYI'
Binary files a/mysql-test/std_data/mysql5613mysql/event.MYI	1970-01-01 00:00:00 +0000 and b/mysql-test/std_data/mysql5613mysql/event.MYI	2013-08-07 06:57:45 +0000 differ

=== added file 'mysql-test/std_data/mysql5613mysql/event.frm'
Binary files a/mysql-test/std_data/mysql5613mysql/event.frm	1970-01-01 00:00:00 +0000 and b/mysql-test/std_data/mysql5613mysql/event.frm	2013-08-07 06:57:45 +0000 differ

=== added file 'mysql-test/std_data/mysql5613mysql/func.MYD'

=== added file 'mysql-test/std_data/mysql5613mysql/func.MYI'
Binary files a/mysql-test/std_data/mysql5613mysql/func.MYI	1970-01-01 00:00:00 +0000 and b/mysql-test/std_data/mysql5613mysql/func.MYI	2013-08-07 06:57:45 +0000 differ

=== added file 'mysql-test/std_data/mysql5613mysql/func.frm'
Binary files a/mysql-test/std_data/mysql5613mysql/func.frm	1970-01-01 00:00:00 +0000 and b/mysql-test/std_data/mysql5613mysql/func.frm	2013-08-07 06:57:45 +0000 differ

=== added file 'mysql-test/std_data/mysql5613mysql/plugin.MYD'

=== added file 'mysql-test/std_data/mysql5613mysql/plugin.MYI'
Binary files a/mysql-test/std_data/mysql5613mysql/plugin.MYI	1970-01-01 00:00:00 +0000 and b/mysql-test/std_data/mysql5613mysql/plugin.MYI	2013-08-07 06:57:45 +0000 differ

=== added file 'mysql-test/std_data/mysql5613mysql/plugin.frm'
Binary files a/mysql-test/std_data/mysql5613mysql/plugin.frm	1970-01-01 00:00:00 +0000 and b/mysql-test/std_data/mysql5613mysql/plugin.frm	2013-08-07 06:57:45 +0000 differ

=== added file 'mysql-test/std_data/mysql5613mysql/proc.MYD'

=== added file 'mysql-test/std_data/mysql5613mysql/proc.MYI'
Binary files a/mysql-test/std_data/mysql5613mysql/proc.MYI	1970-01-01 00:00:00 +0000 and b/mysql-test/std_data/mysql5613mysql/proc.MYI	2013-08-07 06:57:45 +0000 differ

=== added file 'mysql-test/std_data/mysql5613mysql/proc.frm'
Binary files a/mysql-test/std_data/mysql5613mysql/proc.frm	1970-01-01 00:00:00 +0000 and b/mysql-test/std_data/mysql5613mysql/proc.frm	2013-08-07 06:57:45 +0000 differ

=== added file 'mysql-test/std_data/mysql5613mysql/procs_priv.MYD'

=== added file 'mysql-test/std_data/mysql5613mysql/procs_priv.MYI'
Binary files a/mysql-test/std_data/mysql5613mysql/procs_priv.MYI	1970-01-01 00:00:00 +0000 and b/mysql-test/std_data/mysql5613mysql/procs_priv.MYI	2013-08-07 06:57:45 +0000 differ

=== added file 'mysql-test/std_data/mysql5613mysql/procs_priv.frm'
Binary files a/mysql-test/std_data/mysql5613mysql/procs_priv.frm	1970-01-01 00:00:00 +0000 and b/mysql-test/std_data/mysql5613mysql/procs_priv.frm	2013-08-07 06:57:45 +0000 differ

=== added file 'mysql-test/std_data/mysql5613mysql/proxies_priv.MYD'
--- a/mysql-test/std_data/mysql5613mysql/proxies_priv.MYD	1970-01-01 00:00:00 +0000
+++ b/mysql-test/std_data/mysql5613mysql/proxies_priv.MYD	2013-08-07 06:57:45 +0000
@@ -0,0 +1 @@
+ÿlocalhost                                                                                                                                                                           root                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       Rà‹ÿnoter                                                                                                                                                                               root                                                                                                               
                                                                                                                                                                                                                                                                                                                                                                                                         Rà‹
\ No newline at end of file

=== added file 'mysql-test/std_data/mysql5613mysql/proxies_priv.MYI'
Binary files a/mysql-test/std_data/mysql5613mysql/proxies_priv.MYI	1970-01-01 00:00:00 +0000 and b/mysql-test/std_data/mysql5613mysql/proxies_priv.MYI	2013-08-07 06:57:45 +0000 differ

=== added file 'mysql-test/std_data/mysql5613mysql/proxies_priv.frm'
Binary files a/mysql-test/std_data/mysql5613mysql/proxies_priv.frm	1970-01-01 00:00:00 +0000 and b/mysql-test/std_data/mysql5613mysql/proxies_priv.frm	2013-08-07 06:57:45 +0000 differ

=== added file 'mysql-test/std_data/mysql5613mysql/servers.MYD'

=== added file 'mysql-test/std_data/mysql5613mysql/servers.MYI'
Binary files a/mysql-test/std_data/mysql5613mysql/servers.MYI	1970-01-01 00:00:00 +0000 and b/mysql-test/std_data/mysql5613mysql/servers.MYI	2013-08-07 06:57:45 +0000 differ

=== added file 'mysql-test/std_data/mysql5613mysql/servers.frm'
Binary files a/mysql-test/std_data/mysql5613mysql/servers.frm	1970-01-01 00:00:00 +0000 and b/mysql-test/std_data/mysql5613mysql/servers.frm	2013-08-07 06:57:45 +0000 differ

=== added file 'mysql-test/std_data/mysql5613mysql/tables_priv.MYD'

=== added file 'mysql-test/std_data/mysql5613mysql/tables_priv.MYI'
Binary files a/mysql-test/std_data/mysql5613mysql/tables_priv.MYI	1970-01-01 00:00:00 +0000 and b/mysql-test/std_data/mysql5613mysql/tables_priv.MYI	2013-08-07 06:57:45 +0000 differ

=== added file 'mysql-test/std_data/mysql5613mysql/tables_priv.frm'
Binary files a/mysql-test/std_data/mysql5613mysql/tables_priv.frm	1970-01-01 00:00:00 +0000 and b/mysql-test/std_data/mysql5613mysql/tables_priv.frm	2013-08-07 06:57:45 +0000 differ

=== added file 'mysql-test/std_data/mysql5613mysql/time_zone.MYD'

=== added file 'mysql-test/std_data/mysql5613mysql/time_zone.MYI'
Binary files a/mysql-test/std_data/mysql5613mysql/time_zone.MYI	1970-01-01 00:00:00 +0000 and b/mysql-test/std_data/mysql5613mysql/time_zone.MYI	2013-08-07 06:57:45 +0000 differ

=== added file 'mysql-test/std_data/mysql5613mysql/time_zone.frm'
Binary files a/mysql-test/std_data/mysql5613mysql/time_zone.frm	1970-01-01 00:00:00 +0000 and b/mysql-test/std_data/mysql5613mysql/time_zone.frm	2013-08-07 06:57:45 +0000 differ

=== added file 'mysql-test/std_data/mysql5613mysql/time_zone_leap_second.MYD'

=== added file 'mysql-test/std_data/mysql5613mysql/time_zone_leap_second.MYI'
Binary files a/mysql-test/std_data/mysql5613mysql/time_zone_leap_second.MYI	1970-01-01 00:00:00 +0000 and b/mysql-test/std_data/mysql5613mysql/time_zone_leap_second.MYI	2013-08-07 06:57:45 +0000 differ

=== added file 'mysql-test/std_data/mysql5613mysql/time_zone_leap_second.frm'
Binary files a/mysql-test/std_data/mysql5613mysql/time_zone_leap_second.frm	1970-01-01 00:00:00 +0000 and b/mysql-test/std_data/mysql5613mysql/time_zone_leap_second.frm	2013-08-07 06:57:45 +0000 differ

=== added file 'mysql-test/std_data/mysql5613mysql/time_zone_name.MYD'

=== added file 'mysql-test/std_data/mysql5613mysql/time_zone_name.MYI'
Binary files a/mysql-test/std_data/mysql5613mysql/time_zone_name.MYI	1970-01-01 00:00:00 +0000 and b/mysql-test/std_data/mysql5613mysql/time_zone_name.MYI	2013-08-07 06:57:45 +0000 differ

=== added file 'mysql-test/std_data/mysql5613mysql/time_zone_name.frm'
Binary files a/mysql-test/std_data/mysql5613mysql/time_zone_name.frm	1970-01-01 00:00:00 +0000 and b/mysql-test/std_data/mysql5613mysql/time_zone_name.frm	2013-08-07 06:57:45 +0000 differ

=== added file 'mysql-test/std_data/mysql5613mysql/time_zone_transition.MYD'

=== added file 'mysql-test/std_data/mysql5613mysql/time_zone_transition.MYI'
Binary files a/mysql-test/std_data/mysql5613mysql/time_zone_transition.MYI	1970-01-01 00:00:00 +0000 and b/mysql-test/std_data/mysql5613mysql/time_zone_transition.MYI	2013-08-07 06:57:45 +0000 differ

=== added file 'mysql-test/std_data/mysql5613mysql/time_zone_transition.frm'
Binary files a/mysql-test/std_data/mysql5613mysql/time_zone_transition.frm	1970-01-01 00:00:00 +0000 and b/mysql-test/std_data/mysql5613mysql/time_zone_transition.frm	2013-08-07 06:57:45 +0000 differ

=== added file 'mysql-test/std_data/mysql5613mysql/time_zone_transition_type.MYD'

=== added file 'mysql-test/std_data/mysql5613mysql/time_zone_transition_type.MYI'
Binary files a/mysql-test/std_data/mysql5613mysql/time_zone_transition_type.MYI	1970-01-01 00:00:00 +0000 and b/mysql-test/std_data/mysql5613mysql/time_zone_transition_type.MYI	2013-08-07 06:57:45 +0000 differ

=== added file 'mysql-test/std_data/mysql5613mysql/time_zone_transition_type.frm'
Binary files a/mysql-test/std_data/mysql5613mysql/time_zone_transition_type.frm	1970-01-01 00:00:00 +0000 and b/mysql-test/std_data/mysql5613mysql/time_zone_transition_type.frm	2013-08-07 06:57:45 +0000 differ

=== added file 'mysql-test/std_data/mysql5613mysql/user.MYD'
Binary files a/mysql-test/std_data/mysql5613mysql/user.MYD	1970-01-01 00:00:00 +0000 and b/mysql-test/std_data/mysql5613mysql/user.MYD	2013-08-07 06:57:45 +0000 differ

=== added file 'mysql-test/std_data/mysql5613mysql/user.MYI'
Binary files a/mysql-test/std_data/mysql5613mysql/user.MYI	1970-01-01 00:00:00 +0000 and b/mysql-test/std_data/mysql5613mysql/user.MYI	2013-08-07 06:57:45 +0000 differ

=== added file 'mysql-test/std_data/mysql5613mysql/user.frm'
Binary files a/mysql-test/std_data/mysql5613mysql/user.frm	1970-01-01 00:00:00 +0000 and b/mysql-test/std_data/mysql5613mysql/user.frm	2013-08-07 06:57:45 +0000 differ

=== added file 'mysql-test/t/mysql5613mysql.test'
--- a/mysql-test/t/mysql5613mysql.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/t/mysql5613mysql.test	2013-08-07 06:57:45 +0000
@@ -0,0 +1,120 @@
+let $MYSQLD_DATADIR= `select @@datadir`;
+
+--echo #
+--echo # MDEV-4819 Upgrade from MySQL 5.6 does not work
+--echo # Testing that we can open system tables created in MySQL-5.6 (5.6.13)
+--echo #
+
+
+--copy_file std_data/mysql5613mysql/columns_priv.frm $MYSQLD_DATADIR/test/columns_priv.frm
+--copy_file std_data/mysql5613mysql/columns_priv.MYD $MYSQLD_DATADIR/test/columns_priv.MYD
+--copy_file std_data/mysql5613mysql/columns_priv.MYI $MYSQLD_DATADIR/test/columns_priv.MYI
+SHOW CREATE TABLE columns_priv;
+SELECT * FROM columns_priv LIMIT 0;
+DROP TABLE columns_priv;
+
+--copy_file std_data/mysql5613mysql/db.frm $MYSQLD_DATADIR/test/db.frm
+--copy_file std_data/mysql5613mysql/db.MYD $MYSQLD_DATADIR/test/db.MYD
+--copy_file std_data/mysql5613mysql/db.MYI $MYSQLD_DATADIR/test/db.MYI
+SHOW CREATE TABLE db;
+SELECT * FROM db LIMIT 0;
+DROP TABLE db;
+
+
+--copy_file std_data/mysql5613mysql/event.frm $MYSQLD_DATADIR/test/event.frm
+--copy_file std_data/mysql5613mysql/event.MYD $MYSQLD_DATADIR/test/event.MYD
+--copy_file std_data/mysql5613mysql/event.MYI $MYSQLD_DATADIR/test/event.MYI
+SHOW CREATE TABLE event;
+SELECT * FROM event LIMIT 0;
+DROP TABLE event;
+
+--copy_file std_data/mysql5613mysql/func.frm $MYSQLD_DATADIR/test/func.frm
+--copy_file std_data/mysql5613mysql/func.MYD $MYSQLD_DATADIR/test/func.MYD
+--copy_file std_data/mysql5613mysql/func.MYI $MYSQLD_DATADIR/test/func.MYI
+SHOW CREATE TABLE func;
+SELECT * FROM func LIMIT 0;
+DROP TABLE func;
+
+--copy_file std_data/mysql5613mysql/plugin.frm $MYSQLD_DATADIR/test/plugin.frm
+--copy_file std_data/mysql5613mysql/plugin.MYD $MYSQLD_DATADIR/test/plugin.MYD
+--copy_file std_data/mysql5613mysql/plugin.MYI $MYSQLD_DATADIR/test/plugin.MYI
+SHOW CREATE TABLE plugin;
+SELECT * FROM plugin LIMIT 0;
+DROP TABLE plugin;
+
+--copy_file std_data/mysql5613mysql/proc.frm $MYSQLD_DATADIR/test/proc.frm
+--copy_file std_data/mysql5613mysql/proc.MYD $MYSQLD_DATADIR/test/proc.MYD
+--copy_file std_data/mysql5613mysql/proc.MYI $MYSQLD_DATADIR/test/proc.MYI
+SHOW CREATE TABLE proc;
+SELECT * FROM proc LIMIT 0;
+DROP TABLE proc;
+
+--copy_file std_data/mysql5613mysql/procs_priv.frm $MYSQLD_DATADIR/test/procs_priv.frm
+--copy_file std_data/mysql5613mysql/procs_priv.MYD $MYSQLD_DATADIR/test/procs_priv.MYD
+--copy_file std_data/mysql5613mysql/procs_priv.MYI $MYSQLD_DATADIR/test/procs_priv.MYI
+SHOW CREATE TABLE procs_priv;
+SELECT * FROM procs_priv LIMIT 0;
+DROP TABLE procs_priv;
+
+--copy_file std_data/mysql5613mysql/proxies_priv.frm $MYSQLD_DATADIR/test/proxies_priv.frm
+--copy_file std_data/mysql5613mysql/proxies_priv.MYD $MYSQLD_DATADIR/test/proxies_priv.MYD
+--copy_file std_data/mysql5613mysql/proxies_priv.MYI $MYSQLD_DATADIR/test/proxies_priv.MYI
+SHOW CREATE TABLE proxies_priv;
+SELECT * FROM proxies_priv LIMIT 0;
+DROP TABLE proxies_priv;
+
+--copy_file std_data/mysql5613mysql/servers.frm $MYSQLD_DATADIR/test/servers.frm
+--copy_file std_data/mysql5613mysql/servers.MYD $MYSQLD_DATADIR/test/servers.MYD
+--copy_file std_data/mysql5613mysql/servers.MYI $MYSQLD_DATADIR/test/servers.MYI
+SHOW CREATE TABLE servers;
+SELECT * FROM servers LIMIT 0;
+DROP TABLE servers;
+
+--copy_file std_data/mysql5613mysql/tables_priv.frm $MYSQLD_DATADIR/test/tables_priv.frm
+--copy_file std_data/mysql5613mysql/tables_priv.MYD $MYSQLD_DATADIR/test/tables_priv.MYD
+--copy_file std_data/mysql5613mysql/tables_priv.MYI $MYSQLD_DATADIR/test/tables_priv.MYI
+SHOW CREATE TABLE tables_priv;
+SELECT * FROM tables_priv LIMIT 0;
+DROP TABLE tables_priv;
+
+--copy_file std_data/mysql5613mysql/time_zone_leap_second.frm $MYSQLD_DATADIR/test/time_zone_leap_second.frm
+--copy_file std_data/mysql5613mysql/time_zone_leap_second.MYD $MYSQLD_DATADIR/test/time_zone_leap_second.MYD
+--copy_file std_data/mysql5613mysql/time_zone_leap_second.MYI $MYSQLD_DATADIR/test/time_zone_leap_second.MYI
+SHOW CREATE TABLE time_zone_leap_second;
+SELECT * FROM time_zone_leap_second LIMIT 0;
+DROP TABLE time_zone_leap_second;
+
+--copy_file std_data/mysql5613mysql/time_zone.frm $MYSQLD_DATADIR/test/time_zone.frm
+--copy_file std_data/mysql5613mysql/time_zone.MYD $MYSQLD_DATADIR/test/time_zone.MYD
+--copy_file std_data/mysql5613mysql/time_zone.MYI $MYSQLD_DATADIR/test/time_zone.MYI
+SHOW CREATE TABLE time_zone;
+SELECT * FROM time_zone LIMIT 0;
+DROP TABLE time_zone;
+
+--copy_file std_data/mysql5613mysql/time_zone_name.frm $MYSQLD_DATADIR/test/time_zone_name.frm
+--copy_file std_data/mysql5613mysql/time_zone_name.MYD $MYSQLD_DATADIR/test/time_zone_name.MYD
+--copy_file std_data/mysql5613mysql/time_zone_name.MYI $MYSQLD_DATADIR/test/time_zone_name.MYI
+SHOW CREATE TABLE time_zone_name;
+SELECT * FROM time_zone_name LIMIT 0;
+DROP TABLE time_zone_name;
+
+--copy_file std_data/mysql5613mysql/time_zone_transition.frm $MYSQLD_DATADIR/test/time_zone_transition.frm
+--copy_file std_data/mysql5613mysql/time_zone_transition.MYD $MYSQLD_DATADIR/test/time_zone_transition.MYD
+--copy_file std_data/mysql5613mysql/time_zone_transition.MYI $MYSQLD_DATADIR/test/time_zone_transition.MYI
+SHOW CREATE TABLE time_zone_transition;
+SELECT * FROM time_zone_transition LIMIT 0;
+DROP TABLE time_zone_transition;
+
+--copy_file std_data/mysql5613mysql/time_zone_transition_type.frm $MYSQLD_DATADIR/test/time_zone_transition_type.frm
+--copy_file std_data/mysql5613mysql/time_zone_transition_type.MYD $MYSQLD_DATADIR/test/time_zone_transition_type.MYD
+--copy_file std_data/mysql5613mysql/time_zone_transition_type.MYI $MYSQLD_DATADIR/test/time_zone_transition_type.MYI
+SHOW CREATE TABLE time_zone_transition_type;
+SELECT * FROM time_zone_transition_type LIMIT 0;
+DROP TABLE time_zone_transition_type;
+
+--copy_file std_data/mysql5613mysql/user.frm $MYSQLD_DATADIR/test/user.frm
+--copy_file std_data/mysql5613mysql/user.MYD $MYSQLD_DATADIR/test/user.MYD
+--copy_file std_data/mysql5613mysql/user.MYI $MYSQLD_DATADIR/test/user.MYI
+SHOW CREATE TABLE user;
+SELECT * FROM user LIMIT 0;
+DROP TABLE user;

=== modified file 'storage/myisam/ha_myisam.cc'
--- a/storage/myisam/ha_myisam.cc	2013-07-21 17:24:20 +0000
+++ b/storage/myisam/ha_myisam.cc	2013-08-07 06:57:45 +0000
@@ -355,12 +355,23 @@ int table2myisam(TABLE *table_arg, MI_KE
 
     if (found->flags & BLOB_FLAG)
       recinfo_pos->type= FIELD_BLOB;
-    else if (found->type() == MYSQL_TYPE_TIMESTAMP)
+    else if (found->real_type() == MYSQL_TYPE_TIMESTAMP)
+    {
+      /* pre-MySQL-5.6.4 TIMESTAMP, or MariaDB-5.3+ TIMESTAMP */
       recinfo_pos->type= FIELD_NORMAL;
+    }
     else if (found->type() == MYSQL_TYPE_VARCHAR)
       recinfo_pos->type= FIELD_VARCHAR;
     else if (!(options & HA_OPTION_PACK_RECORD))
       recinfo_pos->type= FIELD_NORMAL;
+    else if (found->real_type() == MYSQL_TYPE_TIMESTAMP2)
+    {
+      /*
+        MySQL-5.6.4+ erroneously marks Field_timestampf as FIELD_SKIP_PRESPACE,
+        but only if HA_OPTION_PACK_RECORD is set.
+      */
+      recinfo_pos->type= FIELD_SKIP_PRESPACE;
+    }
     else if (found->zero_pack())
       recinfo_pos->type= FIELD_SKIP_ZERO;
     else



More information about the commits mailing list