mirror of
https://github.com/MariaDB/server.git
synced 2025-02-02 03:51:50 +01:00
18300001c1
UPGRADE) Bug 17565 (RENAME DATABASE destroys events) Bug#28360 (RENAME DATABASE destroys routines) Removed the RENAME DATABASE db1 TO db2 statement. Implemented the ALTER DATABASE db UPGRADE DATA DIRECTORY NAME statement, which has the same function.
89 lines
2.6 KiB
Text
89 lines
2.6 KiB
Text
-- 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
|
|
--exec 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`;
|
|
|