From 61122743e20d082a4ac82d5addf6add9f7d6b33b Mon Sep 17 00:00:00 2001 From: Dion Hulse Date: Fri, 3 Jul 2015 05:59:27 +0000 Subject: [PATCH] Don't upgrade global tables to utf8mb4 when `DO_NOT_UPGRADE_GLOBAL_TABLES` is defined. This change also standardises on only checking `DO_NOT_UPGRADE_GLOBAL_TABLES` is defined, not it's value. Fixes #32154 for 4.2 Built from https://develop.svn.wordpress.org/branches/4.2@33059 git-svn-id: http://core.svn.wordpress.org/branches/4.2@33030 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-admin/includes/upgrade.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/wp-admin/includes/upgrade.php b/wp-admin/includes/upgrade.php index 48cd7be662..d389a330e8 100644 --- a/wp-admin/includes/upgrade.php +++ b/wp-admin/includes/upgrade.php @@ -1433,6 +1433,10 @@ function upgrade_420() { $tables = $wpdb->tables( 'blog' ); } else { $tables = $wpdb->tables( 'all' ); + if ( defined( 'DO_NOT_UPGRADE_GLOBAL_TABLES' ) ) { + $global_tables = $wpdb->tables( 'global' ); + $tables = array_diff_assoc( $tables, $global_tables ); + } } foreach ( $tables as $table ) { @@ -1596,7 +1600,7 @@ function upgrade_network() { // 4.2 if ( $wp_current_db_version < 31351 && $wpdb->charset === 'utf8mb4' ) { - if ( ! ( defined( 'DO_NOT_UPGRADE_GLOBAL_TABLES' ) && DO_NOT_UPGRADE_GLOBAL_TABLES ) ) { + if ( ! defined( 'DO_NOT_UPGRADE_GLOBAL_TABLES' ) ) { $wpdb->query( "ALTER TABLE $wpdb->usermeta DROP INDEX meta_key, ADD INDEX meta_key(meta_key(191))" ); $wpdb->query( "ALTER TABLE $wpdb->site DROP INDEX domain, ADD INDEX domain(domain(140),path(51))" ); $wpdb->query( "ALTER TABLE $wpdb->sitemeta DROP INDEX meta_key, ADD INDEX meta_key(meta_key(191))" ); @@ -1612,7 +1616,7 @@ function upgrade_network() { // 4.2.2 if ( $wp_current_db_version < 31535 && 'utf8mb4' === $wpdb->charset ) { - if ( ! ( defined( 'DO_NOT_UPGRADE_GLOBAL_TABLES' ) && DO_NOT_UPGRADE_GLOBAL_TABLES ) ) { + if ( ! defined( 'DO_NOT_UPGRADE_GLOBAL_TABLES' ) ) { $upgrade = false; $indexes = $wpdb->get_results( "SHOW INDEXES FROM $wpdb->signups" ); foreach( $indexes as $index ) { @@ -2459,7 +2463,7 @@ function pre_schema_upgrade() { // Upgrade versions prior to 4.2. if ( $wp_current_db_version < 31351 ) { - if ( ! is_multisite() ) { + if ( ! is_multisite() && ! defined( 'DO_NOT_UPGRADE_GLOBAL_TABLES' ) ) { $wpdb->query( "ALTER TABLE $wpdb->usermeta DROP INDEX meta_key, ADD INDEX meta_key(meta_key(191))" ); } $wpdb->query( "ALTER TABLE $wpdb->terms DROP INDEX slug, ADD INDEX slug(slug(191))" );