#29563: SQLite and Queryset.iterator() support
-------------------------------------+-------------------------------------
Reporter: Andrew Brown | Owner: nobody
Type: Uncategorized | Status: new
Component: Database layer | Version: master
(models, ORM) |
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Comment (by Andrew Brown):
I’ve attached my test case test1.py that I used to reproduce bug #7411. It
doesn’t use Django and hits the sqlite interface directly in what I
believe is the same pattern as #7411 to hit the same bug.
To show the workaround is no longer needed, I reproduced the bug under
Python 2.5.2 and SQLite 3.5.9, then tried to reproduce the bug under any
version of Python using SQLite >=3.6.5
Under Python 2.5.2 compiled against SQLite 3.5.9 (the latest of each as of
mid 2008) it gets the same error as bug #7411:
{{{
test1.py
Python Version: 2.5.2 (trunk, Jul 19 2018, 14:16:29)
[GCC 5.4.0 20160609]
SQLite Version: 3.5.9
Traceback (most recent call last):
File "../test1.py", line 25, in <module>
conn.commit()
sqlite3.OperationalError: SQL logic error or missing database
}}}
The exact error changes depending on the combination of Python and SQLite
versions, and some versions of Python the test isn’t reproducible but a
similar bug is (Python bug [https://bugs.python.org/issue10513 #10513]
test case attached as test2.py). However, I could not reproduce #7411 with
any version of Python when using SQLite versions 3.6.5 and up.
{{{
test1.py
Python Version: 2.5.2 (trunk, Jul 19 2018, 14:10:44)
[GCC 5.4.0 20160609]
SQLite Version: 3.6.5
Didn't crash
}}}
Python bug [https://bugs.python.org/issue10513 #10513] was present in some
versions regardless of SQLite version, but was fixed in 2.7.13 and 3.5.3.
As I understand Django only supports the latest revision of the supported
major Python versions so this bug is no longer relevant either.
Feel free to ask any questions. I’ve tried to summarize what I’ve found,
but I have a lot more info including bisections and specific commits where
bugs were introduced and fixed. I know this is a relatively complicated
situation so let me know what I can do to help verify my claims.
--
Ticket URL: <https://code.djangoproject.com/ticket/29563#comment:4>
Django <https://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 unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/065.4f43e8e90edb15af25a60f1a47dc89a3%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.