174 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			174 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 
								 | 
							
								-- 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`;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								--echo #
							 | 
						||
| 
								 | 
							
								--echo # Bug#37631 Incorrect key file for table after upgrading from 5.0 to 5.1
							 | 
						||
| 
								 | 
							
								--echo #
							 | 
						||
| 
								 | 
							
								--echo # copy table created using mysql4.0 into the data dir
							 | 
						||
| 
								 | 
							
								let $MYSQLD_DATADIR= `SELECT @@datadir`;
							 | 
						||
| 
								 | 
							
								copy_file std_data/bug37631.frm $MYSQLD_DATADIR/test/t1.frm;
							 | 
						||
| 
								 | 
							
								copy_file std_data/bug37631.MYD $MYSQLD_DATADIR/test/t1.MYD;
							 | 
						||
| 
								 | 
							
								copy_file std_data/bug37631.MYI $MYSQLD_DATADIR/test/t1.MYI;
							 | 
						||
| 
								 | 
							
								--echo # check the table created using mysql 4.0
							 | 
						||
| 
								 | 
							
								CHECK TABLE t1;
							 | 
						||
| 
								 | 
							
								--echo # query the table created using mysql 4.0
							 | 
						||
| 
								 | 
							
								SELECT * FROM t1;
							 | 
						||
| 
								 | 
							
								DROP TABLE t1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# Check if old tables work
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								let $MYSQLD_DATADIR= `select @@datadir`;
							 | 
						||
| 
								 | 
							
								--error 0,1
							 | 
						||
| 
								 | 
							
								--remove_file $MYSQLD_DATADIR/test/t1.frm
							 | 
						||
| 
								 | 
							
								--copy_file std_data/old_table-323.frm $MYSQLD_DATADIR/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 $MYSQLD_DATADIR/a-b-c
							 | 
						||
| 
								 | 
							
								--copy_file $MYSQLD_DATADIR/tabc/db.opt $MYSQLD_DATADIR/a-b-c/db.opt
							 | 
						||
| 
								 | 
							
								--copy_file $MYSQLD_DATADIR/tabc/t1.frm $MYSQLD_DATADIR/a-b-c/t1.frm
							 | 
						||
| 
								 | 
							
								--copy_file $MYSQLD_DATADIR/tabc/t1.MYD $MYSQLD_DATADIR/a-b-c/t1.MYD
							 | 
						||
| 
								 | 
							
								--copy_file $MYSQLD_DATADIR/tabc/t1.MYI $MYSQLD_DATADIR/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`;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# Bug#43385 Cannot ALTER DATABASE ... UPGRADE DATA DIRECTORY NAME when Views exist
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								let $MYSQLD_DATADIR= `select @@datadir`;
							 | 
						||
| 
								 | 
							
								--mkdir $MYSQLD_DATADIR/a-b-c
							 | 
						||
| 
								 | 
							
								use `#mysql50#a-b-c`;
							 | 
						||
| 
								 | 
							
								create table t1(f1 char(10));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								--write_file $MYSQLD_DATADIR/a-b-c/v1.frm
							 | 
						||
| 
								 | 
							
								TYPE=VIEW
							 | 
						||
| 
								 | 
							
								query=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`)
							 | 
						||
| 
								 | 
							
								md5=068271f1c657fe115e497856ca0fa493
							 | 
						||
| 
								 | 
							
								updatable=0
							 | 
						||
| 
								 | 
							
								algorithm=0
							 | 
						||
| 
								 | 
							
								definer_user=root
							 | 
						||
| 
								 | 
							
								definer_host=localhost
							 | 
						||
| 
								 | 
							
								suid=2
							 | 
						||
| 
								 | 
							
								with_check_option=0
							 | 
						||
| 
								 | 
							
								timestamp=2009-04-10 11:53:37
							 | 
						||
| 
								 | 
							
								create-version=1
							 | 
						||
| 
								 | 
							
								source=select f1 from `a-b-c`.t1 a, information_schema.tables b\nwhere a.f1 = b.table_name
							 | 
						||
| 
								 | 
							
								client_cs_name=utf8
							 | 
						||
| 
								 | 
							
								connection_cl_name=utf8_general_ci
							 | 
						||
| 
								 | 
							
								EOF
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								show databases like '%a-b-c%';
							 | 
						||
| 
								 | 
							
								ALTER DATABASE `#mysql50#a-b-c` UPGRADE DATA DIRECTORY NAME;
							 | 
						||
