#7759: QuerySet count method is wrong while cached results filling
---------------------------------------+------------------------------------
Reporter: kcarnold | Owner: mtredinnick
Status: reopened | Milestone: 1.0
Component: Database wrapper | Version: SVN
Resolution: | Keywords: QuerySet count
Stage: Accepted | Has_patch: 0
Needs_docs: 0 | Needs_tests: 0
Needs_better_patch: 0 |
---------------------------------------+------------------------------------
Changes (by Dave Smith <[EMAIL PROTECTED]>):
* status: closed => reopened
* resolution: fixed =>
Comment:
On OSX Leopard (Python 2.5.1, SQLite3 3.4.0), r7938 introduces several
test failures not present in r7937.
{{{
Updated to revision 7938.
Macintosh-8:tests dws$ python runtests.py --settings=test-settings
======================================================================
FAIL: Doctest: regressiontests.queries.models.__test__.API_TESTS
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Library/Python/2.5/site-packages/django/test/_doctest.py", line
2180, in runTest
raise self.failureException(self.format_failure(new.getvalue()))
AssertionError: Failed doctest test for
regressiontests.queries.models.__test__.API_TESTS
File
"/Users/dws/src/django_dev/tests/regressiontests/queries/models.py", line
unknown line number, in API_TESTS
----------------------------------------------------------------------
File "/Users/dws/src/django_dev/tests/regressiontests/queries/models.py",
line ?, in regressiontests.queries.models.__test__.API_TESTS
Failed example:
for i, obj in enumerate(Number.objects.all()):
obj.save()
if i > 10: break
Exception raised:
Traceback (most recent call last):
File "/Library/Python/2.5/site-packages/django/test/_doctest.py",
line 1267, in __run
compileflags, 1) in test.globs
File "<doctest
regressiontests.queries.models.__test__.API_TESTS[217]>", line 2, in
<module>
obj.save()
File "/Library/Python/2.5/site-packages/django/db/models/base.py",
line 278, in save
self.save_base()
File "/Library/Python/2.5/site-packages/django/db/models/base.py",
line 347, in save_base
transaction.commit_unless_managed()
File "/Library/Python/2.5/site-packages/django/db/transaction.py",
line 140, in commit_unless_managed
connection._commit()
File "/Library/Python/2.5/site-
packages/django/db/backends/__init__.py", line 20, in _commit
return self.connection.commit()
OperationalError: SQL logic error or missing database
----------------------------------------------------------------------
File "/Users/dws/src/django_dev/tests/regressiontests/queries/models.py",
line ?, in regressiontests.queries.models.__test__.API_TESTS
Failed example:
for obj in qs:
qs.count() == count
break
Expected:
True
Got:
False
======================================================================
FAIL: Doctest:
regressiontests.select_related_regress.models.__test__.API_TESTS
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Library/Python/2.5/site-packages/django/test/_doctest.py", line
2180, in runTest
raise self.failureException(self.format_failure(new.getvalue()))
AssertionError: Failed doctest test for
regressiontests.select_related_regress.models.__test__.API_TESTS
File
"/Users/dws/src/django_dev/tests/regressiontests/select_related_regress/models.py",
line unknown line number, in API_TESTS
----------------------------------------------------------------------
File
"/Users/dws/src/django_dev/tests/regressiontests/select_related_regress/models.py",
line ?, in
regressiontests.select_related_regress.models.__test__.API_TESTS
Failed example:
b=Building.objects.create(name='101')
Exception raised:
Traceback (most recent call last):
File "/Library/Python/2.5/site-packages/django/test/_doctest.py",
line 1267, in __run
compileflags, 1) in test.globs
File "<doctest
regressiontests.select_related_regress.models.__test__.API_TESTS[0]>",
line 1, in <module>
b=Building.objects.create(name='101')
File "/Library/Python/2.5/site-
packages/django/db/models/manager.py", line 88, in create
return self.get_query_set().create(**kwargs)
File "/Library/Python/2.5/site-packages/django/db/models/query.py",
line 313, in create
obj.save()
File "/Library/Python/2.5/site-packages/django/db/models/base.py",
line 278, in save
self.save_base()
File "/Library/Python/2.5/site-packages/django/db/models/base.py",
line 347, in save_base
transaction.commit_unless_managed()
File "/Library/Python/2.5/site-packages/django/db/transaction.py",
line 140, in commit_unless_managed
connection._commit()
File "/Library/Python/2.5/site-
packages/django/db/backends/__init__.py", line 20, in _commit
return self.connection.commit()
OperationalError: SQL logic error or missing database
----------------------------------------------------------------------
File
"/Users/dws/src/django_dev/tests/regressiontests/select_related_regress/models.py",
line ?, in
regressiontests.select_related_regress.models.__test__.API_TESTS
Failed example:
dev1=Device.objects.create(name="router", building=b)
Exception raised:
Traceback (most recent call last):
File "/Library/Python/2.5/site-packages/django/test/_doctest.py",
line 1267, in __run
compileflags, 1) in test.globs
File "<doctest
regressiontests.select_related_regress.models.__test__.API_TESTS[1]>",
line 1, in <module>
dev1=Device.objects.create(name="router", building=b)
NameError: name 'b' is not defined
----------------------------------------------------------------------
File
"/Users/dws/src/django_dev/tests/regressiontests/select_related_regress/models.py",
line ?, in
regressiontests.select_related_regress.models.__test__.API_TESTS
Failed example:
dev2=Device.objects.create(name="switch", building=b)
Exception raised:
Traceback (most recent call last):
File "/Library/Python/2.5/site-packages/django/test/_doctest.py",
line 1267, in __run
compileflags, 1) in test.globs
File "<doctest
regressiontests.select_related_regress.models.__test__.API_TESTS[2]>",
line 1, in <module>
dev2=Device.objects.create(name="switch", building=b)
NameError: name 'b' is not defined
----------------------------------------------------------------------
File
"/Users/dws/src/django_dev/tests/regressiontests/select_related_regress/models.py",
line ?, in
regressiontests.select_related_regress.models.__test__.API_TESTS
Failed example:
dev3=Device.objects.create(name="server", building=b)
Exception raised:
Traceback (most recent call last):
File "/Library/Python/2.5/site-packages/django/test/_doctest.py",
line 1267, in __run
compileflags, 1) in test.globs
File "<doctest
regressiontests.select_related_regress.models.__test__.API_TESTS[3]>",
line 1, in <module>
dev3=Device.objects.create(name="server", building=b)
NameError: name 'b' is not defined
----------------------------------------------------------------------
File
"/Users/dws/src/django_dev/tests/regressiontests/select_related_regress/models.py",
line ?, in
regressiontests.select_related_regress.models.__test__.API_TESTS
Failed example:
port1=Port.objects.create(port_number='4',device=dev1)
Exception raised:
Traceback (most recent call last):
File "/Library/Python/2.5/site-packages/django/test/_doctest.py",
line 1267, in __run
compileflags, 1) in test.globs
File "<doctest
regressiontests.select_related_regress.models.__test__.API_TESTS[4]>",
line 1, in <module>
port1=Port.objects.create(port_number='4',device=dev1)
NameError: name 'dev1' is not defined
----------------------------------------------------------------------
File
"/Users/dws/src/django_dev/tests/regressiontests/select_related_regress/models.py",
line ?, in
regressiontests.select_related_regress.models.__test__.API_TESTS
Failed example:
port2=Port.objects.create(port_number='7',device=dev2)
Exception raised:
Traceback (most recent call last):
File "/Library/Python/2.5/site-packages/django/test/_doctest.py",
line 1267, in __run
compileflags, 1) in test.globs
File "<doctest
regressiontests.select_related_regress.models.__test__.API_TESTS[5]>",
line 1, in <module>
port2=Port.objects.create(port_number='7',device=dev2)
NameError: name 'dev2' is not defined
----------------------------------------------------------------------
File
"/Users/dws/src/django_dev/tests/regressiontests/select_related_regress/models.py",
line ?, in
regressiontests.select_related_regress.models.__test__.API_TESTS
Failed example:
port3=Port.objects.create(port_number='1',device=dev3)
Exception raised:
Traceback (most recent call last):
File "/Library/Python/2.5/site-packages/django/test/_doctest.py",
line 1267, in __run
compileflags, 1) in test.globs
File "<doctest
regressiontests.select_related_regress.models.__test__.API_TESTS[6]>",
line 1, in <module>
port3=Port.objects.create(port_number='1',device=dev3)
NameError: name 'dev3' is not defined
----------------------------------------------------------------------
File
"/Users/dws/src/django_dev/tests/regressiontests/select_related_regress/models.py",
line ?, in
regressiontests.select_related_regress.models.__test__.API_TESTS
Failed example:
c1=Connection.objects.create(start=port1, end=port2)
Exception raised:
Traceback (most recent call last):
File "/Library/Python/2.5/site-packages/django/test/_doctest.py",
line 1267, in __run
compileflags, 1) in test.globs
File "<doctest
regressiontests.select_related_regress.models.__test__.API_TESTS[7]>",
line 1, in <module>
c1=Connection.objects.create(start=port1, end=port2)
NameError: name 'port1' is not defined
----------------------------------------------------------------------
File
"/Users/dws/src/django_dev/tests/regressiontests/select_related_regress/models.py",
line ?, in
regressiontests.select_related_regress.models.__test__.API_TESTS
Failed example:
c2=Connection.objects.create(start=port2, end=port3)
Exception raised:
Traceback (most recent call last):
File "/Library/Python/2.5/site-packages/django/test/_doctest.py",
line 1267, in __run
compileflags, 1) in test.globs
File "<doctest
regressiontests.select_related_regress.models.__test__.API_TESTS[8]>",
line 1, in <module>
c2=Connection.objects.create(start=port2, end=port3)
NameError: name 'port2' is not defined
----------------------------------------------------------------------
File
"/Users/dws/src/django_dev/tests/regressiontests/select_related_regress/models.py",
line ?, in
regressiontests.select_related_regress.models.__test__.API_TESTS
Failed example:
connections=Connection.objects.filter(start__device__building=b,
end__device__building=b).order_by('id')
Exception raised:
Traceback (most recent call last):
File "/Library/Python/2.5/site-packages/django/test/_doctest.py",
line 1267, in __run
compileflags, 1) in test.globs
File "<doctest
regressiontests.select_related_regress.models.__test__.API_TESTS[9]>",
line 1, in <module>
connections=Connection.objects.filter(start__device__building=b,
end__device__building=b).order_by('id')
NameError: name 'b' is not defined
----------------------------------------------------------------------
File
"/Users/dws/src/django_dev/tests/regressiontests/select_related_regress/models.py",
line ?, in
regressiontests.select_related_regress.models.__test__.API_TESTS
Failed example:
[(c.id, unicode(c.start), unicode(c.end)) for c in connections]
Exception raised:
Traceback (most recent call last):
File "/Library/Python/2.5/site-packages/django/test/_doctest.py",
line 1267, in __run
compileflags, 1) in test.globs
File "<doctest
regressiontests.select_related_regress.models.__test__.API_TESTS[10]>",
line 1, in <module>
[(c.id, unicode(c.start), unicode(c.end)) for c in connections]
NameError: name 'connections' is not defined
----------------------------------------------------------------------
File
"/Users/dws/src/django_dev/tests/regressiontests/select_related_regress/models.py",
line ?, in
regressiontests.select_related_regress.models.__test__.API_TESTS
Failed example:
connections=Connection.objects.filter(start__device__building=b,
end__device__building=b).select_related().order_by('id')
Exception raised:
Traceback (most recent call last):
File "/Library/Python/2.5/site-packages/django/test/_doctest.py",
line 1267, in __run
compileflags, 1) in test.globs
File "<doctest
regressiontests.select_related_regress.models.__test__.API_TESTS[11]>",
line 1, in <module>
connections=Connection.objects.filter(start__device__building=b,
end__device__building=b).select_related().order_by('id')
NameError: name 'b' is not defined
----------------------------------------------------------------------
File
"/Users/dws/src/django_dev/tests/regressiontests/select_related_regress/models.py",
line ?, in
regressiontests.select_related_regress.models.__test__.API_TESTS
Failed example:
[(c.id, unicode(c.start), unicode(c.end)) for c in connections]
Exception raised:
Traceback (most recent call last):
File "/Library/Python/2.5/site-packages/django/test/_doctest.py",
line 1267, in __run
compileflags, 1) in test.globs
File "<doctest
regressiontests.select_related_regress.models.__test__.API_TESTS[12]>",
line 1, in <module>
[(c.id, unicode(c.start), unicode(c.end)) for c in connections]
NameError: name 'connections' is not defined
----------------------------------------------------------------------
File
"/Users/dws/src/django_dev/tests/regressiontests/select_related_regress/models.py",
line ?, in
regressiontests.select_related_regress.models.__test__.API_TESTS
Failed example:
connections.query.count_active_tables()
Exception raised:
Traceback (most recent call last):
File "/Library/Python/2.5/site-packages/django/test/_doctest.py",
line 1267, in __run
compileflags, 1) in test.globs
File "<doctest
regressiontests.select_related_regress.models.__test__.API_TESTS[13]>",
line 1, in <module>
connections.query.count_active_tables()
NameError: name 'connections' is not defined
----------------------------------------------------------------------
Ran 363 tests in 212.327s
FAILED (failures=2)
}}}
This is on top of the test failure I reported against #7411, which also
appears in the failures above.
--
Ticket URL: <http://code.djangoproject.com/ticket/7759#comment:5>
Django Code <http://code.djangoproject.com/>
The web framework for perfectionists with deadlines
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/django-updates?hl=en
-~----------~----~----~----~------~----~------~--~---