From f8fb7a404bc562ed031e97d49816b3d930dd42c3 Mon Sep 17 00:00:00 2001 From: "gluh@mysql.com/eagle.(none)" <> Date: Wed, 4 Apr 2007 17:36:58 +0500 Subject: [PATCH] Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte additional fix(to satisfy Win where CreateFile func does not support the path longer than 260) --- mysql-test/r/create.result | 30 ++++++++++++++++-------------- mysql-test/t/create.test | 29 ++++++++++++++++------------- 2 files changed, 32 insertions(+), 27 deletions(-) diff --git a/mysql-test/r/create.result b/mysql-test/r/create.result index 717201f384a..39b112eb4f6 100644 --- a/mysql-test/r/create.result +++ b/mysql-test/r/create.result @@ -844,6 +844,12 @@ use имя_базы_в_кодировке_утф8_длиной_больше_че select database(); database() имя_базы_в_кодировке_утф8_длиной_больше_чем_45 +use test; +select SCHEMA_NAME from information_schema.schemata +where schema_name='имя_базы_в_кодировке_утф8_длиной_больше_чем_45'; +SCHEMA_NAME +имя_базы_в_кодировке_утф8_длиной_больше_чем_45 +drop database имя_базы_в_кодировке_утф8_длиной_больше_чем_45; create table имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48 ( имя_поля_в_кодировке_утф8_длиной_больше_чем_45 int, @@ -854,26 +860,22 @@ select имя_поля_в_кодировке_утф8_длиной_больше_ from имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48; select * from имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48; имя_поля_в_кодировке_утф8_длиной_больше_чем_45 -select SCHEMA_NAME from information_schema.schemata -where schema_name='имя_базы_в_кодировке_утф8_длиной_больше_чем_45'; -SCHEMA_NAME -имя_базы_в_кодировке_утф8_длиной_больше_чем_45 select TABLE_NAME from information_schema.tables where -table_schema='имя_базы_в_кодировке_утф8_длиной_больше_чем_45'; +table_schema='test'; TABLE_NAME имя_вью_кодировке_утф8_длиной_больше_чем_42 имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48 select COLUMN_NAME from information_schema.columns where -table_schema='имя_базы_в_кодировке_утф8_длиной_больше_чем_45'; +table_schema='test'; COLUMN_NAME имя_поля_в_кодировке_утф8_длиной_больше_чем_45 имя_поля_в_кодировке_утф8_длиной_больше_чем_45 select INDEX_NAME from information_schema.statistics where -table_schema='имя_базы_в_кодировке_утф8_длиной_больше_чем_45'; +table_schema='test'; INDEX_NAME имя_индекса_в_кодировке_утф8_длиной_больше_чем_48 select TABLE_NAME from information_schema.views where -table_schema='имя_базы_в_кодировке_утф8_длиной_больше_чем_45'; +table_schema='test'; TABLE_NAME имя_вью_кодировке_утф8_длиной_больше_чем_42 show create table имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48; @@ -887,7 +889,7 @@ View Create View имя_вью_кодировке_утф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` create event имя_события_в_кодировке_утф8_длиной_больше_чем_48 on schedule every 2 year do select 1; select EVENT_NAME from information_schema.events -where event_schema='имя_базы_в_кодировке_утф8_длиной_больше_чем_45'; +where event_schema='test'; EVENT_NAME имя_события_в_кодировке_утф8_длиной_больше_чем_48 drop event имя_события_в_кодировке_утф8_длиной_больше_чем_48; @@ -898,7 +900,7 @@ ERROR 42000: Identifier name 'очень_очень_очень_очень_оче create trigger имя_триггера_в_кодировке_утф8_длиной_больше_чем_49 before insert on имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48 for each row set @a:=1; select TRIGGER_NAME from information_schema.triggers where -trigger_schema='имя_базы_в_кодировке_утф8_длиной_больше_чем_45'; +trigger_schema='test'; TRIGGER_NAME имя_триггера_в_кодировке_утф8_длиной_больше_чем_49 drop trigger имя_триггера_в_кодировке_утф8_длиной_больше_чем_49; @@ -912,7 +914,7 @@ create procedure имя_процедуры_в_кодировке_утф8_дли begin end; select ROUTINE_NAME from information_schema.routines where -routine_schema='имя_базы_в_кодировке_утф8_длиной_больше_чем_45'; +routine_schema='test'; ROUTINE_NAME имя_процедуры_в_кодировке_утф8_длиной_больше_чем_50 drop procedure имя_процедуры_в_кодировке_утф8_длиной_больше_чем_50; @@ -924,7 +926,7 @@ create function имя_функции_в_кодировке_утф8_длиной returns int return 0; select ROUTINE_NAME from information_schema.routines where -routine_schema='имя_базы_в_кодировке_утф8_длиной_больше_чем_45'; +routine_schema='test'; ROUTINE_NAME имя_функции_в_кодировке_утф8_длиной_больше_чем_49 drop function имя_функции_в_кодировке_утф8_длиной_больше_чем_49; @@ -932,6 +934,6 @@ create function очень_очень_очень_очень_очень_очен returns int return 0; ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длинна' is too long -drop database имя_базы_в_кодировке_утф8_длиной_больше_чем_45; +drop view имя_вью_кодировке_утф8_длиной_больше_чем_42; +drop table имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48; set names default; -use test; diff --git a/mysql-test/t/create.test b/mysql-test/t/create.test index 83553e314a7..4fedea1cb84 100644 --- a/mysql-test/t/create.test +++ b/mysql-test/t/create.test @@ -743,6 +743,12 @@ set names utf8; create database имя_базы_в_кодировке_утф8_длиной_больше_чем_45; use имя_базы_в_кодировке_утф8_длиной_больше_чем_45; select database(); +use test; + +select SCHEMA_NAME from information_schema.schemata +where schema_name='имя_базы_в_кодировке_утф8_длиной_больше_чем_45'; + +drop database имя_базы_в_кодировке_утф8_длиной_больше_чем_45; create table имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48 ( имя_поля_в_кодировке_утф8_длиной_больше_чем_45 int, @@ -756,20 +762,17 @@ from имя_таблицы_в_кодировке_утф8_длиной_больш # database, table, field, key, view select * from имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48; -select SCHEMA_NAME from information_schema.schemata -where schema_name='имя_базы_в_кодировке_утф8_длиной_больше_чем_45'; - select TABLE_NAME from information_schema.tables where -table_schema='имя_базы_в_кодировке_утф8_длиной_больше_чем_45'; +table_schema='test'; select COLUMN_NAME from information_schema.columns where -table_schema='имя_базы_в_кодировке_утф8_длиной_больше_чем_45'; +table_schema='test'; select INDEX_NAME from information_schema.statistics where -table_schema='имя_базы_в_кодировке_утф8_длиной_больше_чем_45'; +table_schema='test'; select TABLE_NAME from information_schema.views where -table_schema='имя_базы_в_кодировке_утф8_длиной_больше_чем_45'; +table_schema='test'; show create table имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48; show create view имя_вью_кодировке_утф8_длиной_больше_чем_42; @@ -778,7 +781,7 @@ show create view имя_вью_кодировке_утф8_длиной_боль create event имя_события_в_кодировке_утф8_длиной_больше_чем_48 on schedule every 2 year do select 1; select EVENT_NAME from information_schema.events -where event_schema='имя_базы_в_кодировке_утф8_длиной_больше_чем_45'; +where event_schema='test'; drop event имя_события_в_кодировке_утф8_длиной_больше_чем_48; --error 1059 create event @@ -788,7 +791,7 @@ on schedule every 2 year do select 1; create trigger имя_триггера_в_кодировке_утф8_длиной_больше_чем_49 before insert on имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48 for each row set @a:=1; select TRIGGER_NAME from information_schema.triggers where -trigger_schema='имя_базы_в_кодировке_утф8_длиной_больше_чем_45'; +trigger_schema='test'; drop trigger имя_триггера_в_кодировке_утф8_длиной_больше_чем_49; --error 1059 create trigger @@ -801,7 +804,7 @@ create procedure имя_процедуры_в_кодировке_утф8_дли begin end; select ROUTINE_NAME from information_schema.routines where -routine_schema='имя_базы_в_кодировке_утф8_длиной_больше_чем_45'; +routine_schema='test'; drop procedure имя_процедуры_в_кодировке_утф8_длиной_больше_чем_50; --error 1059 create procedure очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66() @@ -812,13 +815,13 @@ create function имя_функции_в_кодировке_утф8_длиной returns int return 0; select ROUTINE_NAME from information_schema.routines where -routine_schema='имя_базы_в_кодировке_утф8_длиной_больше_чем_45'; +routine_schema='test'; drop function имя_функции_в_кодировке_утф8_длиной_больше_чем_49; --error 1059 create function очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66() returns int return 0; -drop database имя_базы_в_кодировке_утф8_длиной_больше_чем_45; +drop view имя_вью_кодировке_утф8_длиной_больше_чем_42; +drop table имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48; set names default; -use test;