From 839a71b0a586b1c274546ac3ed8e599be8db10b9 Mon Sep 17 00:00:00 2001 From: Ramiro Morales Date: Sat, 21 Apr 2012 22:57:32 +0000 Subject: [PATCH] [1.4.X] Added documentation notes about lack of database savepoints support when using MySQL+MyISAM. Refs #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 --- docs/ref/databases.txt | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/docs/ref/databases.txt b/docs/ref/databases.txt index f0b485fc97..5440f488e2 100644 --- a/docs/ref/databases.txt +++ b/docs/ref/databases.txt @@ -148,6 +148,8 @@ procedures, but Django currently doesn't use stored procedures. .. _MySQL 4.1: http://dev.mysql.com/doc/refman/4.1/en/index.html .. _MySQL 5.0: http://dev.mysql.com/doc/refman/5.0/en/index.html +.. _mysql-storage-engines: + Storage engines --------------- @@ -360,6 +362,21 @@ via the :class:`~django.db.models.Options.db_table` parameter. .. _known issues: http://bugs.mysql.com/bug.php?id=48875 +Savepoints +---------- + +Both the Django ORM and MySQL (when using the InnoDB :ref:`storage engine +`) support database :ref:`savepoints +`, but this feature wasn't available in +Django until version 1.4 when such supports was added. + +If you use the MyISAM storage engine please be aware of the fact that you will +receive database-generated errors if you try to use the :ref:`savepoint-related +methods of the transactions API `. The reason +for this is that detecting the storage engine of a MySQL database/table is an +expensive operation so it was decided it isn't worth to dynamically convert +these methods in no-op's based in the results of such detection. + Notes on specific fields ------------------------