I originally ran into this using the current 6.1 release version of Nodewords but in the dev snapshot it's still partially the case. The issue is that there are node_load calls that are not using the node ID (nid) as the parameter to node_load as a simple integer/string. Rather these node_load calls using using the array form for passing parameters to node_load, e.g. node_load(array('nid' => $nid)).
When this parameter method is used for node_load, the per page process static cache for nodes via core node.module node_load is bypassed. This means that all modules that have hook_nodeapi() implementations for the load operation get called again.
I am not sure what the explicit reason for using the array parameter method for node_load is in Nodewords so if the reasons can be explained, that would be helpful as otherwise I am seeing wasted redundant calls to all modules that implement the nodeapi hook.
anyways, until I get an explanation as to the rationale, I'm posting a patch to revert to the typical node_load call, mostly so I can refer to said patch in my Drush Make makefiles...Patch is against 6.x-1.12-beta9
| Comment | File | Size | Author |
|---|---|---|---|
| #4 | nodewords-n974920-4.patch | 568 bytes | damienmckenna |
| nodewords.module.patch | 808 bytes | jaydub |
Comments
Comment #1
dave reidYep, you're right it doesn't make sense to do that. The second hunk was already fixed, so I committed the first part to CVS. Thanks!
http://drupal.org/cvs?commit=452412
Comment #3
damienmckennaNeeds to be re-rolled against 6.x-1.x.
Comment #4
damienmckennaRe-rolled and committed.