@@ -267,8 +267,8 @@ public function testShowCreateTable1() {
267
267
ID BIGINT PRIMARY KEY AUTO_INCREMENT NOT NULL,
268
268
option_name VARCHAR(255) default '',
269
269
option_value TEXT NOT NULL,
270
- UNIQUE KEY option_name (option_name),
271
- KEY composite (option_name, option_value)
270
+ UNIQUE KEY option_name (option_name(100) ),
271
+ KEY composite (option_name(100) , option_value(100) )
272
272
); "
273
273
);
274
274
@@ -283,8 +283,8 @@ public function testShowCreateTable1() {
283
283
`option_name` varchar(255) DEFAULT '',
284
284
`option_value` text NOT NULL DEFAULT '',
285
285
PRIMARY KEY (`ID`),
286
- KEY `composite` (`option_name`, `option_value`),
287
- UNIQUE KEY `option_name` (`option_name`)
286
+ KEY `composite` (`option_name`(100) , `option_value`(100) ),
287
+ UNIQUE KEY `option_name` (`option_name`(100) )
288
288
); " ,
289
289
$ results [0 ]->{'Create Table ' }
290
290
);
@@ -337,8 +337,8 @@ public function testShowCreateTableQuoted() {
337
337
ID BIGINT PRIMARY KEY AUTO_INCREMENT NOT NULL,
338
338
option_name VARCHAR(255) default '',
339
339
option_value TEXT NOT NULL,
340
- UNIQUE KEY option_name (option_name),
341
- KEY composite (option_name, option_value)
340
+ UNIQUE KEY option_name (option_name(100) ),
341
+ KEY composite (option_name, option_value(100) )
342
342
); "
343
343
);
344
344
@@ -353,8 +353,8 @@ public function testShowCreateTableQuoted() {
353
353
`option_name` varchar(255) DEFAULT '',
354
354
`option_value` text NOT NULL DEFAULT '',
355
355
PRIMARY KEY (`ID`),
356
- KEY `composite` (`option_name`, `option_value`),
357
- UNIQUE KEY `option_name` (`option_name`)
356
+ KEY `composite` (`option_name`(100) , `option_value`(100) ),
357
+ UNIQUE KEY `option_name` (`option_name`(100) )
358
358
); " ,
359
359
$ results [0 ]->{'Create Table ' }
360
360
);
@@ -418,8 +418,8 @@ public function testCreateTablseWithIdenticalIndexNames() {
418
418
ID BIGINT PRIMARY KEY AUTO_INCREMENT NOT NULL,
419
419
option_name VARCHAR(255) default '',
420
420
option_value TEXT NOT NULL,
421
- KEY `option_name` (`option_name`),
422
- KEY `double__underscores` (`option_name`, `ID`)
421
+ KEY `option_name` (`option_name`(100) ),
422
+ KEY `double__underscores` (`option_name`(100) , `ID`)
423
423
); "
424
424
);
425
425
@@ -428,8 +428,8 @@ public function testCreateTablseWithIdenticalIndexNames() {
428
428
ID BIGINT PRIMARY KEY AUTO_INCREMENT NOT NULL,
429
429
option_name VARCHAR(255) default '',
430
430
option_value TEXT NOT NULL,
431
- KEY `option_name` (`option_name`),
432
- KEY `double__underscores` (`option_name`, `ID`)
431
+ KEY `option_name` (`option_name`(100) ),
432
+ KEY `double__underscores` (`option_name`(100) , `ID`)
433
433
); "
434
434
);
435
435
}
@@ -440,8 +440,8 @@ public function testShowCreateTablePreservesDoubleUnderscoreKeyNames() {
440
440
ID BIGINT PRIMARY KEY AUTO_INCREMENT NOT NULL,
441
441
option_name VARCHAR(255) default '',
442
442
option_value TEXT NOT NULL,
443
- KEY `option_name` (`option_name`),
444
- KEY `double__underscores` (`option_name`, `ID`)
443
+ KEY `option_name` (`option_name`(100) ),
444
+ KEY `double__underscores` (`option_name`(100) , `ID`)
445
445
); "
446
446
);
447
447
@@ -455,8 +455,43 @@ public function testShowCreateTablePreservesDoubleUnderscoreKeyNames() {
455
455
`option_name` varchar(255) DEFAULT \'\',
456
456
`option_value` text NOT NULL DEFAULT \'\',
457
457
PRIMARY KEY (`ID`),
458
- KEY `double__underscores` (`option_name`, `ID`),
459
- KEY `option_name` (`option_name`)
458
+ KEY `double__underscores` (`option_name`(100), `ID`),
459
+ KEY `option_name` (`option_name`(100))
460
+ ); ' ,
461
+ $ results [0 ]->{'Create Table ' }
462
+ );
463
+ }
464
+
465
+ public function testShowCreateTableLimitsKeyLengths () {
466
+ $ this ->assertQuery (
467
+ 'CREATE TABLE _tmp__table (
468
+ `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
469
+ `order_id` bigint(20) unsigned DEFAULT NULL,
470
+ `meta_key` varchar(20) DEFAULT NULL,
471
+ `meta_value` text DEFAULT NULL,
472
+ `meta_data` mediumblob DEFAULT NULL,
473
+ PRIMARY KEY (`id`),
474
+ KEY `meta_key_value` (`meta_key`(20),`meta_value`(82)),
475
+ KEY `order_id_meta_key_meta_value` (`order_id`,`meta_key`(100),`meta_value`(82)),
476
+ KEY `order_id_meta_key_meta_data` (`order_id`,`meta_key`(100),`meta_data`(100))
477
+ ); '
478
+ );
479
+
480
+ $ this ->assertQuery (
481
+ 'SHOW CREATE TABLE _tmp__table; '
482
+ );
483
+ $ results = $ this ->engine ->get_query_results ();
484
+ $ this ->assertEquals (
485
+ 'CREATE TABLE `_tmp__table` (
486
+ `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
487
+ `order_id` bigint(20) unsigned DEFAULT NULL,
488
+ `meta_key` varchar(20) DEFAULT NULL,
489
+ `meta_value` text DEFAULT NULL,
490
+ `meta_data` mediumblob DEFAULT NULL,
491
+ PRIMARY KEY (`id`),
492
+ KEY `order_id_meta_key_meta_data` (`order_id`, `meta_key`(20), `meta_data`(100)),
493
+ KEY `order_id_meta_key_meta_value` (`order_id`, `meta_key`(20), `meta_value`(100)),
494
+ KEY `meta_key_value` (`meta_key`(20), `meta_value`(100))
460
495
); ' ,
461
496
$ results [0 ]->{'Create Table ' }
462
497
);
0 commit comments