Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

Added documentation notes about lack of database savepoints support w…

…hen 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
  • Loading branch information...
commit 83fc9651713edfed9c3eff52b73933eb67a46a59 1 parent 64bc22b
Ramiro Morales authored April 21, 2012
19  docs/ref/databases.txt
@@ -128,7 +128,7 @@ Version support
128 128
 Django supports MySQL 5.0.3 and higher.
129 129
 
130 130
 `MySQL 5.0`_ adds the ``information_schema`` database, which contains detailed
131  
-data on all database schema. Django's ``inspectdb`` feature uses this feature.
  131
+data on all database schema. Django's ``inspectdb`` feature uses it.
132 132
 
133 133
 .. versionchanged:: 1.5
134 134
     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.
141 141
 .. _MySQL: http://www.mysql.com/
142 142
 .. _MySQL 5.0: http://dev.mysql.com/doc/refman/5.0/en/index.html
143 143
 
  144
+.. _mysql-storage-engines:
  145
+
144 146
 Storage engines
145 147
 ---------------
146 148
 
@@ -353,6 +355,21 @@ via the :class:`~django.db.models.Options.db_table` parameter.
353 355
 
354 356
 .. _known issues: http://bugs.mysql.com/bug.php?id=48875
355 357
 
  358
+Savepoints
  359
+----------
  360
+
  361
+Both the Django ORM and MySQL (when using the InnoDB :ref:`storage engine
  362
+<mysql-storage-engines>`) support database :ref:`savepoints
  363
+<topics-db-transactions-savepoints>`, but this feature wasn't available in
  364
+Django until version 1.4 when such supports was added.
  365
+
  366
+If you use the MyISAM storage engine please be aware of the fact that you will
  367
+receive database-generated errors if you try to use the :ref:`savepoint-related
  368
+methods of the transactions API <topics-db-transactions-savepoints>`. The reason
  369
+for this is that detecting the storage engine of a MySQL database/table is an
  370
+expensive operation so it was decided it isn't worth to dynamically convert
  371
+these methods in no-op's based in the results of such detection.
  372
+
356 373
 Notes on specific fields
357 374
 ------------------------
358 375
 
6  docs/topics/db/transactions.txt
@@ -225,9 +225,9 @@ Savepoints
225 225
 
226 226
 A savepoint is a marker within a transaction that enables you to roll back part
227 227
 of a transaction, rather than the full transaction. Savepoints are available
228  
-with the PostgreSQL 8, Oracle and MySQL (version 5.0.3 and newer, when using
229  
-the InnoDB storage engine) backends. Other backends provide the savepoint
230  
-functions, but they're empty operations -- they don't actually do anything.
  228
+with the PostgreSQL 8, Oracle and MySQL (when using the InnoDB storage engine)
  229
+backends. Other backends provide the savepoint functions, but they're empty
  230
+operations -- they don't actually do anything.
231 231
 
232 232
 .. versionchanged:: 1.4
233 233
    Savepoint support for the MySQL backend was added in Django 1.4.

0 notes on commit 83fc965

Please sign in to comment.
Something went wrong with that request. Please try again.