Comment 11 for bug 787294

Revision history for this message
Robert Collins (lifeless) wrote : Re: Person:+patches timeouts

recasting as a wide filter:
with ss as (select * from structuralsubscription where subscriber=343381)
SELECT distinct BugTask.bug FROM BugTask inner join bug on bug.id=bugtask.bug LEFT JOIN Product ON BugTask.product = Product.id AND Product.active left join ss ss1 on BugTask.product = ss1.product left join ss ss2 on BugTask.productseries = ss2.productseries left join ss ss3 on Product.project = ss3.project left join ss ss4 on BugTask.distribution = ss4.distribution
         AND (BugTask.sourcepackagename = ss4.sourcepackagename
              OR ss4.sourcepackagename IS NULL) left join ss ss5 on BugTask.distroseries = ss5.distroseries left join ss ss6 on BugTask.milestone = ss6.milestone
         WHERE ((BugTask.status = 10) OR (BugTask.status = 15) OR (BugTask.status = 20) OR (BugTask.status = 21) OR (BugTask.status = 22) OR (BugTask.status = 25))
           AND Bug.duplicateof IS NULL
           AND Bug.latest_patch_uploaded IS NOT NULL
           AND Bug.private = FALSE
          AND (Bugtask.product IS NULL
                OR Product.active = TRUE)
AND null_count(ARRAY[ss1.id, ss2.id, ss3.id, ss4.id, ss5.id, ss6.id]) < 6;

-> 1.7 seconds. WIN.