mariadb/mysql-test/t/upgrade.test
unknown 06691fc3c6 Bug#17142 Crash if create with encoded name
upgrade.result, upgrade.test:
  Adding test case.
table.cc:
  Don't try to open a table with old-formatted name,
  if the table name contains "@" character.
  This is to avoid mixing two different names to each other.
  Thanks Monty for suggesting this fix.


sql/table.cc:
  Bug#17142 Crash if create with encoded name
  Don't try to open a table with old-formatted name,
  if the table name contains "@" character.
  This is to avoid mixing two different names to each other.
mysql-test/t/upgrade.test:
  Adding test case.
mysql-test/r/upgrade.result:
  Adding test case.
2006-03-07 13:05:24 +04:00

49 lines
1.4 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`;