# #################################################################### # Bug11753491: MYSQLD CRASHES WHEN CREATING A CLUSTER TABLE WITH 64 # CHARACTER TABLE NAME # #################################################################### create table abcdefghijklmnopqrstuvwxyz1234567890bcdefghijklmnopqrstuvwxyz123( id int primary key ) engine=ndb; drop table abcdefghijklmnopqrstuvwxyz1234567890bcdefghijklmnopqrstuvwxyz123; # ############################################################ # Bug19550973: CREATE/DROP DATABASE STATEMENT SEGFAULTS IF # IDENTIFIER LENGTH IS >=64 # ############################################################ # # 1. Testing schema identifier with length 63 # CREATE DATABASE abcdefghijklmnopqrstuvwxyz1234567890bcdefghijklmnopqrstuvwxyz12; # Create and drop table to test the long database name CREATE TABLE abcdefghijklmnopqrstuvwxyz1234567890bcdefghijklmnopqrstuvwxyz12.t1 ( a int ) ENGINE=NDB; DROP TABLE abcdefghijklmnopqrstuvwxyz1234567890bcdefghijklmnopqrstuvwxyz12.t1; DROP DATABASE abcdefghijklmnopqrstuvwxyz1234567890bcdefghijklmnopqrstuvwxyz12; # # 2. Testing schema identifier with length 64 # CREATE DATABASE abcdefghijklmnopqrstuvwxyz1234567890bcdefghijklmnopqrstuvwxyz123; # Verify database existence USE abcdefghijklmnopqrstuvwxyz1234567890bcdefghijklmnopqrstuvwxyz123; # Create non NDB table CREATE TABLE t1 ( a int ); # Create NDB table CREATE TABLE t2 ( a int ) ENGINE=NDB; # # 3. Databases with identifier length = 64 is synchronized to other # MySQL Servers. Verify that the above created dabatase is present # in the other Server # NOTE! This testcase was fixed by BUG#27447958 which extended ndb_schema # to support identifiers > 63 # USE abcdefghijklmnopqrstuvwxyz1234567890bcdefghijklmnopqrstuvwxyz123; # # 4. Testing alter database # ALTER DATABASE abcdefghijklmnopqrstuvwxyz1234567890bcdefghijklmnopqrstuvwxyz123 character set=utf8mb4; CREATE DATABASE db1; CREATE TABLE db1.t1 ( a int ) ENGINE=NDB; CREATE TABLE db1.t2 ( a int ) ENGINE=NDB; # # 4.1 Renaming table to long database name # ALTER TABLE db1.t1 RENAME abcdefghijklmnopqrstuvwxyz1234567890bcdefghijklmnopqrstuvwxyz123.t3; # # 4.2 Renaming table to long table name # ALTER TABLE db1.t2 RENAME db1.abcdefghijklmnopqrstuvwxyz1234567890bcdefghijklmnopqrstuvwxyz123; DROP DATABASE db1; DROP DATABASE abcdefghijklmnopqrstuvwxyz1234567890bcdefghijklmnopqrstuvwxyz123; # Checking that database doesn't exists USE abcdefghijklmnopqrstuvwxyz1234567890bcdefghijklmnopqrstuvwxyz123; ERROR 42000: Unknown database 'abcdefghijklmnopqrstuvwxyz1234567890bcdefghijklmnopqrstuvwxyz123' # # 5. Testing schema identifier with length 65, should fail # NOTE! The MySQL Server limit is 64 and thus it rejects length 65 # CREATE DATABASE abcdefghijklmnopqrstuvwxyz1234567890bcdefghijklmnopqrstuvwxyz1234; ERROR 42000: Identifier name 'abcdefghijklmnopqrstuvwxyz1234567890bcdefghijklmnopqrstuvwxyz1234' is too long