Skip to content

Commit 5280af2

Browse files
committed
Cleaned up some MTR tests
- Moved tests depending on utf8 characters from create to create_utf8 - Fixed some tests in create and sp that wrongly tried to create table from non existing table on existing table. In a later patch we may first check if table exists, in which case the error message would change. - Updated results for partition_debug_tokudb
1 parent dc91330 commit 5280af2

File tree

9 files changed

+450
-178
lines changed

9 files changed

+450
-178
lines changed

mysql-test/main/create.result

Lines changed: 5 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -404,7 +404,7 @@ create table t3 like mysqltest.t3;
404404
ERROR 42S01: Table 't3' already exists
405405
create table non_existing_database.t1 like t1;
406406
ERROR 42000: Unknown database 'non_existing_database'
407-
create table t3 like non_existing_table;
407+
create table t4 like non_existing_table;
408408
ERROR 42S02: Table 'test.non_existing_table' doesn't exist
409409
create temporary table t3 like t1;
410410
ERROR 42S01: Table 't3' already exists
@@ -914,8 +914,12 @@ unlock tables;
914914
lock table t1 read, t2 read;
915915
create table t2 select * from t1;
916916
ERROR HY000: Table 't2' was locked with a READ lock and can't be updated
917+
create table t3 select * from t1;
918+
ERROR HY000: Table 't3' was not locked with LOCK TABLES
917919
create table if not exists t2 select * from t1;
918920
ERROR HY000: Table 't2' was locked with a READ lock and can't be updated
921+
create table if not exists t3 select * from t1;
922+
ERROR HY000: Table 't3' was not locked with LOCK TABLES
919923
unlock tables;
920924
lock table t1 read, t2 write;
921925
create table t2 select * from t1;
@@ -1053,95 +1057,6 @@ USE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
10531057
ERROR 42000: Incorrect database name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
10541058
SHOW CREATE DATABASE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
10551059
ERROR 42000: Incorrect database name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
1056-
set names utf8;
1057-
create database имя_базы_в_кодировке_утф8_длиной_больше_чем_45;
1058-
use имя_базы_в_кодировке_утф8_длиной_больше_чем_45;
1059-
select database();
1060-
database()
1061-
имя_базы_в_кодировке_утф8_длиной_больше_чем_45
1062-
use test;
1063-
select SCHEMA_NAME from information_schema.schemata
1064-
where schema_name='имя_базы_в_кодировке_утф8_длиной_больше_чем_45';
1065-
SCHEMA_NAME
1066-
имя_базы_в_кодировке_утф8_длиной_больше_чем_45
1067-
drop database имя_базы_в_кодировке_утф8_длиной_больше_чем_45;
1068-
create table имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48
1069-
(
1070-
имя_поля_в_кодировке_утф8_длиной_больше_чем_45 int,
1071-
index имя_индекса_в_кодировке_утф8_длиной_больше_чем_48 (имя_поля_в_кодировке_утф8_длиной_больше_чем_45)
1072-
);
1073-
create view имя_вью_кодировке_утф8_длиной_больше_чем_42 as
1074-
select имя_поля_в_кодировке_утф8_длиной_больше_чем_45
1075-
from имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48;
1076-
select * from имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48;
1077-
имя_поля_в_кодировке_утф8_длиной_больше_чем_45
1078-
select TABLE_NAME from information_schema.tables where
1079-
table_schema='test';
1080-
TABLE_NAME
1081-
имя_вью_кодировке_утф8_длиной_больше_чем_42
1082-
имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48
1083-
select COLUMN_NAME from information_schema.columns where
1084-
table_schema='test';
1085-
COLUMN_NAME
1086-
имя_поля_в_кодировке_утф8_длиной_больше_чем_45
1087-
имя_поля_в_кодировке_утф8_длиной_больше_чем_45
1088-
select INDEX_NAME from information_schema.statistics where
1089-
table_schema='test';
1090-
INDEX_NAME
1091-
имя_индекса_в_кодировке_утф8_длиной_больше_чем_48
1092-
select TABLE_NAME from information_schema.views where
1093-
table_schema='test';
1094-
TABLE_NAME
1095-
имя_вью_кодировке_утф8_длиной_больше_чем_42
1096-
show create table имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48;
1097-
Table Create Table
1098-
имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48 CREATE TABLE `имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48` (
1099-
`имя_поля_в_кодировке_утф8_длиной_больше_чем_45` int(11) DEFAULT NULL,
1100-
KEY `имя_индекса_в_кодировке_утф8_длиной_больше_чем_48` (`имя_поля_в_кодировке_утф8_длиной_больше_чем_45`)
1101-
) ENGINE=MyISAM DEFAULT CHARSET=latin1
1102-
show create view имя_вью_кодировке_утф8_длиной_больше_чем_42;
1103-
View Create View character_set_client collation_connection
1104-
имя_вью_кодировке_утф8_длиной_больше_чем_42 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `имя_вью_кодировке_утф8_длиной_больше_чем_42` AS select `имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48`.`имя_поля_в_кодировке_утф8_длиной_больше_чем_45` AS `имя_поля_в_кодировке_утф8_длиной_больше_чем_45` from `имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48` utf8 utf8_general_ci
1105-
create trigger имя_триггера_в_кодировке_утф8_длиной_больше_чем_49
1106-
before insert on имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48 for each row set @a:=1;
1107-
select TRIGGER_NAME from information_schema.triggers where
1108-
trigger_schema='test';
1109-
TRIGGER_NAME
1110-
имя_триггера_в_кодировке_утф8_длиной_больше_чем_49
1111-
drop trigger имя_триггера_в_кодировке_утф8_длиной_больше_чем_49;
1112-
create trigger
1113-
очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66
1114-
before insert on имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48 for each row set @a:=1;
1115-
ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длинна' is too long
1116-
drop trigger очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66;
1117-
ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длинна' is too long
1118-
create procedure имя_процедуры_в_кодировке_утф8_длиной_больше_чем_50()
1119-
begin
1120-
end;
1121-
select ROUTINE_NAME from information_schema.routines where
1122-
routine_schema='test';
1123-
ROUTINE_NAME
1124-
имя_процедуры_в_кодировке_утф8_длиной_больше_чем_50
1125-
drop procedure имя_процедуры_в_кодировке_утф8_длиной_больше_чем_50;
1126-
create procedure очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66()
1127-
begin
1128-
end;
1129-
ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длинна' is too long
1130-
create function имя_функции_в_кодировке_утф8_длиной_больше_чем_49()
1131-
returns int
1132-
return 0;
1133-
select ROUTINE_NAME from information_schema.routines where
1134-
routine_schema='test';
1135-
ROUTINE_NAME
1136-
имя_функции_в_кодировке_утф8_длиной_больше_чем_49
1137-
drop function имя_функции_в_кодировке_утф8_длиной_больше_чем_49;
1138-
create function очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66()
1139-
returns int
1140-
return 0;
1141-
ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длинна' is too long
1142-
drop view имя_вью_кодировке_утф8_длиной_больше_чем_42;
1143-
drop table имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48;
1144-
set names default;
11451060
drop table if exists t1,t2,t3;
11461061
drop function if exists f1;
11471062
create function f1() returns int

