#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
-~----------~----~----~----~------~----~------~--~---

Reply via email to