Refs #19102 -- Removed flaky test Ticket19102Tests.test_ticket_19102_distinct_on.
The subquery pushdown only happens because another table is involved in filter. It's not the distinct usage that causes the pushdown. The distinct('description').order_by('pk') expression is not valid because SELECT DISTINCT ON must match initial ORDER BY expressions which is not the case here.
This commit is contained in:
parent
f8f35e8c53
commit
4e8ecf0cb6
|
@ -291,20 +291,6 @@ class Ticket19102Tests(TestCase):
|
||||||
self.assertFalse(Login.objects.filter(pk=self.l1.pk).exists())
|
self.assertFalse(Login.objects.filter(pk=self.l1.pk).exists())
|
||||||
self.assertTrue(Login.objects.filter(pk=self.l2.pk).exists())
|
self.assertTrue(Login.objects.filter(pk=self.l2.pk).exists())
|
||||||
|
|
||||||
@skipUnlessDBFeature("update_can_self_select")
|
|
||||||
@skipUnlessDBFeature('can_distinct_on_fields')
|
|
||||||
def test_ticket_19102_distinct_on(self):
|
|
||||||
# Both Login objs should have same description so that only the one
|
|
||||||
# having smaller PK will be deleted.
|
|
||||||
Login.objects.update(description='description')
|
|
||||||
with self.assertNumQueries(1):
|
|
||||||
Login.objects.distinct('description').order_by('pk').filter(
|
|
||||||
orgunit__name__isnull=False
|
|
||||||
).delete()
|
|
||||||
# Assumed that l1 which is created first has smaller PK.
|
|
||||||
self.assertFalse(Login.objects.filter(pk=self.l1.pk).exists())
|
|
||||||
self.assertTrue(Login.objects.filter(pk=self.l2.pk).exists())
|
|
||||||
|
|
||||||
@skipUnlessDBFeature("update_can_self_select")
|
@skipUnlessDBFeature("update_can_self_select")
|
||||||
def test_ticket_19102_select_related(self):
|
def test_ticket_19102_select_related(self):
|
||||||
with self.assertNumQueries(1):
|
with self.assertNumQueries(1):
|
||||||
|
|
Loading…
Reference in New Issue