Skip to content

Commit f305a7c

Browse files
committed
bugfix: long partition names
1 parent a7ed464 commit f305a7c

File tree

5 files changed

+253
-134
lines changed

5 files changed

+253
-134
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
set names utf8;
2+
create database mysqltest1;
3+
CREATE TABLE mysqltest1.test_jfg_table_name_with_64_chars_123456789012345678901234567890 (
4+
id int(10) unsigned NOT NULL,
5+
id2 int(10) unsigned NOT NULL,
6+
PRIMARY KEY ( id, id2 )
7+
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
8+
PARTITION BY RANGE ( id )
9+
SUBPARTITION BY HASH ( id2 )
10+
SUBPARTITIONS 2 (
11+
PARTITION test_jfg_partition_name_with_60_chars_1234567890123456789012 VALUES LESS THAN (1000) ENGINE = InnoDB,
12+
PARTITION pmax VALUES LESS THAN MAXVALUE ENGINE = InnoDB);
13+
Warnings:
14+
Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_per_table.
15+
Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
16+
Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_per_table.
17+
Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
18+
Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_per_table.
19+
Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
20+
Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_per_table.
21+
Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
22+
CREATE TABLE mysqltest1.éééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééé (
23+
id int(10) unsigned NOT NULL,
24+
id2 int(10) unsigned NOT NULL,
25+
PRIMARY KEY ( id, id2 )
26+
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
27+
PARTITION BY RANGE ( id )
28+
SUBPARTITION BY HASH ( id2 )
29+
SUBPARTITIONS 2 (
30+
PARTITION çççççççççççççççççççççççççççççççççççççççççççççççççççççççççççç VALUES LESS THAN (1000) ENGINE = InnoDB,
31+
PARTITION pmax VALUES LESS THAN MAXVALUE ENGINE = InnoDB);
32+
ERROR HY000: The path specified for @0n@0n@0n@0n@0n@0n@0n@0n@0n@0n@0n@0n@0n@0n@0n@0n@0n@0n@0n@0n@0n@ is too long.
33+
drop database mysqltest1;
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
source include/have_innodb.inc;
2+
source include/have_partition.inc;
3+
set names utf8;
4+
5+
create database mysqltest1;
6+
CREATE TABLE mysqltest1.test_jfg_table_name_with_64_chars_123456789012345678901234567890 (
7+
id int(10) unsigned NOT NULL,
8+
id2 int(10) unsigned NOT NULL,
9+
PRIMARY KEY ( id, id2 )
10+
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
11+
PARTITION BY RANGE ( id )
12+
SUBPARTITION BY HASH ( id2 )
13+
SUBPARTITIONS 2 (
14+
PARTITION test_jfg_partition_name_with_60_chars_1234567890123456789012 VALUES LESS THAN (1000) ENGINE = InnoDB,
15+
PARTITION pmax VALUES LESS THAN MAXVALUE ENGINE = InnoDB);
16+
17+
--error ER_PATH_LENGTH
18+
CREATE TABLE mysqltest1.éééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééé (
19+
id int(10) unsigned NOT NULL,
20+
id2 int(10) unsigned NOT NULL,
21+
PRIMARY KEY ( id, id2 )
22+
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
23+
PARTITION BY RANGE ( id )
24+
SUBPARTITION BY HASH ( id2 )
25+
SUBPARTITIONS 2 (
26+
PARTITION çççççççççççççççççççççççççççççççççççççççççççççççççççççççççççç VALUES LESS THAN (1000) ENGINE = InnoDB,
27+
PARTITION pmax VALUES LESS THAN MAXVALUE ENGINE = InnoDB);
28+
29+
drop database mysqltest1;

0 commit comments

Comments
 (0)