> 
> One of these is: the "Or" in the vocab's central query is a performance
> hazard. "OR" of ten is. The TeamParticipation table makes everyone a member of
> themselves, so the transitive-ownership check will also show all direct-
> ownership cases. Yet the query plan probably won't be able to avoid fetching
> data for the transitive check, so you may be getting one query for the price
> of two.
> 
> The other is: the change is pretty fundamental to the vocabulary. If the
> parameter you're passing is always going to be a literal, why not make this a
> separate vocab and use inheritance to express the commonality? It also means
> you don't have to kludge around the difference in query conditions.
> 
> Putting these two together, I would say: keep the current dictionary as it is.
> Create a separate one that's generalized for team-owned branches. It's going
> to be faster and easier to read, and maybe someday we'll decide that we don't
> actually need the direct-ownership one as much as we thought.


I like the suggested changes. I didn't realise that everyone was a member of 
themselves. 
I've added a new method to IBranchCollection - ownedByTeamMember. This makes 
the API easier to understand. The only use of the HostedBranchRestrictedOnOwner 
vocab that I can see is the gui for choosing the product series translation 
branch so I don't see a need to subclass the vocab at this stage. 
-- 
https://code.launchpad.net/~wallyworld/launchpad/branch-picker-team-branches/+merge/52356
Your team Launchpad code reviewers is requested to review the proposed merge of 
lp:~wallyworld/launchpad/branch-picker-team-branches into lp:launchpad.

_______________________________________________
Mailing list: https://launchpad.net/~launchpad-reviewers
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~launchpad-reviewers
More help   : https://help.launchpad.net/ListHelp

Reply via email to