[3.0.x] Fixed #30904 -- Doc'd caveat about using filtered queryset with select_for_update() on MySQL.

Backport of fc2b1cc926 from master
This commit is contained in:
Saad 2019-10-25 00:39:12 +03:00 committed by Mariusz Felisiak
parent 6df42e6187
commit 495cdd6add
1 changed files with 5 additions and 0 deletions

View File

@ -630,6 +630,11 @@ the ``SELECT ... FOR UPDATE`` statement. If ``select_for_update()`` is used
with ``nowait=True``, ``skip_locked=True``, or ``of`` then a with ``nowait=True``, ``skip_locked=True``, or ``of`` then a
:exc:`~django.db.NotSupportedError` is raised. :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 Automatic typecasting can cause unexpected results
-------------------------------------------------- --------------------------------------------------