Index: wp-admin/includes/upgrade.php
===================================================================
--- wp-admin/includes/upgrade.php	(revision 18495)
+++ wp-admin/includes/upgrade.php	(working copy)
@@ -451,6 +451,9 @@
 	if ( $wp_current_db_version < 15260 )
 		upgrade_300();
 
+	if ( $wp_current_db_version < 18227 )
+		upgrade_322();
+
 	maybe_disable_automattic_widgets();
 
 	update_option( 'db_version', $wp_db_version );
@@ -1147,6 +1150,41 @@
 }
 
 /**
+ * Execute changes made in WordPress 3.2.2.
+ *
+ * @since 3.2.2
+ */
+function upgrade_322() {
+	global $wpdb;
+
+	// add index to GUID column
+	add_clean_index( $wpdb->posts, 'guid' );
+
+	// repair non-unique GUIDs for pages and custom post types created with WP 3.0
+	$non_unique_guids = $wpdb->get_col( $wpdb->prepare( "
+		SELECT p1.ID
+		FROM $wpdb->posts p1
+		WHERE 1 < (
+			SELECT COUNT(ID) 
+			FROM $wpdb->posts p2 
+			WHERE p1.post_type != 'revision'
+			AND p1.guid = p2.guid
+		)
+		AND p1.post_type != 'revision'
+	" ) );
+	if ( count( $non_unique_guids ) ) {
+		foreach ( $non_unique_guids as $post_id ) {
+			$url = site_url('?p='.$post_id);
+			$wpdb->query( $wpdb->prepare( "
+				UPDATE $wpdb->posts
+				SET guid = %s
+				WHERE ID = %d
+			", $url, $post_id ) );
+		}
+	}
+}
+
+/**
  * Execute network level changes
  *
  * @since 3.0.0
