From b06edd1f27948aa3e34bbb0a22172fc8d87b4fe6 Mon Sep 17 00:00:00 2001 From: Super-User Date: Sun, 28 Jun 2009 20:15:45 +0000 Subject: more efficient fixup of conversations --- scripts/fixup_conversations.php | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) (limited to 'scripts') 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"; } -- cgit v1.2.3-54-g00ecf