Try changing $node->uid.. The timestamps will have to change when you update a node.. it is necessary for many modules to be identified of the change like search and xmlsitemap<br><br><div class="gmail_quote">On Tue, Apr 20, 2010 at 3:43 PM, Lluís Forns <span dir="ltr"><<a href="mailto:enboig@gmail.com">enboig@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">My problem right now is node_save itself: uid and timestamps are<br>
changed by node_save. Is there a way to avoid that? Or should I reset<br>
these fields with db_query("UPDATE ...")?<br>
<br>
2010/4/20 Lluís Forns <<a href="mailto:enboig@gmail.com">enboig@gmail.com</a>>:<br>
<div><div></div><div class="h5">> This is the way I am following now. I hope my code will fix all the<br>
> "broken" nodes.<br>
><br>
> 2010/4/20 Steven Jones <<a href="mailto:steven.jones@computerminds.co.uk">steven.jones@computerminds.co.uk</a>>:<br>
>> Hi Lluís,<br>
>><br>
>> You can use Drupal's Batch API to process large sets of objects like<br>
>> this. Documentation for the API is here:<br>
>><br>
>> <a href="http://api.drupal.org/api/group/batch" target="_blank">http://api.drupal.org/api/group/batch</a><br>
>><br>
>> And it includes an example for iterating over all nodes.<br>
>><br>
>> Hope that helps!<br>
>><br>
>> Regards<br>
>> Steven Jones<br>
>> ComputerMinds ltd - Perfect Drupal Websites<br>
>><br>
>> Phone : 024 7666 7277<br>
>> Mobile : 07702 131 576<br>
>> Twitter : darthsteven<br>
>> <a href="http://www.computerminds.co.uk" target="_blank">http://www.computerminds.co.uk</a><br>
>><br>
>><br>
>><br>
>> On 20 April 2010 08:38:19 UTC+1, Lluís Forns <<a href="mailto:enboig@gmail.com">enboig@gmail.com</a>> wrote:<br>
>>> I have some modules creating nodes calling directly node_save() and<br>
>>> now when trying to rebuild permissions table drupal fails at a random<br>
>>> node.<br>
>>><br>
>>> I think this is caused because of some bad created nodes, and I thing<br>
>>> I have found a way to fix them; but it fail because of memory limit.<br>
>>> Is there a way to make node_load() not store nodes in cache? (I have<br>
>>> around 30k nodes)<br>
>>><br>
>>> Thanks<br>
>>><br>
>>> <?php<br>
>>> function mymodule_update_6008() {<br>
>>> $ret=array();<br>
>>> $res=db_query("SELECT nid, type FROM {node}");<br>
>>> while ($row=db_fetch_array($res)){<br>
>>> $prenode['type']=$row['type'];<br>
>>> $prenode=(object)$prenode;<br>
>>> $node_new=node_object_prepare($prenode);<br>
>>> $node_old=node_load($row['nid']);<br>
>>> foreach($node_old AS $key => $value) {<br>
>>> $node_new->$key = $value;<br>
>>> }<br>
>>> node_save($node_new);<br>
>>> }<br>
>>> }<br>
>>> ?><br>
>>><br>
>>><br>
>>> --<br>
>>> *Les normes hi són perquè hi pensis abans de saltar-te-les<br>
>>> *La vida és com una taronja, què esperes a exprimir-la?<br>
>>> *Si creus que l'educació és cara, prova la ignorància.<br>
>>> *La vida és com una moneda, la pots gastar en el que vulguis però<br>
>>> només una vegada.<br>
>>> *Abans d'imprimir aquest missatge, pensa en el medi ambient.<br>
>>><br>
>><br>
><br>
><br>
><br>
> --<br>
> *Les normes hi són perquè hi pensis abans de saltar-te-les<br>
> *La vida és com una taronja, què esperes a exprimir-la?<br>
> *Si creus que l'educació és cara, prova la ignorància.<br>
> *La vida és com una moneda, la pots gastar en el que vulguis però<br>
> només una vegada.<br>
> *Abans d'imprimir aquest missatge, pensa en el medi ambient.<br>
><br>
<br>
<br>
<br>
</div></div>--<br>
<div><div></div><div class="h5">*Les normes hi són perquè hi pensis abans de saltar-te-les<br>
*La vida és com una taronja, què esperes a exprimir-la?<br>
*Si creus que l'educació és cara, prova la ignorància.<br>
*La vida és com una moneda, la pots gastar en el que vulguis però<br>
només una vegada.<br>
*Abans d'imprimir aquest missatge, pensa en el medi ambient.<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Cheers,<br>Mukesh<br>