Index: modules/node/node.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.module,v
retrieving revision 1.754
diff -u -F^f -r1.754 node.module
--- modules/node/node.module	19 Dec 2006 20:14:26 -0000	1.754
+++ modules/node/node.module	20 Dec 2006 22:08:23 -0000
@@ -2862,33 +2862,17 @@ function node_access_write_grants($node,
     db_query($query, $node->nid, $realm);
   }
 
-  // only perform work when node_access modules are active
+  // Only perform work when node_access modules are active.
   if (count(module_implements('node_grants'))) {
-    // This optimization reduces the number of db inserts a little bit. We could
-    // optimize further for mass updates if we wanted.
-    $values = array();
-    $query = '';
     foreach ($grants as $grant) {
       if ($realm && $realm != $grant['realm']) {
         continue;
       }
       // Only write grants; denies are implicit.
       if ($grant['grant_view'] || $grant['grant_update'] || $grant['grant_delete']) {
-        $query .= ($query ? ', ' : '') . "(%d, '%s', %d, %d, %d, %d)";
-
-        $values[] = $node->nid;
-        $values[] = $grant['realm'];
-        $values[] = $grant['gid'];
-        $values[] = $grant['grant_view'];
-        $values[] = $grant['grant_update'];
-        $values[] = $grant['grant_delete'];
+        db_query("INSERT INTO {node_access} (nid, realm, gid, grant_view, grant_update, grant_delete) VALUES (%d, '%s', %d, %d, %d, %d)", $node->nid, $grant['realm'], $grant['gid'], $grant['grant_view'], $grant['grant_update'], $grant['grant_delete']);
       }
     }
-
-    if ($values) {
-     $query = "INSERT INTO {node_access} (nid, realm, gid, grant_view, grant_update, grant_delete) VALUES " . $query;
-     db_query($query, $values);
-    }
   }
 }
 
