mirror of
https://github.com/MariaDB/server.git
synced 2025-04-09 08:45:33 +02:00

--embed versioning.partition main.create_or_replace atomic.create_replace_no_binlog atomic.create_table_no_binlog main.create_not_windows period.create
33 lines
2.8 KiB
Text
33 lines
2.8 KiB
Text
#
|
|
# MDEV-25292 Atomic CREATE OR REPLACE TABLE
|
|
#
|
|
# Test multi-byte characters in table name
|
|
set names utf8;
|
|
# Filename is too long because it is converted to @274e@274e@274e@274e...
|
|
# so each '❎' is 5 bytes in filesystem, 51 x 5 = 255 bytes
|
|
create table ❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎ (x int);
|
|
ERROR HY000: Can't create table `test`.`❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎` (errno: 36 "File name too long")
|
|
# Let's find out max length for '❎'...
|
|
# Acceptable name length: 50; Filename length: 254
|
|
# OK with 64-characters table name, filesystem name is 40 x 5 + 24 = 224 bytes
|
|
create table tttttttttttttttttttttttt❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎ (x int);
|
|
# Not OK with 65-characters table name
|
|
create table ttttttttttttttttttttttttt❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎ (x int);
|
|
ERROR 42000: Incorrect table name 'ttttttttttttttttttttttttt❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎'
|
|
show tables;
|
|
Tables_in_test
|
|
tttttttttttttttttttttttt❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎
|
|
create or replace table tttttttttttttttttttttttt❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎ (y int);
|
|
show create table tttttttttttttttttttttttt❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎;
|
|
Table Create Table
|
|
tttttttttttttttttttttttt❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎ CREATE TABLE `tttttttttttttttttttttttt❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎` (
|
|
`y` int(11) DEFAULT NULL
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
|
|
set @@debug_dbug="+d,ddl_log_create_before_binlog", @debug_crash_counter=1;
|
|
create or replace table tttttttttttttttttttttttt❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎ (z int);
|
|
ERROR HY000: Lost connection to server during query
|
|
#sql-create-PID-TID-SEQ.MYD
|
|
#sql-create-PID-TID-SEQ.MYI
|
|
#sql-create-PID-TID-SEQ.frm
|
|
drop table tttttttttttttttttttttttt❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎;
|
|
set @@debug_dbug="";
|