#24924 closed Uncategorized (fixed)
Incorrect Join Promotion with Annotations
| Reported by: | Mark Lavin | Owned by: | nobody |
|---|---|---|---|
| Component: | Uncategorized | Version: | 1.8 |
| Severity: | Normal | Keywords: | |
| Cc: | Triage Stage: | Unreviewed | |
| Has patch: | yes | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
This was originally addressed in #24766 and released in 1.8.2 but as noted here https://code.djangoproject.com/ticket/24766#comment:7 this problem still exists if there are multiple annotations. Working on a failing test case.
Attachments (1)
Change History (5)
by , 10 years ago
| Attachment: | 24924.diff added |
|---|
comment:1 by , 10 years ago
Attached a test case that fails because of this issue.
$ python runtests.py expressions_case
Creating test database for alias 'default'...
Creating test database for alias 'other'...
......................................F.....................s...............
======================================================================
FAIL: test_join_promotion_with_multiple_annotations (expressions_case.tests.CaseExpressionTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/rob/rob/caktus/django/tests/expressions_case/tests.py", line 1073, in test_join_promotion_with_multiple_annotations
lambda x: (x, x.foo, x.bar)
File "/home/rob/rob/caktus/django/django/test/testcases.py", line 932, in assertQuerysetEqual
return self.assertEqual(list(items), values, msg=msg)
AssertionError: Lists differ: [] != [(<CaseTestModel: 1, 1>, 3, 5)]
Second list contains 1 additional elements.
First extra element 0:
(<CaseTestModel: 1, 1>, 3, 5)
- []
+ [(<CaseTestModel: 1, 1>, 3, 5)]
----------------------------------------------------------------------
Ran 76 tests in 0.172s
FAILED (failures=1, skipped=1)
Destroying test database for alias 'default'...
Destroying test database for alias 'other'...
The query returns an empty list because of the inner join.
comment:2 by , 10 years ago
| Has patch: | set |
|---|
Added PR to fix https://github.com/django/django/pull/4810. Docs added under the assumption that this bug would be backported to 1.8.X.
Note:
See TracTickets
for help on using tickets.
Failing test case