Update ReplyPipelines, use more efficent reply count calculation

This commit is contained in:
Daniel Supernault 2022-12-24 01:44:39 -07:00
parent e905fc2925
commit d4dfa95c30
No known key found for this signature in database
GPG key ID: 0DEF1C662C9033F7
2 changed files with 2 additions and 4 deletions

View file

@ -60,8 +60,7 @@ class CommentPipeline implements ShouldQueue
$actor = $comment->profile; $actor = $comment->profile;
if(config('database.default') === 'mysql') { if(config('database.default') === 'mysql') {
$count = DB::select( DB::raw("select id, in_reply_to_id from statuses, (select @pv := :kid) initialisation where id > @pv and find_in_set(in_reply_to_id, @pv) > 0 and @pv := concat(@pv, ',', id)"), [ 'kid' => $status->id]); $status->reply_count = $status->reply_count + 1;
$status->reply_count = count($count);
$status->save(); $status->save();
} }

View file

@ -69,8 +69,7 @@ class StatusReplyPipeline implements ShouldQueue
} }
if(config('database.default') === 'mysql') { if(config('database.default') === 'mysql') {
$count = DB::select( DB::raw("select id, in_reply_to_id from statuses, (select @pv := :kid) initialisation where id > @pv and find_in_set(in_reply_to_id, @pv) > 0 and @pv := concat(@pv, ',', id)"), [ 'kid' => $reply->id]); $reply->reply_count = $reply->reply_count + 1;
$reply->reply_count = count($count);
$reply->save(); $reply->save();
} }