﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
8769	Slightly over-aggressive join promotion in SQL for ordering	Malcolm Tredinnick	Malcolm Tredinnick	"Right now, we promote any table join used in the ordering portion to an outer join if it potentially contains NULL values (the corresponding Django field has `null=True`). There are some cases where this is unnecessary. If we already used that join in the filter statements and didn't make it an outer join at that point, it's because we are already filtering out the null values, so an inner join still won't lose any results in the ordering.

Thus, we should only promote joins for ordering if we needed to add that join for the ordering (this means `self.alias_refcount[...] == 1`, or something else that's easily detectable).

Noting this so I don't forget. Don't want to introduce new bugs at the moment and it's a bit of an edge case, so it can wait until post-1.0."	Cleanup/optimization	closed	Database layer (models, ORM)	dev	Normal	fixed			Accepted	0	0	0	0	0	0
