Index: includes/common.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/common.inc,v retrieving revision 1.1176 diff -u -r1.1176 common.inc --- includes/common.inc 9 Jun 2010 14:55:30 -0000 1.1176 +++ includes/common.inc 16 Jun 2010 10:44:58 -0000 @@ -5896,6 +5896,12 @@ $serial = $field; } + // Skip field if it is an update key as it is unnecessary to update a + // column to the value it is already set to. + if (in_array($field, $primary_keys)) { + continue; + } + if (!property_exists($object, $field)) { // Skip fields that are not provided, unless we are inserting and a // default value is provided by the schema. Index: includes/path.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/path.inc,v retrieving revision 1.63 diff -u -r1.63 path.inc --- includes/path.inc 18 May 2010 18:26:30 -0000 1.63 +++ includes/path.inc 16 Jun 2010 10:44:58 -0000 @@ -393,7 +393,7 @@ $path += array('pid' => NULL, 'language' => LANGUAGE_NONE); // Insert or update the alias. - $status = drupal_write_record('url_alias', $path, (!empty($path['pid']) ? 'pid' : NULL)); + $status = drupal_write_record('url_alias', $path, (!empty($path['pid']) ? 'pid' : array())); // Verify that a record was written. if (isset($status) && $status) {