diff options
author | unknown <gluh@mysql.com/eagle.(none)> | 2007-04-03 16:13:27 +0500 |
---|---|---|
committer | unknown <gluh@mysql.com/eagle.(none)> | 2007-04-03 16:13:27 +0500 |
commit | d05bbb4f46ee6399dd9ffd67d2fbc25ce1410d89 (patch) | |
tree | 43cf3af5e63ac68035fb4a0461b4e0e7da5d00bb /mysql-test/t/create.test | |
parent | 7a8e12656f8dbe5e0bf9f1467d73ec31753cfbe0 (diff) | |
download | mariadb-git-d05bbb4f46ee6399dd9ffd67d2fbc25ce1410d89.tar.gz |
Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
client/mysqldump.c:
fixed typo
include/mysql_com.h:
added new constants SYSTEM_CHARSET_MBMAXLEN, NAME_CHAR_LEN, USERNAME_CHAR_LENGTH
increased NAME_LEN, USERNAME_LENGTH
mysql-test/r/create.result:
result fix
mysql-test/r/grant.result:
result fix
mysql-test/r/mysql.result:
result fix
mysql-test/r/sp.result:
result fix
mysql-test/t/create.test:
test case
mysql-test/t/grant.test:
test case
sql/events.cc:
NAME_LEN is replaced with NAME_CHAR_LEN
sql/item_strfunc.h:
fixed calculation of max_length
sql/mysql_priv.h:
check_string_length function is replaced with check_string_byte_length
added new function check_string_char_length
sql/sp.cc:
NAME_LEN is replaced with NAME_CHAR_LEN
sql/sp_head.cc:
NAME_LEN is replaced with NAME_CHAR_LEN
sql/sp_head.h:
changed parameter of 'check_routine_name' function
sql/sql_class.cc:
NAME_LEN is replaced with NAME_CHAR_LEN
sql/share/errmsg.txt:
increased argument lengths according to new constants
sql/sql_parse.cc:
removed unnecessary checks
added function 'check_string_char_length'
sql/sql_plugin.cc:
check that name is not longer than NAME_CHAR_LEN symbols
sql/sql_show.cc:
NAME_LEN is replaced with NAME_CHAR_LEN
sql/sql_table.cc:
check that key name is not longer than NAME_LEN symbols
sql/sql_udf.cc:
check that udf name is not longer than NAME_CHAR_LEN symbols
sql/sql_yacc.yy:
check that user name is not longer than USERNAME_CHAR_LENGTH symbols
sql/table.cc:
check that db or table or column name is not longer than NAME_LEN symbols
storage/innobase/handler/ha_innodb.cc:
removed unnecessary multiplication
tests/mysql_client_test.c:
NAME_LEN is replaced with NAME_CHAR_LEN
Diffstat (limited to 'mysql-test/t/create.test')
-rw-r--r-- | mysql-test/t/create.test | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/mysql-test/t/create.test b/mysql-test/t/create.test index ffdcee06488..83553e314a7 100644 --- a/mysql-test/t/create.test +++ b/mysql-test/t/create.test @@ -734,3 +734,91 @@ drop database mysqltest; USE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa; --error 1102 SHOW CREATE DATABASE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa; + +# +# Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte +# +set names utf8; + +create database имя_базы_в_кодировке_утф8_длиной_больше_чем_45; +use имя_базы_в_кодировке_утф8_длиной_больше_чем_45; +select database(); +create table имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48 +( + имя_поля_в_кодировке_утф8_длиной_больше_чем_45 int, + index имя_индекса_в_кодировке_утф8_длиной_больше_чем_48 (имя_поля_в_кодировке_утф8_длиной_больше_чем_45) +); + +create view имя_вью_кодировке_утф8_длиной_больше_чем_42 as +select имя_поля_в_кодировке_утф8_длиной_больше_чем_45 +from имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48; + +# 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'; + +select COLUMN_NAME from information_schema.columns where +table_schema='имя_базы_в_кодировке_утф8_длиной_больше_чем_45'; + +select INDEX_NAME from information_schema.statistics where +table_schema='имя_базы_в_кодировке_утф8_длиной_больше_чем_45'; + +select TABLE_NAME from information_schema.views where +table_schema='имя_базы_в_кодировке_утф8_длиной_больше_чем_45'; + +show create table имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48; +show create view имя_вью_кодировке_утф8_длиной_больше_чем_42; + +# procedure, function, event, trigger + +create event имя_события_в_кодировке_утф8_длиной_больше_чем_48 on schedule every 2 year do select 1; +select EVENT_NAME from information_schema.events +where event_schema='имя_базы_в_кодировке_утф8_длиной_больше_чем_45'; +drop event имя_события_в_кодировке_утф8_длиной_больше_чем_48; +--error 1059 +create event +очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66 +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'; +drop trigger имя_триггера_в_кодировке_утф8_длиной_больше_чем_49; +--error 1059 +create trigger +очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66 +before insert on имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48 for each row set @a:=1; +--error 1059 +drop trigger очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66; + +create procedure имя_процедуры_в_кодировке_утф8_длиной_больше_чем_50() +begin +end; +select ROUTINE_NAME from information_schema.routines where +routine_schema='имя_базы_в_кодировке_утф8_длиной_больше_чем_45'; +drop procedure имя_процедуры_в_кодировке_утф8_длиной_больше_чем_50; +--error 1059 +create procedure очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66() +begin +end; + +create function имя_функции_в_кодировке_утф8_длиной_больше_чем_49() + returns int +return 0; +select ROUTINE_NAME from information_schema.routines where +routine_schema='имя_базы_в_кодировке_утф8_длиной_больше_чем_45'; +drop function имя_функции_в_кодировке_утф8_длиной_больше_чем_49; +--error 1059 +create function очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66() + returns int +return 0; + +drop database имя_базы_в_кодировке_утф8_длиной_больше_чем_45; +set names default; +use test; |