1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-01 03:47:19 +03:00

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)
This commit is contained in:
gluh@mysql.com/eagle.(none)
2007-04-04 17:36:58 +05:00
parent 8c18c3ea0c
commit f8fb7a404b
2 changed files with 32 additions and 27 deletions

View File

@ -844,6 +844,12 @@ use имя_базы_в_кодировке_утф8_длиной_большее
select database(); select database();
database() database()
имя_базы_в_кодировке_утф8_длиной_большеем_45 имя_базы_в_кодировке_утф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 create table имя_таблицы_в_кодировке_утф8_длиной_большеем_48
( (
имя_поля_в_кодировке_утф8_длиной_большеем_45 int, имя_поля_в_кодировке_утф8_длиной_большеем_45 int,
@ -854,26 +860,22 @@ select имя_поля_в_кодировке_утф8_длиной_больше_
from имя_таблицы_в_кодировке_утф8_длиной_большеем_48; from имя_таблицы_в_кодировке_утф8_длиной_большеем_48;
select * from имя_таблицы_в_кодировке_утф8_длиной_большеем_48; select * from имя_таблицы_в_кодировке_утф8_длиной_большеем_48;
имя_поля_в_кодировке_утф8_длиной_большеем_45 имя_поля_в_кодировке_утф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 select TABLE_NAME from information_schema.tables where
table_schema='имя_базы_в_кодировке_утф8_длиной_большеем_45'; table_schema='test';
TABLE_NAME TABLE_NAME
имя_вью_кодировке_утф8_длиной_большеем_42 имя_вью_кодировке_утф8_длиной_большеем_42
имя_таблицы_в_кодировке_утф8_длиной_большеем_48 имя_таблицы_в_кодировке_утф8_длиной_большеем_48
select COLUMN_NAME from information_schema.columns where select COLUMN_NAME from information_schema.columns where
table_schema='имя_базы_в_кодировке_утф8_длиной_большеем_45'; table_schema='test';
COLUMN_NAME COLUMN_NAME
имя_поля_в_кодировке_утф8_длиной_большеем_45 имя_поля_в_кодировке_утф8_длиной_большеем_45
имя_поля_в_кодировке_утф8_длиной_большеем_45 имя_поля_в_кодировке_утф8_длиной_большеем_45
select INDEX_NAME from information_schema.statistics where select INDEX_NAME from information_schema.statistics where
table_schema='имя_базы_в_кодировке_утф8_длиной_большеем_45'; table_schema='test';
INDEX_NAME INDEX_NAME
имя_индекса_в_кодировке_утф8_длиной_большеем_48 имя_индекса_в_кодировке_утф8_длиной_большеем_48
select TABLE_NAME from information_schema.views where select TABLE_NAME from information_schema.views where
table_schema='имя_базы_в_кодировке_утф8_длиной_большеем_45'; table_schema='test';
TABLE_NAME TABLE_NAME
имя_вью_кодировке_утф8_длиной_большеем_42 имя_вью_кодировке_утф8_длиной_большеем_42
show create table имя_таблицы_в_кодировке_утф8_длиной_большеем_48; 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` имя_вью_кодировке_утф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; create event имя_события_в_кодировке_утф8_длиной_большеем_48 on schedule every 2 year do select 1;
select EVENT_NAME from information_schema.events select EVENT_NAME from information_schema.events
where event_schema='имя_базы_в_кодировке_утф8_длиной_большеем_45'; where event_schema='test';
EVENT_NAME EVENT_NAME
имя_события_в_кодировке_утф8_длиной_большеем_48 имя_события_в_кодировке_утф8_длиной_большеем_48
drop event имя_события_в_кодировке_утф8_длиной_большеем_48; drop event имя_события_в_кодировке_утф8_длиной_большеем_48;
@ -898,7 +900,7 @@ ERROR 42000: Identifier name 'очень_очень_очень_очень_оче
create trigger имя_триггера_в_кодировке_утф8_длиной_большеем_49 create trigger имя_триггера_в_кодировке_утф8_длиной_большеем_49
before insert on имя_таблицы_в_кодировке_утф8_длиной_большеем_48 for each row set @a:=1; before insert on имя_таблицы_в_кодировке_утф8_длиной_большеем_48 for each row set @a:=1;
select TRIGGER_NAME from information_schema.triggers where select TRIGGER_NAME from information_schema.triggers where
trigger_schema='имя_базы_в_кодировке_утф8_длиной_большеем_45'; trigger_schema='test';
TRIGGER_NAME TRIGGER_NAME
имя_триггера_в_кодировке_утф8_длиной_большеем_49 имя_триггера_в_кодировке_утф8_длиной_большеем_49
drop trigger имя_триггера_в_кодировке_утф8_длиной_большеем_49; drop trigger имя_триггера_в_кодировке_утф8_длиной_большеем_49;
@ -912,7 +914,7 @@ create procedure имя_процедуры_в_кодировке_утф8_дли
begin begin
end; end;
select ROUTINE_NAME from information_schema.routines where select ROUTINE_NAME from information_schema.routines where
routine_schema='имя_базы_в_кодировке_утф8_длиной_большеем_45'; routine_schema='test';
ROUTINE_NAME ROUTINE_NAME
имя_процедуры_в_кодировке_утф8_длиной_большеем_50 имя_процедуры_в_кодировке_утф8_длиной_большеем_50
drop procedure имя_процедуры_в_кодировке_утф8_длиной_большеем_50; drop procedure имя_процедуры_в_кодировке_утф8_длиной_большеем_50;
@ -924,7 +926,7 @@ create function имя_функции_в_кодировке_утф8_длиной
returns int returns int
return 0; return 0;
select ROUTINE_NAME from information_schema.routines where select ROUTINE_NAME from information_schema.routines where
routine_schema='имя_базы_в_кодировке_утф8_длиной_большеем_45'; routine_schema='test';
ROUTINE_NAME ROUTINE_NAME
имя_функции_в_кодировке_утф8_длиной_большеем_49 имя_функции_в_кодировке_утф8_длиной_большеем_49
drop function имя_функции_в_кодировке_утф8_длиной_большеем_49; drop function имя_функции_в_кодировке_утф8_длиной_большеем_49;
@ -932,6 +934,6 @@ create function очень_очень_очень_очень_очень_очен
returns int returns int
return 0; return 0;
ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длинна' is too long ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длинна' is too long
drop database имя_базы_водировке_утф8_длиной_большеем_45; drop view имя_вьюодировке_утф8_длиной_большеем_42;
drop table имя_таблицы_в_кодировке_утф8_длиной_большеем_48;
set names default; set names default;
use test;

View File

@ -743,6 +743,12 @@ set names utf8;
create database имя_базы_в_кодировке_утф8_длиной_большеем_45; create database имя_базы_в_кодировке_утф8_длиной_большеем_45;
use имя_базы_в_кодировке_утф8_длиной_большеем_45; use имя_базы_в_кодировке_утф8_длиной_большеем_45;
select database(); select database();
use test;
select SCHEMA_NAME from information_schema.schemata
where schema_name='имя_базы_в_кодировке_утф8_длиной_большеем_45';
drop database имя_базы_в_кодировке_утф8_длиной_большеем_45;
create table имя_таблицы_в_кодировке_утф8_длиной_большеем_48 create table имя_таблицы_в_кодировке_утф8_длиной_большеем_48
( (
имя_поля_в_кодировке_утф8_длиной_большеем_45 int, имя_поля_в_кодировке_утф8_длиной_большеем_45 int,
@ -756,20 +762,17 @@ from имя_таблицы_в_кодировке_утф8_длиной_больш
# database, table, field, key, view # database, table, field, key, view
select * from имя_таблицы_в_кодировке_утф8_длиной_большеем_48; select * from имя_таблицы_в_кодировке_утф8_длиной_большеем_48;
select SCHEMA_NAME from information_schema.schemata
where schema_name='имя_базы_в_кодировке_утф8_длиной_большеем_45';
select TABLE_NAME from information_schema.tables where select TABLE_NAME from information_schema.tables where
table_schema='имя_базы_в_кодировке_утф8_длиной_большеем_45'; table_schema='test';
select COLUMN_NAME from information_schema.columns where select COLUMN_NAME from information_schema.columns where
table_schema='имя_базы_в_кодировке_утф8_длиной_большеем_45'; table_schema='test';
select INDEX_NAME from information_schema.statistics where select INDEX_NAME from information_schema.statistics where
table_schema='имя_базы_в_кодировке_утф8_длиной_большеем_45'; table_schema='test';
select TABLE_NAME from information_schema.views where select TABLE_NAME from information_schema.views where
table_schema='имя_базы_в_кодировке_утф8_длиной_большеем_45'; table_schema='test';
show create table имя_таблицы_в_кодировке_утф8_длиной_большеем_48; show create table имя_таблицы_в_кодировке_утф8_длиной_большеем_48;
show create view имя_вью_кодировке_утф8_длиной_большеем_42; 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; create event имя_события_в_кодировке_утф8_длиной_большеем_48 on schedule every 2 year do select 1;
select EVENT_NAME from information_schema.events select EVENT_NAME from information_schema.events
where event_schema='имя_базы_в_кодировке_утф8_длиной_большеем_45'; where event_schema='test';
drop event имя_события_в_кодировке_утф8_длиной_большеем_48; drop event имя_события_в_кодировке_утф8_длиной_большеем_48;
--error 1059 --error 1059
create event create event
@ -788,7 +791,7 @@ on schedule every 2 year do select 1;
create trigger имя_триггера_в_кодировке_утф8_длиной_большеем_49 create trigger имя_триггера_в_кодировке_утф8_длиной_большеем_49
before insert on имя_таблицы_в_кодировке_утф8_длиной_большеем_48 for each row set @a:=1; before insert on имя_таблицы_в_кодировке_утф8_длиной_большеем_48 for each row set @a:=1;
select TRIGGER_NAME from information_schema.triggers where select TRIGGER_NAME from information_schema.triggers where
trigger_schema='имя_базы_в_кодировке_утф8_длиной_большеем_45'; trigger_schema='test';
drop trigger имя_триггера_в_кодировке_утф8_длиной_большеем_49; drop trigger имя_триггера_в_кодировке_утф8_длиной_большеем_49;
--error 1059 --error 1059
create trigger create trigger
@ -801,7 +804,7 @@ create procedure имя_процедуры_в_кодировке_утф8_дли
begin begin
end; end;
select ROUTINE_NAME from information_schema.routines where select ROUTINE_NAME from information_schema.routines where
routine_schema='имя_базы_в_кодировке_утф8_длиной_большеем_45'; routine_schema='test';
drop procedure имя_процедуры_в_кодировке_утф8_длиной_большеем_50; drop procedure имя_процедуры_в_кодировке_утф8_длиной_большеем_50;
--error 1059 --error 1059
create procedure очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66() create procedure очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66()
@ -812,13 +815,13 @@ create function имя_функции_в_кодировке_утф8_длиной
returns int returns int
return 0; return 0;
select ROUTINE_NAME from information_schema.routines where select ROUTINE_NAME from information_schema.routines where
routine_schema='имя_базы_в_кодировке_утф8_длиной_большеем_45'; routine_schema='test';
drop function имя_функции_в_кодировке_утф8_длиной_большеем_49; drop function имя_функции_в_кодировке_утф8_длиной_большеем_49;
--error 1059 --error 1059
create function очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66() create function очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66()
returns int returns int
return 0; return 0;
drop database имя_базы_водировке_утф8_длиной_большеем_45; drop view имя_вьюодировке_утф8_длиной_большеем_42;
drop table имя_таблицы_в_кодировке_утф8_длиной_большеем_48;
set names default; set names default;
use test;