From: Don Armstrong Date: Wed, 11 Apr 2018 22:23:02 +0000 (-0700) Subject: use a subselect for correspondent too X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=6738ad90240a94fc9aee5303b1287e923f888deb;p=debbugs.git use a subselect for correspondent too --- diff --git a/Debbugs/Bugs.pm b/Debbugs/Bugs.pm index 3209e52..636c65d 100644 --- a/Debbugs/Bugs.pm +++ b/Debbugs/Bugs.pm @@ -527,12 +527,21 @@ sub get_bugs_by_db{ } } if (exists $param{correspondent}) { - $rs = $rs->search({'message_correspondents.addr' => - [make_list($param{correspondent})], + my $message_rs = + $s->resultset('Message')-> + search({'correspondent.addr' => + [make_list($param{correspondent})], + }, + {join => {message_correspondents => 'correspondent'}, + columns => ['id'], + group_by => ['me.id'], + }, + ); + $rs = $rs->search({'bug_messages.message' => + {-in => $message_rs->get_column('id')->as_query()}, }, - {join => {correspondent => - {bug_messages => - {message => 'message_correspondents'}}}}, + {join => 'bug_messages', + }, ); } if (exists $param{affects}) {