? node.patch Index: modules/node/node.module =================================================================== RCS file: /cvs/drupal/drupal/modules/node/node.module,v retrieving revision 1.776 diff -u -p -r1.776 node.module --- modules/node/node.module 14 Jan 2007 02:12:29 -0000 1.776 +++ modules/node/node.module 20 Jan 2007 13:42:49 -0000 @@ -493,8 +493,13 @@ function node_load($param = array(), $re $cachable = ($revision == NULL); $arguments = array(); if (is_numeric($param)) { - if ($cachable && isset($nodes[$param])) { - return is_object($nodes[$param]) ? drupal_clone($nodes[$param]) : $nodes[$param]; + if ($cachable) { + if (!isset($nodes[$param]) && ($data = cache_get($param, 'cache_node'))) { + $nodes[$param] = $data->data; + } + if (isset($nodes[$param])) { + return is_object($nodes[$param]) ? drupal_clone($nodes[$param]) : $nodes[$param]; + } } $cond = 'n.nid = %d'; $arguments[] = $param; @@ -534,6 +539,7 @@ function node_load($param = array(), $re } if ($cachable) { $nodes[$node->nid] = is_object($node) ? drupal_clone($node) : $node; + cache_set($node->nid, 'cache_node', $node); } } @@ -649,6 +655,7 @@ function node_save(&$node) { // Clear the cache so an anonymous poster can see the node being added or updated. cache_clear_all(); + cache_clear_all($node->nid, 'cache_node'); } /**