diff options
Diffstat (limited to 'mysql-test/t/upgrade.test')
-rw-r--r-- | mysql-test/t/upgrade.test | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/mysql-test/t/upgrade.test b/mysql-test/t/upgrade.test new file mode 100644 index 00000000000..ce40ec8ed77 --- /dev/null +++ b/mysql-test/t/upgrade.test @@ -0,0 +1,88 @@ +-- source include/not_embedded.inc + +--disable_warnings +drop database if exists `mysqltest1`; +drop database if exists `mysqltest-1`; +drop database if exists `#mysql50#mysqltest-1`; +--enable_warnings + +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`; +--error 1049 +show create database `mysqltest-1`; +show create database `#mysql50#mysqltest-1`; +show tables in `mysqltest1`; +show tables in `#mysql50#mysqltest-1`; + +--exec $MYSQL_CHECK --all-databases --fix-db-names --fix-table-names + +show create database `mysqltest1`; +show create database `mysqltest-1`; +--error 1049 +show create database `#mysql50#mysqltest-1`; +show tables in `mysqltest1`; +show tables in `mysqltest-1`; +drop database `mysqltest1`; +drop database `mysqltest-1`; + +# +# Bug#17142: Crash if create with encoded name +# +--disable_warnings +drop table if exists `txu@0023p@0023p1`; +drop table if exists `txu#p#p1`; +--enable_warnings +create table `txu#p#p1` (s1 int); +insert into `txu#p#p1` values (1); +--error 1146 +select * from `txu@0023p@0023p1`; +create table `txu@0023p@0023p1` (s1 int); +insert into `txu@0023p@0023p1` values (2); +select * from `txu@0023p@0023p1`; +select * from `txu#p#p1`; +drop table `txu@0023p@0023p1`; +drop table `txu#p#p1`; + +# +# Check if old tables work +# + +system cp $MYSQL_TEST_DIR/std_data/old_table-323.frm $MYSQLTEST_VARDIR/master-data/test/t1.frm; +truncate t1; +drop table t1; + +# +# Bug#28360 (RENAME DATABASE destroys routines) +# + +--disable_warnings +drop database if exists `tabc`; +drop database if exists `a-b-c`; +--enable_warnings + +create database `tabc` default character set latin2; +create table tabc.t1 (a int); +FLUSH TABLES; + +# Manually make a 5.0 database from the template +--mkdir $MYSQLTEST_VARDIR/master-data/a-b-c +--copy_file $MYSQLTEST_VARDIR/master-data/tabc/db.opt $MYSQLTEST_VARDIR/master-data/a-b-c/db.opt +--copy_file $MYSQLTEST_VARDIR/master-data/tabc/t1.frm $MYSQLTEST_VARDIR/master-data/a-b-c/t1.frm +--copy_file $MYSQLTEST_VARDIR/master-data/tabc/t1.MYD $MYSQLTEST_VARDIR/master-data/a-b-c/t1.MYD +--copy_file $MYSQLTEST_VARDIR/master-data/tabc/t1.MYI $MYSQLTEST_VARDIR/master-data/a-b-c/t1.MYI + +show databases like '%a-b-c%'; +ALTER DATABASE `#mysql50#a-b-c` UPGRADE DATA DIRECTORY NAME; +# The physical directory name is now a@002db@002dc, the logical name still a-b-c +show databases like '%a-b-c%'; +show create database `a-b-c`; +show tables in `a-b-c`; +show create table `a-b-c`.`t1`; +drop database `a-b-c`; +drop database `tabc`; + |