mysql-test/main/create.test

Lines changed: 7 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,7 @@ create table t3 like mysqltest.t3;
323323
--error 1049
324324
create table non_existing_database.t1 like t1;
325325
--error ER_NO_SUCH_TABLE
326-
create table t3 like non_existing_table;
326+
create table t4 like non_existing_table;
327327
--error 1050
328328
create temporary table t3 like t1;
329329
drop table t1, t2, t3;
@@ -768,22 +768,21 @@ drop table t1;
768768
--error ER_CANT_AGGREGATE_2COLLATIONS
769769
create table t1 select coalesce('a' collate latin1_swedish_ci,'b' collate latin1_bin);
770770

771-
772771
# Base vs temporary tables dillema (a.k.a. bug#24508 "Inconsistent
773772
# results of CREATE TABLE ... SELECT when temporary table exists").
774773
# In this situation we either have to create non-temporary table and
775774
# insert data in it or insert data in temporary table without creation of
776775
# permanent table. After patch for Bug#47418, we create the base table and
777776
# instert data into it, even though a temporary table exists with the same
778777
# name.
778+
779779
create temporary table t1 (j int);
780780
create table if not exists t1 select 1;
781781
select * from t1;
782782
drop temporary table t1;
783783
select * from t1;
784784
drop table t1;
785785

