summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorRamiro Morales <cramm0@gmail.com>2012-04-21 22:52:03 +0000
committerRamiro Morales <cramm0@gmail.com>2012-04-21 22:52:03 +0000
commit83fc9651713edfed9c3eff52b73933eb67a46a59 (patch)
tree8071475e7f94d5dbf5810338f422f58d46a64c48 /docs
parent64bc22be941bec893ea8ebdd624d2baed38a14ba (diff)
Added documentation notes about lack of database savepoints support when using MySQL+MyISAM.
Refs #15507, #18116 and r17341, r17921. git-svn-id: http://code.djangoproject.com/svn/django/trunk@17923 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'docs')
-rw-r--r--docs/ref/databases.txt19
-rw-r--r--docs/topics/db/transactions.txt6
2 files changed, 21 insertions, 4 deletions
diff --git a/docs/ref/databases.txt b/docs/ref/databases.txt
index c271946bb7..8fbe4125c9 100644
--- a/docs/ref/databases.txt
+++ b/docs/ref/databases.txt
@@ -128,7 +128,7 @@ Version support
Django supports MySQL 5.0.3 and higher.
`MySQL 5.0`_ adds the ``information_schema`` database, which contains detailed
-data on all database schema. Django's ``inspectdb`` feature uses this feature.
+data on all database schema. Django's ``inspectdb`` feature uses it.
.. versionchanged:: 1.5
The minimum version requirement of MySQL 5.0.3 was set in Django 1.5.
@@ -141,6 +141,8 @@ MySQL when using the MyISAM storage engine, see the next section.
.. _MySQL: http://www.mysql.com/
.. _MySQL 5.0: http://dev.mysql.com/doc/refman/5.0/en/index.html
+.. _mysql-storage-engines:
+
Storage engines
---------------
@@ -353,6 +355,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
+<mysql-storage-engines>`) support database :ref:`savepoints
+<topics-db-transactions-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 <topics-db-transactions-savepoints>`. 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
------------------------
diff --git a/docs/topics/db/transactions.txt b/docs/topics/db/transactions.txt
index 589ebc7b5e..76b65b99e0 100644
--- a/docs/topics/db/transactions.txt
+++ b/docs/topics/db/transactions.txt
@@ -225,9 +225,9 @@ Savepoints
A savepoint is a marker within a transaction that enables you to roll back part
of a transaction, rather than the full transaction. Savepoints are available
-with the PostgreSQL 8, Oracle and MySQL (version 5.0.3 and newer, when using
-the InnoDB storage engine) backends. Other backends provide the savepoint
-functions, but they're empty operations -- they don't actually do anything.
+with the PostgreSQL 8, Oracle and MySQL (when using the InnoDB storage engine)
+backends. Other backends provide the savepoint functions, but they're empty
+operations -- they don't actually do anything.
.. versionchanged:: 1.4
Savepoint support for the MySQL backend was added in Django 1.4.