Skip to content

Commit 839a71b

Browse files
committed
[1.4.X] Added documentation notes about lack of database savepoints support when using MySQL+MyISAM.
Refs django#15507 and r17341. Backport of r17923. git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.4.X@17924 bcc190cf-cafb-0310-a4f2-bffc1f526a37
1 parent 1433051 commit 839a71b

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

docs/ref/databases.txt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,8 @@ procedures, but Django currently doesn't use stored procedures.
148148
.. _MySQL 4.1: http://dev.mysql.com/doc/refman/4.1/en/index.html
149149
.. _MySQL 5.0: http://dev.mysql.com/doc/refman/5.0/en/index.html
150150

151+
.. _mysql-storage-engines:
152+
151153
Storage engines
152154
---------------
153155

@@ -360,6 +362,21 @@ via the :class:`~django.db.models.Options.db_table` parameter.
360362

361363
.. _known issues: http://bugs.mysql.com/bug.php?id=48875
362364

365+
Savepoints
366+
----------
367+
368+
Both the Django ORM and MySQL (when using the InnoDB :ref:`storage engine
369+
<mysql-storage-engines>`) support database :ref:`savepoints
370+
<topics-db-transactions-savepoints>`, but this feature wasn't available in
371+
Django until version 1.4 when such supports was added.
372+
373+
If you use the MyISAM storage engine please be aware of the fact that you will
374+
receive database-generated errors if you try to use the :ref:`savepoint-related
375+
methods of the transactions API <topics-db-transactions-savepoints>`. The reason
376+
for this is that detecting the storage engine of a MySQL database/table is an
377+
expensive operation so it was decided it isn't worth to dynamically convert
378+
these methods in no-op's based in the results of such detection.
379+
363380
Notes on specific fields
364381
------------------------
365382

0 commit comments

Comments
 (0)