Comment rot solved
I found the cause of comment rot. There was an old legacy setting that I didn't know what it did. It was among the last of the things to trace out in the code. I traced it out and found the offending code that was deleting comments and entry properties (status, userpic, etc) and removed it. Please let me know in THIS post if any NEW comment rot occurs after this post.
This has been a very very long and trying road and I want to thank all of you who have stuck it out here in spite of this major bug.
sub new_entry_cleanup_hack {
my ($u, $jitemid) = @_;
# sanitize input
$jitemid += 0;
return unless $jitemid;
my $ownerid = LJ::want_userid($u);
return unless $ownerid;
# delete logprops
$u->do("DELETE FROM logprop2 WHERE journalid=$ownerid AND jitemid=$jitemid");
# delete comments
my $ids = LJ::Talk::get_talk_data($u, 'L', $jitemid);
return unless ref $ids eq 'HASH' && %$ids;
my $list = join ',', map { $_+0 } keys %$ids;
$u->do("DELETE FROM talk2 WHERE journalid=$ownerid AND jtalkid IN ($list)");
$u->do("DELETE FROM talktext2 WHERE journalid=$ownerid AND jtalkid IN ($list)");
$u->do("DELETE FROM talkprop2 WHERE journalid=$ownerid AND jtalkid IN ($list)");
}
</pre>
Edit: After looking at the code even more closely I am sure that this was the cause, I think we can call comment rot a closed issue. Now to getting to writing a mass icon uploader.
This has been a very very long and trying road and I want to thank all of you who have stuck it out here in spite of this major bug.
sub new_entry_cleanup_hack {
my ($u, $jitemid) = @_;
# sanitize input
$jitemid += 0;
return unless $jitemid;
my $ownerid = LJ::want_userid($u);
return unless $ownerid;
# delete logprops
$u->do("DELETE FROM logprop2 WHERE journalid=$ownerid AND jitemid=$jitemid");
# delete comments
my $ids = LJ::Talk::get_talk_data($u, 'L', $jitemid);
return unless ref $ids eq 'HASH' && %$ids;
my $list = join ',', map { $_+0 } keys %$ids;
$u->do("DELETE FROM talk2 WHERE journalid=$ownerid AND jtalkid IN ($list)");
$u->do("DELETE FROM talktext2 WHERE journalid=$ownerid AND jtalkid IN ($list)");
$u->do("DELETE FROM talkprop2 WHERE journalid=$ownerid AND jtalkid IN ($list)");
}
</pre>
Edit: After looking at the code even more closely I am sure that this was the cause, I think we can call comment rot a closed issue. Now to getting to writing a mass icon uploader.
I really hope this is it! Thank you! I am so excited!
You really rock!
Off to spread the news. :)
Hip Hip HOORAY!!!!
HIP hip hooray!!!!
Hip HIP hooray!!!!!!!
Thank you so SO much for all the hard work in tracking this down, Squeaky! My husband is a computer programmer as well and I've spent many days watching him pace and tear his hair out while he chases some god forsaken bug through his code. So I can understand how relieved you must be at finding it. I know he always is when he finally solves a frustrating issue.
Thank you again! So glad this is solved! ♥♥♥