Index: modules/filter/filter.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/filter/filter.install,v
retrieving revision 1.5
diff -u -p -r1.5 filter.install
--- modules/filter/filter.install	18 Dec 2007 12:59:21 -0000	1.5
+++ modules/filter/filter.install	4 Jan 2008 02:03:36 -0000
@@ -42,10 +42,8 @@ function filter_schema() {
       )
     ),
     'primary key' => array('fid'),
-    'unique keys' => array(
-      'fmd' => array('format', 'module', 'delta'),
-    ),
     'indexes' => array(
+      'fmd' => array('format', 'module', 'delta'),
       'list' => array('format', 'weight', 'module', 'delta'),
     ),
   );
Index: modules/system/system.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.install,v
retrieving revision 1.222
diff -u -p -r1.222 system.install
--- modules/system/system.install	31 Dec 2007 17:20:20 -0000	1.222
+++ modules/system/system.install	4 Jan 2008 02:03:36 -0000
@@ -2272,13 +2272,13 @@ function system_update_6043() {
   db_add_index($ret, 'blocks_roles', 'rid', array('rid'));
   // Improve filter module indices.
   db_drop_index($ret, 'filters', 'weight');
-  db_add_unique_key($ret, 'filters', 'fmd', array('format', 'module', 'delta'));
+  db_add_index($ret, 'filters', 'fmd', array('format', 'module', 'delta'));
   db_add_index($ret, 'filters', 'list', array('format', 'weight', 'module', 'delta'));
   // Drop unneeded keys form the node table.
   db_drop_index($ret, 'node', 'status');
   db_drop_unique_key($ret, 'node', 'nid_vid');
   // Improve user module indices.
-  db_add_unique_key($ret, 'users', 'mail', array('mail'));
+  db_add_index($ret, 'users', 'mail', array('mail'));
   db_add_index($ret, 'users_roles', 'rid', array('rid'));
 
   // Optional modules - need to check if the tables exist.
@@ -2321,7 +2321,7 @@ function system_update_6043() {
   // Alter taxonomy module's tables.
   if (db_table_exists('term_data')) {
     db_drop_index($ret, 'term_data', 'vid');
-    db_add_unique_key($ret, 'term_data', 'vid_name', array('vid', 'name'));
+    db_add_index($ret, 'term_data', 'vid_name', array('vid', 'name'));
     db_add_index($ret, 'term_data', 'taxonomy_tree', array('vid', 'weight', 'name'));
   }
   if (db_table_exists('term_node')) {
@@ -2335,7 +2335,7 @@ function system_update_6043() {
   }
   if (db_table_exists('term_synonym')) {
     db_drop_index($ret, 'term_synonym', 'name');
-    db_add_unique_key($ret, 'term_synonym', 'name_tid', array('name', 'tid'));
+    db_add_index($ret, 'term_synonym', 'name_tid', array('name', 'tid'));
   }
   if (db_table_exists('vocabulary')) {
     db_add_index($ret, 'vocabulary', 'list', array('weight', 'name'));
@@ -2345,6 +2345,39 @@ function system_update_6043() {
     db_add_primary_key($ret, 'vocabulary_node_types', array('type', 'vid'));
     db_add_index($ret, 'vocabulary_node_types', 'vid', array('vid'));
   }
+  // If we updated in RC1 or before ensure we don't update twice.
+  variable_set('system_update_6043_RC2', TRUE);
+
+  return $ret;
+}
+
+/**
+ * RC1 to RC2 index cleanup.
+ */
+function system_update_6044() {
+  $ret = array();
+  // Only execute this function if 6043 was run in RC1 or before.
+  if (variable_get('system_update_6043_RC2', FALSE)) {
+    variable_del('system_update_6043_RC2');
+    return $ret;
+  }
+  // Filter module indices.
+  db_drop_unique_key($ret, 'filters', 'fmd');
+  db_add_index($ret, 'filters', 'fmd', array('format', 'module', 'delta'));
+  // User module indices.
+  db_drop_unique_key($ret, 'users', 'mail');
+  db_add_index($ret, 'users', 'mail', array('mail'));
+
+  // Optional modules - need to check if the tables exist.
+  // Alter taxonomy module's tables.
+  if (db_table_exists('term_data')) {
+    db_drop_unique_key($ret, 'term_data', 'vid_name');
+    db_add_index($ret, 'term_data', 'vid_name', array('vid', 'name'));
+  }
+  if (db_table_exists('term_synonym')) {
+    db_drop_unique_key($ret, 'term_synonym', 'name_tid', array('name', 'tid'));
+    db_add_index($ret, 'term_synonym', 'name_tid', array('name', 'tid'));
+  }
 
   return $ret;
 }
Index: modules/taxonomy/taxonomy.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/taxonomy/taxonomy.install,v
retrieving revision 1.6
diff -u -p -r1.6 taxonomy.install
--- modules/taxonomy/taxonomy.install	18 Dec 2007 12:59:22 -0000	1.6
+++ modules/taxonomy/taxonomy.install	4 Jan 2008 02:03:36 -0000
@@ -43,10 +43,10 @@ function taxonomy_schema() {
       ),
     ),
     'primary key' => array('tid'),
-    'unique keys' => array(
+    'indexes' => array(
+      'taxonomy_tree' => array('vid', 'weight', 'name'),
       'vid_name' => array('vid', 'name'),
     ),
-    'indexes' => array('taxonomy_tree' => array('vid', 'weight', 'name')),
   );
 
   $schema['term_hierarchy'] = array(
@@ -160,11 +160,9 @@ function taxonomy_schema() {
         'description' => t('The name of the synonym.'),
       ),
     ),
-    'unique keys' => array(
-      'name_tid' => array('name', 'tid'),
-    ),
     'indexes' => array(
       'tid' => array('tid'),
+      'name_tid' => array('name', 'tid'),
     ),
     'primary key' => array('tsid'),
   );
Index: modules/user/user.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user.install,v
retrieving revision 1.4
diff -u -p -r1.4 user.install
--- modules/user/user.install	18 Dec 2007 12:59:22 -0000	1.4
+++ modules/user/user.install	4 Jan 2008 02:03:36 -0000
@@ -252,11 +252,11 @@ function user_schema() {
     ),
     'indexes' => array(
       'access' => array('access'),
-      'created' => array('created')
+      'created' => array('created'),
+      'mail' => array('mail'),
     ),
     'unique keys' => array(
       'name' => array('name'),
-      'mail' => array('mail'),
     ),
     'primary key' => array('uid'),
   );
