Small cleanup to split_exclude()
|Reported by:||Anssi Kääriäinen||Owned by:||nobody|
|Component:||Database layer (models, ORM)||Version:||master|
|Cc:||Triage Stage:||Ready for checkin|
|Has patch:||no||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
sql.query.split_exclude() contains this call:
query = Query(self.model) query.add_filter(filter_expr, can_reuse=can_reuse)
Here a new subquery is created, and the can_reuse set is a set of joins that are reusable from the outer query.
The problem is that passing the can_reuse here doesn't make any sense - the new query contains no joins so there of course isn't anything to reuse. If the .add_filter() adds something to the can_reuse set, that addition will be incorrect for the outer query. However I am not sure if it is possible to create an actual error because of this.
This also makes it slightly easier to see what happens in split_exclude().
When I got rid of can_reuse all tests pass.