summaryrefslogtreecommitdiff
path: root/docs/ref/databases.txt
diff options
context:
space:
mode:
authorSaad <saad@share.fullhosts.com>2019-10-25 00:39:12 +0300
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2019-10-25 09:00:40 +0200
commitfb77d53ffefc5c203e6cb93be71fd1154c2a884f (patch)
tree95e78430cb572086189896de2f6d51fbd62fe63b /docs/ref/databases.txt
parent9d627bf9b222758d8cccaecce53115cdd5bc1fa0 (diff)
[2.2.x] Fixed #30904 -- Doc'd caveat about using filtered queryset with select_for_update() on MySQL.
Backport of fc2b1cc926e34041953738e58fa6ad3053059b22 from master
Diffstat (limited to 'docs/ref/databases.txt')
-rw-r--r--docs/ref/databases.txt5
1 files changed, 5 insertions, 0 deletions
diff --git a/docs/ref/databases.txt b/docs/ref/databases.txt
index f712926bca..7a766bcf21 100644
--- a/docs/ref/databases.txt
+++ b/docs/ref/databases.txt
@@ -617,6 +617,11 @@ the ``SELECT ... FOR UPDATE`` statement. If ``select_for_update()`` is used
with ``nowait=True``, ``skip_locked=True``, or ``of`` then a
:exc:`~django.db.NotSupportedError` is raised.
+When using ``select_for_update()`` on MySQL, make sure you filter a queryset
+against at least set of fields contained in unique constraints or only against
+fields covered by indexes. Otherwise, an exclusive write lock will be acquired
+over the full table for the duration of the transaction.
+
Automatic typecasting can cause unexpected results
--------------------------------------------------