From 2819ce72d4a0cbb1037174957e0cec6d5ca49be4 Mon Sep 17 00:00:00 2001 From: ryan Date: Mon, 28 Dec 2009 16:25:56 +0000 Subject: [PATCH] Better duplicate option delete query. Props miqrogroove. fixes #11649 for trunk git-svn-id: http://svn.automattic.com/wordpress/trunk@12560 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-admin/includes/upgrade.php | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/wp-admin/includes/upgrade.php b/wp-admin/includes/upgrade.php index f76cd2bca9..2e77099553 100644 --- a/wp-admin/includes/upgrade.php +++ b/wp-admin/includes/upgrade.php @@ -1688,11 +1688,7 @@ function pre_schema_upgrade() { // Upgrade versions prior to 2.9 if ( $wp_current_db_version < 11557 ) { // Delete duplicate options. Keep the option with the highest option_id. - $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"); - if ( !empty($delete_options) ) { - $delete_options = implode(',', $delete_options); - $wpdb->query("DELETE FROM $wpdb->options WHERE option_id IN ($delete_options)"); - } + $wpdb->query("DELETE o1 FROM $wpdb->options AS o1 JOIN $wpdb->options AS o2 USING (`option_name`) WHERE o2.option_id > o1.option_id"); // Drop the old primary key and add the new. $wpdb->query("ALTER TABLE $wpdb->options DROP PRIMARY KEY, ADD PRIMARY KEY(option_id)");