summaryrefslogtreecommitdiff
path: root/scripts/fixup_conversations.php
diff options
context:
space:
mode:
authorSuper-User <root@xmpp001.controlezvous.ca>2009-06-28 20:15:45 +0000
committerSuper-User <root@xmpp001.controlezvous.ca>2009-06-28 20:15:45 +0000
commitb06edd1f27948aa3e34bbb0a22172fc8d87b4fe6 (patch)
tree9274eab06efcee45c29fe7a554214bb440caea79 /scripts/fixup_conversations.php
parentc755970141810a98e08f47c52568f635167e34f1 (diff)
more efficient fixup of conversations
Diffstat (limited to 'scripts/fixup_conversations.php')
-rwxr-xr-xscripts/fixup_conversations.php31
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";
}