diff options
author | Super-User <root@xmpp001.controlezvous.ca> | 2009-06-28 20:15:45 +0000 |
---|---|---|
committer | Super-User <root@xmpp001.controlezvous.ca> | 2009-06-28 20:15:45 +0000 |
commit | b06edd1f27948aa3e34bbb0a22172fc8d87b4fe6 (patch) | |
tree | 9274eab06efcee45c29fe7a554214bb440caea79 | |
parent | c755970141810a98e08f47c52568f635167e34f1 (diff) |
more efficient fixup of conversations
-rwxr-xr-x | scripts/fixup_conversations.php | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/scripts/fixup_conversations.php b/scripts/fixup_conversations.php index 2cfa422e6..0be0b4bac 100755 --- a/scripts/fixup_conversations.php +++ b/scripts/fixup_conversations.php @@ -24,22 +24,17 @@ require_once INSTALLDIR.'/scripts/commandline.inc'; common_log(LOG_INFO, 'Fixing up conversations.'); -$notice = new Notice(); -$notice->whereAdd('conversation is null'); -$notice->orderBy('id'); +$nid = new Notice(); +$nid->query('select id, reply_to from notice where conversation is null'); -$cnt = $notice->find(); +while ($nid->fetch()) { -print "Found $cnt notices.\n"; - -while ($notice->fetch()) { - - print "$notice->id =>"; - - $orig = clone($notice); - - if (empty($notice->reply_to)) { - $notice->conversation = $notice->id; + $cid = null; + + $notice = new Notice(); + + if (empty($nid->reply_to)) { + $cid = $nid->id; } else { $reply = Notice::staticGet('id', $notice->reply_to); @@ -52,6 +47,9 @@ while ($notice->fetch()) { } else { $notice->conversation = $reply->conversation; } + + unset($reply); + $reply = null; } print "$notice->conversation"; @@ -63,5 +61,10 @@ while ($notice->fetch()) { continue; } + $notice = null; + $orig = null; + unset($notice); + unset($orig); + print ".\n"; } |