Changeset 11883 for trunk/wp-admin/includes/upgrade.php
- Timestamp:
- 08/26/2009 10:46:33 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-admin/includes/upgrade.php
r11326 r11883 270 270 wp_check_mysql_version(); 271 271 wp_cache_flush(); 272 pre_schema_upgrade(); 272 273 make_db_current_silent(); 273 274 upgrade_all(); … … 555 556 $limit = $option->dupes - 1; 556 557 $dupe_ids = $wpdb->get_col( $wpdb->prepare("SELECT option_id FROM $wpdb->options WHERE option_name = %s LIMIT %d", $option->option_name, $limit) ); 557 $dupe_ids = join($dupe_ids, ','); 558 $wpdb->query("DELETE FROM $wpdb->options WHERE option_id IN ($dupe_ids)"); 558 if ( $dupe_ids ) { 559 $dupe_ids = join($dupe_ids, ','); 560 $wpdb->query("DELETE FROM $wpdb->options WHERE option_id IN ($dupe_ids)"); 561 } 559 562 } 560 563 } … … 1657 1660 } 1658 1661 1662 /** 1663 * Runs before the schema is upgraded. 1664 */ 1665 function pre_schema_upgrade() { 1666 global $wp_current_db_version, $wp_db_version, $wpdb; 1667 1668 // Only run if less than 2.9 1669 if ( $wp_current_db_version >= 11557 ) 1670 return; 1671 1672 // Delete duplicate options. Keep the option with the highest option_id. 1673 $delete_options = $wpdb->get_col("SELECT o1.option_id FROM $wpdb->options AS o1 JOIN $wpdb->options AS o2 ON o2.option_name = o1.option_name AND o2.option_id > o1.option_id"); 1674 if ( !empty($delete_options) ) { 1675 $delete_options = implode("', '", $delete_options); 1676 $wpdb->query("DELETE FROM $wpdb->options WHERE option_id IN ($delete_options)"); 1677 } 1678 1679 // Add an index on option_id to satisfy the auto_increment requirement 1680 $wpdb->query("ALTER TABLE $wpdb->options ADD INDEX option_id (option_id)"); 1681 1682 // Drop the old primary key. The new primary will be created by dbDelta() 1683 $wpdb->query("ALTER TABLE $wpdb->options DROP PRIMARY KEY"); 1684 1685 // Drop the old option_name index. dbDelta() doesn't do the drop. 1686 $wpdb->query("ALTER TABLE $wpdb->options DROP INDEX option_name"); 1687 } 1688 1659 1689 ?>
Note: See TracChangeset
for help on using the changeset viewer.