#26541: Add a DatabaseFeatures.supports_transactions() method for MySQL
-------------------------------------+-------------------------------------
Reporter: marcinn | Owner: nobody
Type: | Status: new
Cleanup/optimization |
Component: Database layer | Version: 1.8
(models, ORM) |
Severity: Normal | Resolution:
Keywords: | Triage Stage:
| Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Comment (by marcinn):
Tim, what about transaction handling where MyISAM engine is set per table?
Checking transaction handling by table creation does not cover this use
case, same as general property of the connection.
So in that case I'd like to see this cleanup as a property/parameter
instead of sniffing feature by table creation (because it is safer and
configurable).
But if you'd like to be perfect you should always inspect transaction (an
atomic session) and raise exception when user is trying to modify "non-
transactional" table. In that case every model should
"support_transaction" or not, and this seems like a design change.
In the other side I'm opposed to MySQL`s engines concept and I'm always
trying to avoid this database where possible. So from my point of view it
is enough to assume that MySQL supports transactions (or not), and allow
to change this property by the user using some OPTION in engine
configuration.
--
Ticket URL: <https://code.djangoproject.com/ticket/26541#comment:2>
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.88ae2ddc8f801caf687e3f7a9855c47f%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.