mirror of
https://github.com/django/django.git
synced 2025-08-02 18:13:02 +00:00
Fixed #16809 -- Forced MySQL to behave like a database. This avoids a problem where queries that do IS NONE checks can return the wrong result the first time they are executed if there is a recently inserted row. Thanks to James Pyrich for the debug work and patch.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16785 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
161c6328a0
commit
fcee0c1b66
2 changed files with 10 additions and 15 deletions
|
@ -1070,10 +1070,6 @@ class Queries4Tests(BaseQuerysetTest):
|
|||
ci3 = CategoryItem.objects.create(category=c3)
|
||||
|
||||
qs = CategoryItem.objects.exclude(category__specialcategory__isnull=False)
|
||||
# Under MySQL, this query gives incorrect values on the first attempt.
|
||||
# If you run exactly the same query twice, it yields the right answer
|
||||
# the second attempt. Oh, how we do love MySQL.
|
||||
qs.count()
|
||||
self.assertEqual(qs.count(), 1)
|
||||
self.assertQuerysetEqual(qs, [ci1.pk], lambda x: x.pk)
|
||||
|
||||
|
@ -1136,10 +1132,6 @@ class Queries4Tests(BaseQuerysetTest):
|
|||
ci3 = CategoryItem.objects.create(category=c1)
|
||||
|
||||
qs = CategoryItem.objects.exclude(category__onetoonecategory__isnull=False)
|
||||
# Under MySQL, this query gives incorrect values on the first attempt.
|
||||
# If you run exactly the same query twice, it yields the right answer
|
||||
# the second attempt. Oh, how we do love MySQL.
|
||||
qs.count()
|
||||
self.assertEqual(qs.count(), 1)
|
||||
self.assertQuerysetEqual(qs, [ci1.pk], lambda x: x.pk)
|
||||
|
||||
|
@ -1421,11 +1413,6 @@ class Queries6Tests(TestCase):
|
|||
[]
|
||||
)
|
||||
|
||||
# This next makes exactly *zero* sense, but it works. It's needed
|
||||
# because MySQL fails to give the right results the first time this
|
||||
# query is executed. If you run the same query a second time, it
|
||||
# works fine. It's a hack, but it works...
|
||||
list(Tag.objects.exclude(children=None))
|
||||
self.assertQuerysetEqual(
|
||||
Tag.objects.exclude(children=None),
|
||||
['<Tag: t1>', '<Tag: t3>']
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue