WordPress.org

Make WordPress Core

Ticket #18286: patch.diff

File patch.diff, 1.3 KB (added by alexkingorg, 4 years ago)

Cleanly integrate changes into upgrade process

  • wp-admin/includes/upgrade.php

     
    451451        if ( $wp_current_db_version < 15260 ) 
    452452                upgrade_300(); 
    453453 
     454        if ( $wp_current_db_version < 18227 ) 
     455                upgrade_322(); 
     456 
    454457        maybe_disable_automattic_widgets(); 
    455458 
    456459        update_option( 'db_version', $wp_db_version ); 
     
    11471150} 
    11481151 
    11491152/** 
     1153 * Execute changes made in WordPress 3.2.2. 
     1154 * 
     1155 * @since 3.2.2 
     1156 */ 
     1157function upgrade_322() { 
     1158        global $wpdb; 
     1159 
     1160        // add index to GUID column 
     1161        add_clean_index( $wpdb->posts, 'guid' ); 
     1162 
     1163        // repair non-unique GUIDs for pages and custom post types created with WP 3.0 
     1164        $non_unique_guids = $wpdb->get_col( $wpdb->prepare( " 
     1165                SELECT p1.ID 
     1166                FROM $wpdb->posts p1 
     1167                WHERE 1 < ( 
     1168                        SELECT COUNT(ID)  
     1169                        FROM $wpdb->posts p2  
     1170                        WHERE p1.post_type != 'revision' 
     1171                        AND p1.guid = p2.guid 
     1172                ) 
     1173                AND p1.post_type != 'revision' 
     1174        " ) ); 
     1175        if ( count( $non_unique_guids ) ) { 
     1176                foreach ( $non_unique_guids as $post_id ) { 
     1177                        $url = site_url('?p='.$post_id); 
     1178                        $wpdb->query( $wpdb->prepare( " 
     1179                                UPDATE $wpdb->posts 
     1180                                SET guid = %s 
     1181                                WHERE ID = %d 
     1182                        ", $url, $post_id ) ); 
     1183                } 
     1184        } 
     1185} 
     1186 
     1187/** 
    11501188 * Execute network level changes 
    11511189 * 
    11521190 * @since 3.0.0