1
0
mirror of https://github.com/django/django.git synced 2025-04-01 12:06:43 +00:00
Anssi Kääriäinen 6fe2b001db Fixed #21376 -- New implementation for query join promotion logic
This commit introduced a new class JoinPromoter that can be used to
abstract away join promotion problems for complex filter conditions.
Query._add_q() and Query.combine() now use the new class.

Also, added a lot of comments about why join promotion is done the way
it is.

Thanks to Tim Graham for original report and testing the changes, and
for Loic Bistuer for review.
2013-11-07 12:53:26 +02:00
..
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-03 10:08:55 -08:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-03 07:19:25 -06:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-10-10 16:49:20 -04:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-03 10:08:55 -08:00
2013-11-03 10:08:55 -08:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:33 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-10-10 16:49:20 -04:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-03 10:17:58 -08:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:38 -05:00
2013-11-02 23:50:38 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-03 10:08:55 -08:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-03 10:17:58 -08:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:33 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-03 10:08:55 -08:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-10-26 12:15:03 -07:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:49 -05:00
2013-11-06 20:00:48 -08:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:50:38 -05:00
2013-11-02 23:50:38 -05:00
2013-11-02 23:50:38 -05:00
2013-11-02 23:50:38 -05:00
2013-11-02 23:50:38 -05:00
2013-11-02 23:50:38 -05:00
2013-11-02 23:50:38 -05:00
2013-11-02 23:50:38 -05:00
2013-11-02 23:50:49 -05:00
2013-11-02 23:48:47 -05:00
2013-11-02 23:48:47 -05:00
2013-11-03 10:17:58 -08:00
2013-11-02 23:48:47 -05:00
2013-11-02 23:48:47 -05:00
2013-11-02 23:48:47 -05:00
2013-11-02 23:48:47 -05:00
2013-11-02 23:48:47 -05:00
2013-11-02 23:48:47 -05:00
2013-11-03 10:17:58 -08:00
2013-11-02 23:48:47 -05:00
2013-11-02 23:50:33 -05:00
2013-11-02 23:48:47 -05:00
2013-11-03 10:08:55 -08:00
2013-10-10 16:49:20 -04:00
2013-11-02 23:48:47 -05:00
2013-11-02 23:48:47 -05:00
2013-11-02 23:48:47 -05:00
2013-11-03 10:17:58 -08:00
2013-11-02 23:48:47 -05:00
2013-11-02 23:48:47 -05:00
2013-11-02 23:48:47 -05:00
2013-11-02 23:48:47 -05:00
2013-11-02 23:48:47 -05:00
2013-11-02 23:48:47 -05:00
2013-11-02 23:48:47 -05:00
2013-11-03 10:08:55 -08:00
2013-11-02 23:48:47 -05:00
2013-11-02 23:48:47 -05:00
2013-11-02 23:48:47 -05:00
2013-11-02 23:48:47 -05:00
2013-11-02 23:48:47 -05:00
2013-11-02 23:50:33 -05:00
2013-11-02 23:50:33 -05:00
2013-11-02 23:48:47 -05:00
2013-11-02 23:48:47 -05:00
2013-11-02 23:48:47 -05:00
2013-11-02 23:48:47 -05:00
2013-11-02 23:48:47 -05:00
2013-11-02 23:48:47 -05:00
2013-11-02 23:48:47 -05:00
2013-11-02 23:48:47 -05:00
2013-11-02 23:48:47 -05:00
2013-11-02 23:48:47 -05:00
2013-11-03 10:08:55 -08:00
2013-11-02 23:48:47 -05:00
2013-11-02 23:48:47 -05:00
2013-11-02 23:48:47 -05:00
2013-11-02 23:48:47 -05:00
2013-02-26 10:00:14 +01:00