mirror of
https://github.com/MariaDB/server.git
synced 2025-01-30 18:41:56 +01:00
48 lines
2.7 KiB
Text
48 lines
2.7 KiB
Text
#
|
|
# Test the limits of a file-per-table tablespace name. MySQL combines
|
|
# the database name with the table name to make a unique table name.
|
|
#
|
|
SET default_storage_engine=InnoDB;
|
|
#
|
|
# MySQL limits each database and tablename identifier to 64 characters
|
|
# of up to 3 bytes per character, corresponding to 192 bytes.
|
|
#
|
|
CREATE DATABASE `this_sixty_five_byte_name_is_too_long____________________________`;
|
|
ERROR 42000: Incorrect database name 'this_sixty_five_byte_name_is_too_long____________________________'
|
|
CREATE DATABASE `this_sixty_four_byte_name_is_not_too_long_______________________`;
|
|
USE `this_sixty_four_byte_name_is_not_too_long_______________________`;
|
|
#
|
|
# A 64 character tablename can be created in a 64 character database name
|
|
#
|
|
CREATE TABLE `this_sixty_four_byte_name_is_not_too_long_______________________`.`this_sixty_four_byte_name_is_not_too_long_______________________` (a SERIAL);
|
|
#
|
|
# A 65 character tablename is too long.
|
|
#
|
|
CREATE TABLE `test`.`this_sixty_five_byte_name_is_too_long____________________________` (a SERIAL);
|
|
ERROR 42000: Incorrect table name 'this_sixty_five_byte_name_is_too_long____________________________'
|
|
CREATE TABLE `this_sixty_four_byte_name_is_not_too_long_______________________`.`this_sixty_five_byte_name_is_too_long____________________________` (a SERIAL);
|
|
ERROR 42000: Incorrect table name 'this_sixty_five_byte_name_is_too_long____________________________'
|
|
#
|
|
# Show the successfully created database and table
|
|
#
|
|
SHOW CREATE TABLE `this_sixty_four_byte_name_is_not_too_long_______________________`.`this_sixty_four_byte_name_is_not_too_long_______________________`;
|
|
Table Create Table
|
|
this_sixty_four_byte_name_is_not_too_long_______________________ CREATE TABLE `this_sixty_four_byte_name_is_not_too_long_______________________` (
|
|
`a` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
|
UNIQUE KEY `a` (`a`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
|
---- list_files MYSQLD_DATADIR/this_sixty_four_byte_name_is_not_too_long_______________________
|
|
db.opt
|
|
this_sixty_four_byte_name_is_not_too_long_______________________.frm
|
|
this_sixty_four_byte_name_is_not_too_long_______________________.ibd
|
|
SELECT name FROM information_schema.innodb_sys_tables WHERE name LIKE '%long%';
|
|
name
|
|
this_sixty_four_byte_name_is_not_too_long_______________________/this_sixty_four_byte_name_is_not_too_long_______________________
|
|
SELECT name FROM information_schema.innodb_sys_tablespaces WHERE name LIKE '%long%';
|
|
name
|
|
this_sixty_four_byte_name_is_not_too_long_______________________/this_sixty_four_byte_name_is_not_too_long_______________________
|
|
SELECT file_name, tablespace_name FROM information_schema.files WHERE file_name LIKE '%long%';
|
|
#
|
|
# Cleanup
|
|
#
|
|
DROP DATABASE `this_sixty_four_byte_name_is_not_too_long_______________________`;
|