mirror of
https://github.com/MariaDB/server.git
synced 2025-01-22 06:44:16 +01:00
db83fda90d
This patch adds corrections to the original patch submitted 2009-04-08 (http://lists.mysql.com/commits/71607): - fixed that the original patch didn't work because of an incorrect condition; - added a test case. mysql-test/r/upgrade.result: Bug#37631 Incorrect key file for table after upgrading from 5.0 to 5.1 Result file for test case mysql-test/std_data/bug37631.MYD: Bug#37631 Incorrect key file for table after upgrading from 5.0 to 5.1 table created in mysql 4.0 mysql-test/std_data/bug37631.MYI: Bug#37631 Incorrect key file for table after upgrading from 5.0 to 5.1 table created in mysql 4.0 mysql-test/std_data/bug37631.frm: Bug#37631 Incorrect key file for table after upgrading from 5.0 to 5.1 table created in mysql 4.0 mysql-test/t/upgrade.test: Bug#37631 Incorrect key file for table after upgrading from 5.0 to 5.1 Adds test for checking that upgrade works on a table which is created by a mysql server version <= 4.0. storage/myisam/ha_myisam.cc: Bug#37631 Incorrect key file for table after upgrading from 5.0 to 5.1 Fix the conformance checker to relax checking for the correct version of the tables (for tables created by mysql server version <= 4.0)
118 lines
3.8 KiB
Text
118 lines
3.8 KiB
Text
drop database if exists `mysqltest1`;
|
|
drop database if exists `mysqltest-1`;
|
|
drop database if exists `#mysql50#mysqltest-1`;
|
|
create database `mysqltest1`;
|
|
create database `#mysql50#mysqltest-1`;
|
|
create table `mysqltest1`.`t1` (a int);
|
|
create table `mysqltest1`.`#mysql50#t-1` (a int);
|
|
create table `#mysql50#mysqltest-1`.`t1` (a int);
|
|
create table `#mysql50#mysqltest-1`.`#mysql50#t-1` (a int);
|
|
show create database `mysqltest1`;
|
|
Database Create Database
|
|
mysqltest1 CREATE DATABASE `mysqltest1` /*!40100 DEFAULT CHARACTER SET latin1 */
|
|
show create database `mysqltest-1`;
|
|
ERROR 42000: Unknown database 'mysqltest-1'
|
|
show create database `#mysql50#mysqltest-1`;
|
|
Database Create Database
|
|
#mysql50#mysqltest-1 CREATE DATABASE `#mysql50#mysqltest-1` /*!40100 DEFAULT CHARACTER SET latin1 */
|
|
show tables in `mysqltest1`;
|
|
Tables_in_mysqltest1
|
|
#mysql50#t-1
|
|
t1
|
|
show tables in `#mysql50#mysqltest-1`;
|
|
Tables_in_#mysql50#mysqltest-1
|
|
#mysql50#t-1
|
|
t1
|
|
show create database `mysqltest1`;
|
|
Database Create Database
|
|
mysqltest1 CREATE DATABASE `mysqltest1` /*!40100 DEFAULT CHARACTER SET latin1 */
|
|
show create database `mysqltest-1`;
|
|
Database Create Database
|
|
mysqltest-1 CREATE DATABASE `mysqltest-1` /*!40100 DEFAULT CHARACTER SET latin1 */
|
|
show create database `#mysql50#mysqltest-1`;
|
|
ERROR 42000: Unknown database '#mysql50#mysqltest-1'
|
|
show tables in `mysqltest1`;
|
|
Tables_in_mysqltest1
|
|
t1
|
|
t-1
|
|
show tables in `mysqltest-1`;
|
|
Tables_in_mysqltest-1
|
|
t1
|
|
t-1
|
|
drop database `mysqltest1`;
|
|
drop database `mysqltest-1`;
|
|
drop table if exists `txu@0023p@0023p1`;
|
|
drop table if exists `txu#p#p1`;
|
|
create table `txu#p#p1` (s1 int);
|
|
insert into `txu#p#p1` values (1);
|
|
select * from `txu@0023p@0023p1`;
|
|
ERROR 42S02: Table 'test.txu@0023p@0023p1' doesn't exist
|
|
create table `txu@0023p@0023p1` (s1 int);
|
|
insert into `txu@0023p@0023p1` values (2);
|
|
select * from `txu@0023p@0023p1`;
|
|
s1
|
|
2
|
|
select * from `txu#p#p1`;
|
|
s1
|
|
1
|
|
drop table `txu@0023p@0023p1`;
|
|
drop table `txu#p#p1`;
|
|
#
|
|
# Bug#37631 Incorrect key file for table after upgrading from 5.0 to 5.1
|
|
#
|
|
# copy table created using mysql4.0 into the data dir
|
|
# check the table created using mysql 4.0
|
|
CHECK TABLE t1;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 check error Table upgrade required. Please do "REPAIR TABLE `t1`" or dump/reload to fix it!
|
|
# query the table created using mysql 4.0
|
|
SELECT * FROM t1;
|
|
c1 c2 c3
|
|
DROP TABLE t1;
|
|
truncate t1;
|
|
drop table t1;
|
|
drop database if exists `tabc`;
|
|
drop database if exists `a-b-c`;
|
|
create database `tabc` default character set latin2;
|
|
create table tabc.t1 (a int);
|
|
FLUSH TABLES;
|
|
show databases like '%a-b-c%';
|
|
Database (%a-b-c%)
|
|
#mysql50#a-b-c
|
|
ALTER DATABASE `#mysql50#a-b-c` UPGRADE DATA DIRECTORY NAME;
|
|
show databases like '%a-b-c%';
|
|
Database (%a-b-c%)
|
|
a-b-c
|
|
show create database `a-b-c`;
|
|
Database Create Database
|
|
a-b-c CREATE DATABASE `a-b-c` /*!40100 DEFAULT CHARACTER SET latin2 */
|
|
show tables in `a-b-c`;
|
|
Tables_in_a-b-c
|
|
t1
|
|
show create table `a-b-c`.`t1`;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`a` int(11) DEFAULT NULL
|
|
) ENGINE=MyISAM DEFAULT CHARSET=latin2
|
|
drop database `a-b-c`;
|
|
drop database `tabc`;
|
|
use `#mysql50#a-b-c`;
|
|
create table t1(f1 char(10));
|
|
show databases like '%a-b-c%';
|
|
Database (%a-b-c%)
|
|
#mysql50#a-b-c
|
|
ALTER DATABASE `#mysql50#a-b-c` UPGRADE DATA DIRECTORY NAME;
|
|
show databases like '%a-b-c%';
|
|
Database (%a-b-c%)
|
|
a-b-c
|
|
show create view `a-b-c`.v1;
|
|
View Create View character_set_client collation_connection
|
|
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `a`.`f1` AS `f1` from (`a-b-c`.`t1` `a` join `information_schema`.`tables` `b`) where (convert(`a`.`f1` using utf8) = `b`.`TABLE_NAME`) utf8 utf8_general_ci
|
|
Warnings:
|
|
Note 1600 Creation context of view `a-b-c`.`v1' is invalid
|
|
select * from `a-b-c`.v1;
|
|
f1
|
|
Warnings:
|
|
Note 1600 Creation context of view `a-b-c`.`v1' is invalid
|
|
drop database `a-b-c`;
|
|
use test;
|