From d912dbea1ccf8da1cdca9cc6fdc47d340b9827b7 Mon Sep 17 00:00:00 2001 From: Matt Mullenweg Date: Wed, 5 May 2004 08:00:13 +0000 Subject: [PATCH] Upgrades should run faster now. git-svn-id: https://develop.svn.wordpress.org/trunk@1229 602fd350-edb4-49c9-b593-d223f7449a82 --- wp-admin/upgrade-functions.php | 49 ++++++++++++++++++++++------------ wp-admin/upgrade.php | 10 +++++++ 2 files changed, 42 insertions(+), 17 deletions(-) diff --git a/wp-admin/upgrade-functions.php b/wp-admin/upgrade-functions.php index c578e86488..f94a7317fd 100644 --- a/wp-admin/upgrade-functions.php +++ b/wp-admin/upgrade-functions.php @@ -553,11 +553,13 @@ function upgrade_100() { ('$gid', '$oid', '$seq')"); } // Get the title and ID of every post, post_name to check if it already has a value - $posts = $wpdb->get_results("SELECT ID, post_title, post_name FROM $tableposts"); - foreach($posts as $post) { - if ('' == $post->post_name) { - $newtitle = sanitize_title($post->post_title); - $wpdb->query("UPDATE $tableposts SET post_name = '$newtitle' WHERE ID = '$post->ID'"); + $posts = $wpdb->get_results("SELECT ID, post_title, post_name FROM $tableposts WHERE post_name = ''"); + if ($posts) { + foreach($posts as $post) { + if ('' == $post->post_name) { + $newtitle = sanitize_title($post->post_title); + $wpdb->query("UPDATE $tableposts SET post_name = '$newtitle' WHERE ID = '$post->ID'"); + } } } @@ -623,19 +625,32 @@ function upgrade_100() { INDEX ( `post_id` , `category_id` ) ) "); - $allposts = $wpdb->get_results("SELECT ID, post_category FROM $tableposts"); - foreach ($allposts as $post) { - // Check to see if it's already been imported - $cat = $wpdb->get_row("SELECT * FROM $tablepost2cat WHERE post_id = $post->ID AND category_id = $post->post_category"); - if (!$cat && 0 != $post->post_category) { // If there's no result - $wpdb->query(" - INSERT INTO $tablepost2cat - (post_id, category_id) - VALUES - ('$post->ID', '$post->post_category') - "); + + $done_ids = $wpdb->get_results("SELECT DISTINCT post_id FROM $tablepost2cat"); + if ($done_ids) : + foreach ($done_ids as $done_id) : + $done_posts[] = $done_id->post_id; + endforeach; + $catwhere = ' AND ID NOT IN (' . implode(',', $done_posts) . ')'; + else: + $catwhere = ''; + endif; + + $allposts = $wpdb->get_results("SELECT ID, post_category FROM $tableposts WHERE post_category != '0' $catwhere"); + if ($allposts) : + foreach ($allposts as $post) { + // Check to see if it's already been imported + $cat = $wpdb->get_row("SELECT * FROM $tablepost2cat WHERE post_id = $post->ID AND category_id = $post->post_category"); + if (!$cat && 0 != $post->post_category) { // If there's no result + $wpdb->query(" + INSERT INTO $tablepost2cat + (post_id, category_id) + VALUES + ('$post->ID', '$post->post_category') + "); + } } - } + endif; } function upgrade_101() { diff --git a/wp-admin/upgrade.php b/wp-admin/upgrade.php index 6f70d79aea..027f0a7368 100644 --- a/wp-admin/upgrade.php +++ b/wp-admin/upgrade.php @@ -2,6 +2,7 @@ $_wp_installing = 1; if (!file_exists('../wp-config.php')) die("There doesn't seem to be a wp-config.php file. Double check that you updated wp-config-sample.php with the proper database connection information and renamed it to wp-config.php."); require('../wp-config.php'); +timer_start(); require('upgrade-functions.php'); $step = $_GET['step']; @@ -54,6 +55,15 @@ switch($step) { ?>

Step 1

There's actually only one step. So if you see this, you're done. Have fun!

+ + +