786-
787786
#
788787
# CREATE TABLE ... SELECT and LOCK TABLES
789788
#
@@ -792,6 +791,7 @@ drop table t1;
792791
# the server doesn't crash, hang and produces sensible errors.
793792
# Includes test for bug #20662 "Infinite loop in CREATE TABLE
794793
# IF NOT EXISTS ... SELECT with locked tables".
794+
795795
create table t1 (i int);
796796
insert into t1 values (1), (2);
797797
lock tables t1 read;
@@ -812,8 +812,12 @@ unlock tables;
812812
lock table t1 read, t2 read;
813813
--error ER_TABLE_NOT_LOCKED_FOR_WRITE
814814
create table t2 select * from t1;
815+
--error ER_TABLE_NOT_LOCKED
816+
create table t3 select * from t1;
815817
--error ER_TABLE_NOT_LOCKED_FOR_WRITE
816818
create table if not exists t2 select * from t1;
819+
--error ER_TABLE_NOT_LOCKED
820+
create table if not exists t3 select * from t1;
817821
unlock tables;
818822
lock table t1 read, t2 write;
819823
--error ER_TABLE_EXISTS_ERROR
@@ -990,87 +994,6 @@ USE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
990994
--error 1102
991995
SHOW CREATE DATABASE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
992996

993-
#
994-
# Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
995-
#
996-
set names utf8;
997-
998-
create database имя_базы_в_кодировке_утф8_длиной_больше_чем_45;
999-
use имя_базы_в_кодировке_утф8_длиной_больше_чем_45;
1000-
select database();
1001-
use test;
1002-
1003-
select SCHEMA_NAME from information_schema.schemata
1004-
where schema_name='имя_базы_в_кодировке_утф8_длиной_больше_чем_45';
1005-
1006-
drop database имя_базы_в_кодировке_утф8_длиной_больше_чем_45;
1007-
create table имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48
1008-
(
1009-
имя_поля_в_кодировке_утф8_длиной_больше_чем_45 int,
1010-
index имя_индекса_в_кодировке_утф8_длиной_больше_чем_48 (имя_поля_в_кодировке_утф8_длиной_больше_чем_45)
1011-
);
1012-
1013-
create view имя_вью_кодировке_утф8_длиной_больше_чем_42 as
1014-
select имя_поля_в_кодировке_утф8_длиной_больше_чем_45
1015-
from имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48;
1016-
1017-
# database, table, field, key, view
1018-
select * from имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48;
1019-
1020-
--sorted_result
1021-
select TABLE_NAME from information_schema.tables where
1022-
table_schema='test';
1023-
1024-
select COLUMN_NAME from information_schema.columns where
1025-
table_schema='test';
1026-
1027-
select INDEX_NAME from information_schema.statistics where
1028-
table_schema='test';
1029-
1030-
select TABLE_NAME from information_schema.views where
1031-
table_schema='test';
1032-
1033-
show create table имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48;
1034-
show create view имя_вью_кодировке_утф8_длиной_больше_чем_42;
1035-
1036-
create trigger имя_триггера_в_кодировке_утф8_длиной_больше_чем_49
1037-
before insert on имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48 for each row set @a:=1;
1038-
select TRIGGER_NAME from information_schema.triggers where
1039-
trigger_schema='test';
1040-
drop trigger имя_триггера_в_кодировке_утф8_длиной_больше_чем_49;
1041-
--error 1059
1042-
create trigger
1043-
очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66
1044-
before insert on имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48 for each row set @a:=1;
1045-
--error 1059
1046-
drop trigger очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66;
1047-
1048-
create procedure имя_процедуры_в_кодировке_утф8_длиной_больше_чем_50()
1049-
begin
1050-
end;
1051-
select ROUTINE_NAME from information_schema.routines where
1052-
routine_schema='test';
1053-
drop procedure имя_процедуры_в_кодировке_утф8_длиной_больше_чем_50;
1054-
--error 1059
1055-
create procedure очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66()
1056-
begin
1057-
end;
1058-
1059-
create function имя_функции_в_кодировке_утф8_длиной_больше_чем_49()
1060-
returns int
1061-
return 0;
1062-
select ROUTINE_NAME from information_schema.routines where
1063-
routine_schema='test';
1064-
drop function имя_функции_в_кодировке_утф8_длиной_больше_чем_49;
1065-
--error 1059
1066-
create function очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66()
1067-
returns int
1068-
return 0;
1069-
1070-
drop view имя_вью_кодировке_утф8_длиной_больше_чем_42;
1071-
drop table имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48;
1072-
set names default;
1073-
1074997
#
1075998
# Bug#21136 CREATE TABLE SELECT within CREATE TABLE SELECT causes server crash
1076999
#

0 commit comments

Comments
 (0)