| 
								 | 
							
								show databases like '%a-b-c%';
							 | 
						||
| 
								 | 
							
								show create view `a-b-c`.v1;
							 | 
						||
| 
								 | 
							
								--disable_ps_protocol
							 | 
						||
| 
								 | 
							
								select * from `a-b-c`.v1;
							 | 
						||
| 
								 | 
							
								--enable_ps_protocol
							 | 
						||
| 
								 | 
							
								drop database `a-b-c`;
							 | 
						||
| 
								 | 
							
								use test;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								--echo # End of 5.0 tests
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								--echo #
							 | 
						||
| 
								 | 
							
								--echo # Bug #53804: serious flaws in the alter database .. upgrade data
							 | 
						||
| 
								 | 
							
								--echo #             directory name command
							 | 
						||
| 
								 | 
							
								--echo #
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								--error ER_BAD_DB_ERROR
							 | 
						||
| 
								 | 
							
								ALTER DATABASE `#mysql50#:` UPGRADE DATA DIRECTORY NAME;
							 | 
						||
| 
								 | 
							
								--error ER_WRONG_DB_NAME
							 | 
						||
| 
								 | 
							
								ALTER DATABASE `#mysql50#.` UPGRADE DATA DIRECTORY NAME;
							 | 
						||
| 
								 | 
							
								--error ER_WRONG_DB_NAME
							 | 
						||
| 
								 | 
							
								ALTER DATABASE `#mysql50#../` UPGRADE DATA DIRECTORY NAME;
							 | 
						||
| 
								 | 
							
								--error ER_WRONG_DB_NAME
							 | 
						||
| 
								 | 
							
								ALTER DATABASE `#mysql50#../..` UPGRADE DATA DIRECTORY NAME;
							 | 
						||
| 
								 | 
							
								--error ER_WRONG_DB_NAME
							 | 
						||
| 
								 | 
							
								ALTER DATABASE `#mysql50#../../` UPGRADE DATA DIRECTORY NAME;
							 | 
						||
| 
								 | 
							
								--error ER_WRONG_DB_NAME
							 | 
						||
| 
								 | 
							
								ALTER DATABASE `#mysql50#./blablabla` UPGRADE DATA DIRECTORY NAME;
							 | 
						||
| 
								 | 
							
								--error ER_WRONG_DB_NAME
							 | 
						||
| 
								 | 
							
								ALTER DATABASE `#mysql50#../blablabla` UPGRADE DATA DIRECTORY NAME;
							 | 
						||
| 
								 | 
							
								--error ER_WRONG_DB_NAME
							 | 
						||
| 
								 | 
							
								ALTER DATABASE `#mysql50#/` UPGRADE DATA DIRECTORY NAME;
							 | 
						||
| 
								 | 
							
								--error ER_WRONG_DB_NAME
							 | 
						||
| 
								 | 
							
								ALTER DATABASE `#mysql50#/.` UPGRADE DATA DIRECTORY NAME;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								--error ER_WRONG_DB_NAME
							 | 
						||
| 
								 | 
							
								USE `#mysql50#.`;
							 | 
						||
| 
								 | 
							
								--error ER_WRONG_DB_NAME
							 | 
						||
| 
								 | 
							
								USE `#mysql50#../blablabla`;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								--echo # End of 5.1 tests
							 | 
						||
| 
								 | 
							
								
							 |