WordPress.org

Make WordPress Core

Ticket #35958: 35958.diff

File 35958.diff, 10.7 KB (added by jeremyfelt, 2 years ago)
  • tests/phpunit/tests/dbdelta.php

     
    99class Tests_dbDelta extends WP_UnitTestCase {
    1010
    1111        /**
     12         * The maximum size of an index with utf8mb4 collation and charset with a standard
     13         * byte limit of 767. floor(767/4) = 191 characters.
     14         */
     15        protected $max_index_length = 191;
     16
     17        /**
    1218         * Make sure the upgrade code is loaded before the tests are run.
    1319         */
    1420        public static function setUpBeforeClass() {
     
    3440                                column_2 text,
    3541                                column_3 blob,
    3642                                PRIMARY KEY  (id),
    37                                 KEY key_1 (column_1),
    38                                 KEY compound_key (id,column_1),
     43                                KEY key_1 (column_1($this->max_index_length)),
     44                                KEY compound_key (id,column_1($this->max_index_length)),
    3945                                FULLTEXT KEY fulltext_key (column_1)
    4046                        ) ENGINE=MyISAM
    4147                        "
     
    106112                                id bigint(20) NOT NULL AUTO_INCREMENT,
    107113                                column_1 varchar(255) NOT NULL,
    108114                                PRIMARY KEY  (id),
    109                                 KEY key_1 (column_1),
    110                                 KEY compound_key (id,column_1)
     115                                KEY key_1 (column_1($this->max_index_length)),
     116                                KEY compound_key (id,column_1($this->max_index_length))
    111117                        )
    112118                        "
    113119                );
     
    129135                                id int(11) NOT NULL AUTO_INCREMENT,
    130136                                column_1 varchar(255) NOT NULL,
    131137                                PRIMARY KEY  (id),
    132                                 KEY key_1 (column_1),
    133                                 KEY compound_key (id,column_1)
     138                                KEY key_1 (column_1($this->max_index_length)),
     139                                KEY compound_key (id,column_1($this->max_index_length))
    134140                        )
    135141                        "
    136142                );
     
    158164                                column_1 varchar(255) NOT NULL,
    159165                                extra_col longtext,
    160166                                PRIMARY KEY  (id),
    161                                 KEY key_1 (column_1),
    162                                 KEY compound_key (id,column_1)
     167                                KEY key_1 (column_1($this->max_index_length)),
     168                                KEY compound_key (id,column_1($this->max_index_length))
    163169                        )
    164170                        "
    165171                );
     
    191197                        CREATE TABLE {$wpdb->prefix}dbdelta_test (
    192198                                id bigint(20) NOT NULL AUTO_INCREMENT,
    193199                                PRIMARY KEY  (id),
    194                                 KEY key_1 (column_1),
    195                                 KEY compound_key (id,column_1)
     200                                KEY key_1 (column_1($this->max_index_length)),
     201                                KEY compound_key (id,column_1($this->max_index_length))
    196202                        )
    197203                        "
    198204                );
     
    217223                                column_1 varchar(255) NOT NULL,
    218224                                extra_col longtext,
    219225                                PRIMARY KEY  (id),
    220                                 KEY key_1 (column_1),
    221                                 KEY compound_key (id,column_1)
     226                                KEY key_1 (column_1({$this->max_index_length})),
     227                                KEY compound_key (id,column_1($this->max_index_length))
    222228                        )
    223229                        "
    224230                        , false // Don't execute.
     
    267273                                id bigint(20) NOT NULL AUTO_INCREMENT,
    268274                                column_1 varchar(255) NOT NULL,
    269275                                PRIMARY KEY  (id),
    270                                 KEY key_1 (column_1),
    271                                 KEY compound_key (id,column_1),
     276                                KEY key_1 (column_1($this->max_index_length)),
     277                                KEY compound_key (id,column_1($this->max_index_length)),
    272278                                FULLTEXT KEY fulltext_key (column_1)
    273279                        )
    274280                        ", false
     
    379385                                column_2 tinytext,
    380386                                column_3 blob,
    381387                                PRIMARY KEY  (id),
    382                                 KEY key_1 (column_1),
    383                                 KEY compound_key (id,column_1),
     388                                KEY key_1 (column_1({$this->max_index_length})),
     389                                KEY compound_key (id,column_1($this->max_index_length)),
    384390                                FULLTEXT KEY fulltext_key (column_1)
    385391                        ) ENGINE=MyISAM
    386392                        ", false );
     
    402408                                column_2 text,
    403409                                column_3 tinyblob,
    404410                                PRIMARY KEY  (id),
    405                                 KEY key_1 (column_1),
    406                                 KEY compound_key (id,column_1),
     411                                KEY key_1 (column_1({$this->max_index_length})),
     412                                KEY compound_key (id,column_1($this->max_index_length)),
    407413                                FULLTEXT KEY fulltext_key (column_1)
    408414                        ) ENGINE=MyISAM
    409415                        ", false );
     
    425431                                column_2 bigtext,
    426432                                column_3 blob,
    427433                                PRIMARY KEY  (id),
    428                                 KEY key_1 (column_1),
    429                                 KEY compound_key (id,column_1),
     434                                KEY key_1 (column_1({$this->max_index_length})),
     435                                KEY compound_key (id,column_1($this->max_index_length)),
    430436                                FULLTEXT KEY fulltext_key (column_1)
    431437                        ) ENGINE=MyISAM
    432438                        ", false );
     
    452458                                column_2 text,
    453459                                column_3 mediumblob,
    454460                                PRIMARY KEY  (id),
    455                                 KEY key_1 (column_1),
    456                                 KEY compound_key (id,column_1),
     461                                KEY key_1 (column_1({$this->max_index_length})),
     462                                KEY compound_key (id,column_1($this->max_index_length)),
    457463                                FULLTEXT KEY fulltext_key (column_1)
    458464                        ) ENGINE=MyISAM
    459465                        ", false );
     
    476482                                `id` bigint(20) NOT NULL AUTO_INCREMENT,
    477483                                `column_1` varchar(255) NOT NULL,
    478484                                PRIMARY KEY  (id),
    479                                 KEY compound_key (id,column_1)
     485                                KEY compound_key (id,column_1($this->max_index_length))
    480486                        )
    481487                ";
    482488
     
    548554                                `id` bigint(20) NOT NULL AUTO_INCREMENT,
    549555                                `references` varchar(255) NOT NULL,
    550556                                PRIMARY KEY  (`id`),
    551                                 KEY `compound_key` (`id`,`references`)
     557                                KEY `compound_key` (`id`,`references`($this->max_index_length))
    552558                        )
    553559                ";
    554560
     
    580586                                column_3 blob,
    581587                                `references` varchar(255) NOT NULL,
    582588                                PRIMARY KEY  (id),
    583                                 KEY key_1 (column_1),
    584                                 KEY compound_key (id , column_1),
    585                                 KEY compound_key2 (id,`references`),
     589                                KEY key_1 (column_1($this->max_index_length)),
     590                                KEY compound_key (id , column_1($this->max_index_length)),
     591                                KEY compound_key2 (id,`references`($this->max_index_length)),
    586592                                FULLTEXT KEY fulltext_key (column_1)
    587593                        ) ENGINE=MyISAM
    588594                        "
     
    595601                $this->assertSame(
    596602                        array(
    597603                                "{$wpdb->prefix}dbdelta_test.references" => "Added column {$wpdb->prefix}dbdelta_test.references",
    598                                 0 => "Added index {$wpdb->prefix}dbdelta_test KEY `compound_key2` (`id`,`references`)",
     604                                0 => "Added index {$wpdb->prefix}dbdelta_test KEY `compound_key2` (`id`,`references`($this->max_index_length))",
    599605                        ),
    600606                        $updates
    601607                );
     
    623629                                column_2 text,
    624630                                column_3 blob,
    625631                                PRIMARY KEY  (id),
    626                                 KEY key_1 (column_1),
    627                                 KEY compound_key (id,column_1),
     632                                KEY key_1 (column_1($this->max_index_length)),
     633                                KEY compound_key (id,column_1($this->max_index_length)),
    628634                                FULLTEXT KEY fulltext_key (column_1),
    629                                 INDEX key_2 (column_1),
    630                                 UNIQUE KEY key_3 (column_1),
    631                                 UNIQUE INDEX key_4 (column_1),
     635                                INDEX key_2 (column_1($this->max_index_length)),
     636                                UNIQUE KEY key_3 (column_1($this->max_index_length)),
     637                                UNIQUE INDEX key_4 (column_1($this->max_index_length)),
    632638                                FULLTEXT INDEX key_5 (column_1),
    633639                        ) ENGINE=MyISAM
    634640                ";
     
    636642                $creates = dbDelta( $schema );
    637643                $this->assertSame(
    638644                        array(
    639                                 0 => "Added index {$wpdb->prefix}dbdelta_test KEY `key_2` (`column_1`)",
    640                                 1 => "Added index {$wpdb->prefix}dbdelta_test UNIQUE KEY `key_3` (`column_1`)",
    641                                 2 => "Added index {$wpdb->prefix}dbdelta_test UNIQUE KEY `key_4` (`column_1`)",
     645                                0 => "Added index {$wpdb->prefix}dbdelta_test KEY `key_2` (`column_1`($this->max_index_length))",
     646                                1 => "Added index {$wpdb->prefix}dbdelta_test UNIQUE KEY `key_3` (`column_1`($this->max_index_length))",
     647                                2 => "Added index {$wpdb->prefix}dbdelta_test UNIQUE KEY `key_4` (`column_1`($this->max_index_length))",
    642648                                3 => "Added index {$wpdb->prefix}dbdelta_test FULLTEXT KEY `key_5` (`column_1`)",
    643649                        ),
    644650                        $creates
     
    662668                                column_2 text,
    663669                                column_3 blob,
    664670                                PRIMARY KEY  (id),
    665                                 INDEX key_1 (column_1),
    666                                 INDEX compound_key (id,column_1),
     671                                INDEX key_1 (column_1($this->max_index_length)),
     672                                INDEX compound_key (id,column_1($this->max_index_length)),
    667673                                FULLTEXT INDEX fulltext_key (column_1)
    668674                        ) ENGINE=MyISAM
    669675                        "
     
    685691                                column_2 text,
    686692                                column_3 blob,
    687693                                PRIMARY KEY  (id),
    688                                 KEY key_1 (column_1),
    689                                 KEY compound_key (id,column_1),
     694                                KEY key_1 (column_1($this->max_index_length)),
     695                                KEY compound_key (id,column_1($this->max_index_length)),
    690696                                FULLTEXT KEY fulltext_key (column_1),
    691697                                KEY key_2 (column_1(10)),
    692698                                KEY key_3 (column_2(100),column_1(10)),
     
    720726                                column_2 text,
    721727                                column_3 blob,
    722728                                PRIMARY KEY  (id),
    723                                 KEY key_1 (column_1 DESC),
    724                                 KEY compound_key (id,column_1 ASC),
     729                                KEY key_1 (column_1($this->max_index_length) DESC),
     730                                KEY compound_key (id,column_1($this->max_index_length) ASC),
    725731                                FULLTEXT KEY fulltext_key (column_1)
    726732                        ) ENGINE=MyISAM
    727733                        "
     
    744750                                column_2 text,
    745751                                column_3 blob,
    746752                                PRIMARY KEY (id),
    747                                 KEY key_1 (column_1),
    748                                 KEY compound_key (id,column_1),
     753                                KEY key_1 (column_1($this->max_index_length)),
     754                                KEY compound_key (id,column_1($this->max_index_length)),
    749755                                FULLTEXT KEY fulltext_key (column_1)
    750756                        ) ENGINE=MyISAM
    751757                        "
     
    768774                                column_2 text,
    769775                                column_3 blob,
    770776                                PRIMARY KEY  (id),
    771                                 KEY key_1        (         column_1),
    772                                 KEY compound_key (id,      column_1),
     777                                KEY key_1        (         column_1($this->max_index_length)),
     778                                KEY compound_key (id,      column_1($this->max_index_length)),
    773779                                FULLTEXT KEY fulltext_key (column_1)
    774780                        ) ENGINE=MyISAM
    775781                        "
     
    792798                                column_2 text,
    793799                                column_3 blob,
    794800                                PRIMARY KEY  (id),
    795                                 key key_1 (column_1),
    796                                 key compound_key (id,column_1),
     801                                key key_1 (column_1($this->max_index_length)),
     802                                key compound_key (id,column_1($this->max_index_length)),
    797803                                FULLTEXT KEY fulltext_key (column_1)
    798804                        ) ENGINE=MyISAM
    799805                        "
     
    816822                                column_2 text,
    817823                                column_3 blob,
    818824                                PRIMARY KEY  (id),
    819                                 KEY KEY_1 (column_1),
    820                                 KEY compOUND_key (id,column_1),
     825                                KEY KEY_1 (column_1($this->max_index_length)),
     826                                KEY compOUND_key (id,column_1($this->max_index_length)),
    821827                                FULLTEXT KEY FULLtext_kEY (column_1)
    822828                        ) ENGINE=MyISAM
    823829                        ", false );
     
    839845                                column_2 text,
    840846                                column_3 blob,
    841847                                PRIMARY KEY  (id),
    842                                 KEY key_1 (column_1(255)),
    843                                 KEY compound_key (id,column_1),
     848                                KEY key_1 (column_1({$this->max_index_length})),
     849                                KEY compound_key (id,column_1($this->max_index_length)),
    844850                                FULLTEXT KEY fulltext_key (column_1)
    845851                        ) ENGINE=MyISAM
    846852                        ", false );
     
    862868                                column_2 text,
    863869                                column_3 blob,
    864870                                PRIMARY KEY  (id),
    865                                 KEY key_1 (column_1),
    866                                 KEY compound_key (id,column_1),
     871                                KEY key_1 (column_1($this->max_index_length)),
     872                                KEY compound_key (id,column_1($this->max_index_length)),
    867873                                KEY changing_key_length (column_1(20)),
    868874                                FULLTEXT KEY fulltext_key (column_1)
    869875                        ) ENGINE=MyISAM
     
    881887                                column_2 text,
    882888                                column_3 blob,
    883889                                PRIMARY KEY  (id),
    884                                 KEY key_1 (column_1),
    885                                 KEY compound_key (id,column_1),
     890                                KEY key_1 (column_1($this->max_index_length)),
     891                                KEY compound_key (id,column_1($this->max_index_length)),
    886892                                KEY changing_key_length (column_1(50)),
    887893                                FULLTEXT KEY fulltext_key (column_1)
    888894                        ) ENGINE=MyISAM
     
    898904                                column_2 text,
    899905                                column_3 blob,
    900906                                PRIMARY KEY  (id),
    901                                 KEY key_1 (column_1),
    902                                 KEY compound_key (id,column_1),
     907                                KEY key_1 (column_1($this->max_index_length)),
     908                                KEY compound_key (id,column_1($this->max_index_length)),
    903909                                KEY changing_key_length (column_1(1)),
    904910                                FULLTEXT KEY fulltext_key (column_1)
    905911                        ) ENGINE=MyISAM