Changeset 11883
- Timestamp:
- 08/26/2009 10:46:33 PM (15 years ago)
- Location:
- trunk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-admin/includes/schema.php
r11450 r11883 100 100 option_value longtext NOT NULL, 101 101 autoload varchar(20) NOT NULL default 'yes', 102 PRIMARY KEY (option_ id,blog_id,option_name),103 KEY option_ name (option_name)102 PRIMARY KEY (option_name), 103 KEY option_id (option_id) 104 104 ) $charset_collate; 105 105 CREATE TABLE $wpdb->postmeta ( -
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 ?> -
trunk/wp-includes/functions.php
r11878 r11883 622 622 // Get the ID, if no ID then return 623 623 // expected_slashed ($name) 624 $option = $wpdb->get_row( "SELECT option_id,autoload FROM $wpdb->options WHERE option_name = '$name'" );625 if ( is_null($option) || !$option->option_id)624 $option = $wpdb->get_row( "SELECT autoload FROM $wpdb->options WHERE option_name = '$name'" ); 625 if ( is_null($option) ) 626 626 return false; 627 627 // expected_slashed ($name) -
trunk/wp-includes/version.php
r11589 r11883 16 16 * @global int $wp_db_version 17 17 */ 18 $wp_db_version = 115 48;18 $wp_db_version = 11557; 19 19 20 20 /**
Note: See TracChangeset
for help on using the changeset viewer.