django/tests
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
..
admin_changelist PEP8 cleanup 2013-11-02 23:50:49 -05:00
admin_custom_urls PEP8 cleanup 2013-11-02 23:50:49 -05:00
admin_docs PEP8 cleanup 2013-11-02 23:50:49 -05:00
admin_filters Fixed all E226 violations 2013-11-03 10:08:55 -08:00
admin_inlines PEP8 cleanup 2013-11-02 23:50:49 -05:00
admin_ordering PEP8 cleanup 2013-11-02 23:50:49 -05:00
admin_registration Fixed typo in exception message; refs #19414 2013-09-19 06:24:12 -04:00
admin_scripts PEP8 cleanup 2013-11-02 23:50:49 -05:00
admin_util PEP8 cleanup 2013-11-02 23:50:49 -05:00
admin_validation PEP8 cleanup 2013-11-02 23:50:49 -05:00
admin_views PEP8 cleanup 2013-11-02 23:50:49 -05:00
admin_widgets Merging in master 2013-11-03 07:19:25 -06:00
aggregation PEP8 cleanup 2013-11-02 23:50:49 -05:00
aggregation_regress Fixed all E226 violations 2013-11-03 10:08:55 -08:00
app_cache Make multi-app-cache tests work again 2013-07-22 19:36:03 +01:00
app_loading Fixed #21302 -- Fixed unused imports and import *. 2013-11-02 15:24:56 -04:00
backends PEP8 cleanup 2013-11-02 23:50:49 -05:00
base Fixed "redefinition of unused 'foo' from line X" pyflakes warnings. 2013-10-10 11:09:42 -04:00
bash_completion Whitespace cleanup. 2013-10-10 16:49:20 -04:00
basic PEP8 cleanup 2013-11-02 23:50:49 -05:00
bug639 PEP8 cleanup 2013-11-02 23:50:49 -05:00
bug8245 Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
builtin_server Stopped using django.utils.unittest in the test suite. 2013-07-01 14:29:33 +02:00
bulk_create Fixed all E226 violations 2013-11-03 10:08:55 -08:00
cache Fixed all E226 violations 2013-11-03 10:08:55 -08:00
check PEP8 cleanup 2013-11-02 23:50:49 -05:00
choices PEP8 cleanup 2013-11-02 23:50:49 -05:00
commands_sql PEP8 cleanup 2013-11-02 23:50:49 -05:00
comment_tests Fixed all E261 warnings 2013-11-02 23:50:33 -05:00
conditional_processing PEP8 cleanup 2013-11-02 23:50:49 -05:00
contenttypes_tests PEP8 cleanup 2013-11-02 23:50:49 -05:00
context_processors Fixed #21302 -- Fixed unused imports and import *. 2013-11-02 15:24:56 -04:00
createsuperuser Whitespace cleanup. 2013-10-10 16:49:20 -04:00
csrf_tests PEP8 cleanup 2013-11-02 23:50:49 -05:00
custom_columns PEP8 cleanup 2013-11-02 23:50:49 -05:00
custom_columns_regress PEP8 cleanup 2013-11-02 23:50:49 -05:00
custom_managers PEP8 cleanup 2013-11-02 23:50:49 -05:00
custom_managers_regress PEP8 cleanup 2013-11-02 23:50:49 -05:00
custom_methods Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
custom_pk PEP8 cleanup 2013-11-02 23:50:49 -05:00
datatypes Fixed all E251 violations 2013-11-03 10:17:58 -08:00
dates PEP8 cleanup 2013-11-02 23:50:49 -05:00
datetimes PEP8 cleanup 2013-11-02 23:50:49 -05:00
db_backends Fixed #13813 -- Comparison of DatabaseWrappers doesn't raise errors. 2013-07-08 09:35:08 +10:00
db_typecasts PEP8 cleanup 2013-11-02 23:50:49 -05:00
decorators PEP8 2013-11-02 23:50:38 -05:00
defaultfilters Added more tests and documentation for dictsort. 2013-11-06 00:26:58 +01:00
defer PEP8 2013-11-02 23:50:38 -05:00
defer_regress PEP8 cleanup 2013-11-02 23:50:49 -05:00
delete PEP8 cleanup 2013-11-02 23:50:49 -05:00
delete_regress PEP8 cleanup 2013-11-02 23:50:49 -05:00
deprecation Fixed #18149 -- Changed language codes for Chinese 2013-11-04 23:03:28 +01:00
dispatch PEP8 cleanup 2013-11-02 23:50:49 -05:00
distinct_on_fields PEP8 cleanup 2013-11-02 23:50:49 -05:00
empty Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
expressions Fixed all E226 violations 2013-11-03 10:08:55 -08:00
expressions_regress PEP8 cleanup 2013-11-02 23:50:49 -05:00
extra_regress PEP8 cleanup 2013-11-02 23:50:49 -05:00
field_deconstruction Removed unused local variables in tests. 2013-10-19 08:31:38 -04:00
field_defaults Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
field_subclassing PEP8 cleanup 2013-11-02 23:50:49 -05:00
file_storage PEP8 cleanup 2013-11-02 23:50:49 -05:00
file_uploads PEP8 cleanup 2013-11-02 23:50:49 -05:00
files Fixed #21302 -- Fixed unused imports and import *. 2013-11-02 15:24:56 -04:00
fixtures PEP8 cleanup 2013-11-02 23:50:49 -05:00
fixtures_model_package PEP8 cleanup 2013-11-02 23:50:49 -05:00
fixtures_regress PEP8 cleanup 2013-11-02 23:50:49 -05:00
force_insert_update Fixed all E251 violations 2013-11-03 10:17:58 -08:00
foreign_object PEP8 cleanup 2013-11-02 23:50:49 -05:00
forms_tests Fixed all E251 violations 2013-11-03 10:17:58 -08:00
generic_inline_admin PEP8 cleanup 2013-11-02 23:50:49 -05:00
generic_relations PEP8 cleanup 2013-11-02 23:50:49 -05:00
generic_relations_regress Fixed #10461 -- bug in generic relation + annotate() case 2013-11-05 20:02:24 +02:00
generic_views PEP8 cleanup 2013-11-02 23:50:49 -05:00
get_earliest_or_latest Removed unused local variables in tests. 2013-10-19 08:31:38 -04:00
get_object_or_404 PEP8 cleanup 2013-11-02 23:50:49 -05:00
get_or_create Removed unused local variables in tests. 2013-10-19 08:31:38 -04:00
get_or_create_regress PEP8 cleanup 2013-11-02 23:50:49 -05:00
handlers PEP8 cleanup 2013-11-02 23:50:49 -05:00
http_utils Fixed #21268 -- Fixed E303 pep8 warnings 2013-10-18 01:46:24 +01:00
httpwrappers PEP8 cleanup 2013-11-02 23:50:49 -05:00
i18n Fixed #18419 -- Full backwards compatibility for old language codes 2013-11-05 19:26:58 +01:00
indexes Stopped using django.utils.unittest in the test suite. 2013-07-01 14:29:33 +02:00
initial_sql_regress Fixed all E251 violations 2013-11-03 10:17:58 -08:00
inline_formsets PEP8 cleanup 2013-11-02 23:50:49 -05:00
inspectdb PEP8 cleanup 2013-11-02 23:50:49 -05:00
introspection Fixed #21097 - Added DatabaseFeature.can_introspect_autofield 2013-09-14 09:48:59 +03:00
invalid_models Fixed all E261 warnings 2013-11-02 23:50:33 -05:00
known_related_objects PEP8 cleanup 2013-11-02 23:50:49 -05:00
logging_tests PEP8 cleanup 2013-11-02 23:50:49 -05:00
lookup Fixed all E226 violations 2013-11-03 10:08:55 -08:00
m2m_and_m2o PEP8 cleanup 2013-11-02 23:50:49 -05:00
m2m_intermediary PEP8 cleanup 2013-11-02 23:50:49 -05:00
m2m_multiple Fixed "indentation is not a multiple of four" pep8 issues. 2013-09-03 14:22:21 -04:00
m2m_recursive Fix all violators of E231 2013-10-26 12:15:03 -07:00
m2m_regress PEP8 cleanup 2013-11-02 23:50:49 -05:00
m2m_signals PEP8 cleanup 2013-11-02 23:50:49 -05:00
m2m_through PEP8 cleanup 2013-11-02 23:50:49 -05:00
m2m_through_regress PEP8 cleanup 2013-11-02 23:50:49 -05:00
m2o_recursive PEP8 cleanup 2013-11-02 23:50:49 -05:00
mail Undelete the login() call inadvertantly removed in 4e0a2fe59c 2013-10-25 11:23:19 +02:00
managers_regress Fixed #21302 -- Fixed unused imports and import *. 2013-11-02 15:24:56 -04:00
many_to_many PEP8 cleanup 2013-11-02 23:50:49 -05:00
many_to_one PEP8 cleanup 2013-11-02 23:50:49 -05:00
many_to_one_null PEP8 cleanup 2013-11-02 23:50:49 -05:00
many_to_one_regress PEP8 cleanup 2013-11-02 23:50:49 -05:00
max_lengths PEP8 cleanup 2013-11-02 23:50:49 -05:00
middleware PEP8 cleanup 2013-11-02 23:50:49 -05:00
middleware_exceptions PEP8 cleanup 2013-11-02 23:50:49 -05:00
migrate_signals Updated syncdb -> migrate in tests. 2013-09-03 11:51:34 -04:00
migrations flake8 fixes 2013-11-06 20:00:48 -08:00
model_fields PEP8 cleanup 2013-11-02 23:50:49 -05:00
model_forms Merge pull request #1852 from jasonamyers/cleanup/PEP8 2013-11-03 09:51:49 -08:00
model_forms_regress PEP8 2013-11-02 23:50:38 -05:00
model_formsets PEP8 2013-11-02 23:50:38 -05:00
model_formsets_regress PEP8 2013-11-02 23:50:38 -05:00
model_inheritance PEP8 2013-11-02 23:50:38 -05:00
model_inheritance_regress PEP8 2013-11-02 23:50:38 -05:00
model_inheritance_same_model_name PEP8 cleanup 2013-11-02 23:50:49 -05:00
model_inheritance_select_related PEP8 2013-11-02 23:50:38 -05:00
model_package Fixed #21302 -- Fixed unused imports and import *. 2013-11-02 15:24:56 -04:00
model_permalink Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
model_regress Fixed #21288 -- Fixed E126 pep8 warnings 2013-10-21 08:31:30 -04:00
model_validation PEP8 2013-11-02 23:50:38 -05:00
modeladmin PEP8 2013-11-02 23:50:38 -05:00
multiple_database PEP8 cleanup 2013-11-02 23:50:49 -05:00
mutually_referential Fixing E302 Errors 2013-11-02 23:48:47 -05:00
nested_foreign_keys Fixing E302 Errors 2013-11-02 23:48:47 -05:00
null_fk Fixed all E251 violations 2013-11-03 10:17:58 -08:00
null_fk_ordering Fixing E302 Errors 2013-11-02 23:48:47 -05:00
null_queries Fixing E302 Errors 2013-11-02 23:48:47 -05:00
one_to_one Fixing E302 Errors 2013-11-02 23:48:47 -05:00
one_to_one_regress Fixed #21216 -- Allow `OneToOneField` reverse accessor to be hidden. 2013-10-03 13:20:05 -04:00
or_lookups Fixed #21268 -- Fixed E303 pep8 warnings 2013-10-18 01:46:24 +01:00
order_with_respect_to Fixing E302 Errors 2013-11-02 23:48:47 -05:00
ordering Fixing E302 Errors 2013-11-02 23:48:47 -05:00
pagination Fixed #21288 -- Fixed E126 pep8 warnings 2013-10-21 08:31:30 -04:00
prefetch_related Fixing E302 Errors 2013-11-02 23:48:47 -05:00
properties Fixed all E251 violations 2013-11-03 10:17:58 -08:00
proxy_model_inheritance Fixing E302 Errors 2013-11-02 23:48:47 -05:00
proxy_models Fixing E302 Errors 2013-11-02 23:48:47 -05:00
queries Fixed #21376 -- New implementation for query join promotion logic 2013-11-07 12:53:26 +02:00
queryset_pickle Fixed all E261 warnings 2013-11-02 23:50:33 -05:00
raw_query Fixing E302 Errors 2013-11-02 23:48:47 -05:00
requests Fixed all E226 violations 2013-11-03 10:08:55 -08:00
requirements Fixed #21032 -- pip 1.4 can't install pytz. 2013-09-06 22:11:55 -05:00
reserved_names Removed unused local variables in tests. 2013-10-19 08:31:38 -04:00
resolve_url Whitespace cleanup. 2013-10-10 16:49:20 -04:00
responses Fixing E302 Errors 2013-11-02 23:48:47 -05:00
reverse_lookup Fixing E302 Errors 2013-11-02 23:48:47 -05:00
reverse_single_related Fixing E302 Errors 2013-11-02 23:48:47 -05:00
save_delete_hooks Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
schema Fixed all E251 violations 2013-11-03 10:17:58 -08:00
select_for_update Fixed #21302 -- Fixed unused imports and import *. 2013-11-02 15:24:56 -04:00
select_related Fixing E302 Errors 2013-11-02 23:48:47 -05:00
select_related_onetoone Fixing E302 Errors 2013-11-02 23:48:47 -05:00
select_related_regress Fixed all E251 violations 2013-11-03 10:17:58 -08:00
serializers Fixing E302 Errors 2013-11-02 23:48:47 -05:00
serializers_regress Fixed all E261 warnings 2013-11-02 23:50:33 -05:00
servers Fixing E302 Errors 2013-11-02 23:48:47 -05:00
settings_tests Fixing E302 Errors 2013-11-02 23:48:47 -05:00
signals Fixing E302 Errors 2013-11-02 23:48:47 -05:00
signals_regress Fixing E302 Errors 2013-11-02 23:48:47 -05:00
signed_cookies_tests Fixed all E251 violations 2013-11-03 10:17:58 -08:00
signing Fixing E302 Errors 2013-11-02 23:48:47 -05:00
sites_framework Fixed all E226 violations 2013-11-03 10:08:55 -08:00
staticfiles_tests Fixing E302 Errors 2013-11-02 23:48:47 -05:00
str Fixing E302 Errors 2013-11-02 23:48:47 -05:00
string_lookup Fixing E302 Errors 2013-11-02 23:48:47 -05:00
swappable_models Fixed assorted flake8 errors. 2013-10-11 07:25:14 -04:00
syndication Fixing E302 Errors 2013-11-02 23:48:47 -05:00
tablespaces Fixing E302 Errors 2013-11-02 23:48:47 -05:00
template_tests Fixed all E261 warnings 2013-11-02 23:50:33 -05:00
templates Added a test for AdminSite.app_index_template; refs #8498. 2013-07-31 06:59:15 -04:00
test_client Fixed all E261 warnings 2013-11-02 23:50:33 -05:00
test_client_regress Fixed all E261 warnings 2013-11-02 23:50:33 -05:00
test_discovery_sample Removed tests for django.utils.unittest vs. unittest. 2013-07-01 21:49:11 +02:00
test_discovery_sample2 Fixed #17365, #17366, #18727 -- Switched to discovery test runner. 2013-05-10 23:08:45 -04:00
test_runner Fixing E302 Errors 2013-11-02 23:48:47 -05:00
test_runner_deprecation_app Fixing E302 Errors 2013-11-02 23:48:47 -05:00
test_runner_invalid_app Fixed #17365, #17366, #18727 -- Switched to discovery test runner. 2013-05-10 23:08:45 -04:00
test_suite_override Removed tests for django.utils.unittest vs. unittest. 2013-07-01 21:49:11 +02:00
test_utils Fixing E302 Errors 2013-11-02 23:48:47 -05:00
text Fixed #20231 -- Don't use allow_lazy on smart_split 2013-04-10 13:05:29 +02:00
timezones Fixing E302 Errors 2013-11-02 23:48:47 -05:00
transactions Fixing E302 Errors 2013-11-02 23:48:47 -05:00
transactions_regress Fixing E302 Errors 2013-11-02 23:48:47 -05:00
unmanaged_models Fixing E302 Errors 2013-11-02 23:48:47 -05:00
update Fixing E302 Errors 2013-11-02 23:48:47 -05:00
update_only_fields Fixing E302 Errors 2013-11-02 23:48:47 -05:00
urlpatterns_reverse Fixing E302 Errors 2013-11-02 23:48:47 -05:00
user_commands Fixing E302 Errors 2013-11-02 23:48:47 -05:00
utils_tests Fixed all E226 violations 2013-11-03 10:08:55 -08:00
validation Fixing E302 Errors 2013-11-02 23:48:47 -05:00
validators Fixing E302 Errors 2013-11-02 23:48:47 -05:00
version Fixing E302 Errors 2013-11-02 23:48:47 -05:00
view_tests Fixed #21322 -- Error message when CSRF cookie is missing 2013-11-03 20:05:10 +01:00
wsgi Fixing E302 Errors 2013-11-02 23:48:47 -05:00
.coveragerc Made coverage ignore files without associated source code. 2013-08-25 22:29:43 -03:00
runtests.py Fixed #19941 -- Removed sys.path hack when running the test suite. 2013-10-23 18:27:06 -04:00
test_sqlite.py Updated an inaccurate comment. 2013-02-26 10:00:14 +01:00
urls.py Renamed some tests and removed references to modeltests/regressiontests. 2013-02-26 14:36:57 +01:00