# # Problem with creating keys with maximum key-parts and maximum name length # This test is made for a mysql server supporting names up to 64 BYTE # and a maximum of 16 key segements per Key # --disable_warnings drop table if exists t1; --enable_warnings create table t1 ( c1 char(10), c2 char(10), c3 char(10), c4 char(10), c5 char(10), c6 char(10), c7 char(10), c8 char(10), c9 char(10), c10 char(10),c11 char(10), c12 char(10), c13 char(10),c14 char(10), c15 char(10), c16 char(10) ); alter table t1 add key a001_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a002_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a003_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a004_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a005_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a006_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a007_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a008_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a009_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a010_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a011_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a012_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a013_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a014_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a015_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a016_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a017_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a018_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a019_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a020_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a021_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a022_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a023_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a024_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a025_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a026_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a027_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a028_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a029_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a030_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a031_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a032_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a033_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a034_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a035_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a036_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a037_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a038_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a039_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a040_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a041_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a042_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a043_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a044_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a045_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a046_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a047_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a048_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a049_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a050_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a051_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a052_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a053_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a054_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a055_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a056_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a057_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a058_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a059_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a060_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a061_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a062_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a063_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); alter table t1 add key a064_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); # Check that the table is not corrupted show create table t1; flush tables; show create table t1; # now make sure we get an error. only allowed 64 keys --error 1069 alter table t1 add key a065_long_123456789_123456789_123456789_123456789_123456789_1234 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`); drop table t1; # ensure 16 key parts was really the max allowed. # if this passes, all above tests need to be rewrittent to hit the limit create table t1 ( c1 char(10), c2 char(10), c3 char(10), c4 char(10), c5 char(10), c6 char(10), c7 char(10), c8 char(10), c9 char(10), c10 char(10),c11 char(10), c12 char(10), c13 char(10),c14 char(10), c15 char(10), c16 char(10), c17 char(10) ); # Get error for max key parts --error 1070 alter table t1 add key i1 (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`,`c7`,`c8`,`c9`,`c10`,`c11`,`c12`,`c13`,`c14`,`c15`,`c16`, `c17`); # Get error for max key-name length --error 1059 alter table t1 add key a001_long_123456789_123456789_123456789_123456789_123456789_12345 (`c1`); show create table t1; drop table t1;