diff options
| author | Anssi Kääriäinen <akaariai@gmail.com> | 2013-02-20 03:11:54 +0200 |
|---|---|---|
| committer | Anssi Kääriäinen <akaariai@gmail.com> | 2013-02-27 17:54:27 +0200 |
| commit | 50328f0a618674b7143d86acaa7016c5293e9774 (patch) | |
| tree | e178109ebf08a5f3d37aa0c79a6d4b88db4cc898 /docs/ref | |
| parent | 210894167799780283101636c99d8010b30bf09c (diff) | |
Fixed #19861 -- Transaction ._dirty flag improvement
There were a couple of errors in ._dirty flag handling:
* It started as None, but was never reset to None.
* The _dirty flag was sometimes used to indicate if the connection
was inside transaction management, but this was not done
consistently. This also meant the flag had three separate values.
* The None value had a special meaning, causing for example inability
to commit() on new connection unless enter/leave tx management was
done.
* The _dirty was tracking "connection in transaction" state, but only
in managed transactions.
* Some tests never reset the transaction state of the used connection.
* And some additional less important changes.
This commit has some potential for regressions, but as the above list
shows, the current situation isn't perfect either.
Diffstat (limited to 'docs/ref')
| -rw-r--r-- | docs/ref/models/querysets.txt | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/docs/ref/models/querysets.txt b/docs/ref/models/querysets.txt index f77f87dd8e..0fa8b8e361 100644 --- a/docs/ref/models/querysets.txt +++ b/docs/ref/models/querysets.txt @@ -1249,11 +1249,6 @@ make the call non-blocking. If a conflicting lock is already acquired by another transaction, :exc:`~django.db.DatabaseError` will be raised when the queryset is evaluated. -Note that using ``select_for_update()`` will cause the current transaction to be -considered dirty, if under transaction management. This is to ensure that -Django issues a ``COMMIT`` or ``ROLLBACK``, releasing any locks held by the -``SELECT FOR UPDATE``. - Currently, the ``postgresql_psycopg2``, ``oracle``, and ``mysql`` database backends support ``select_for_update()``. However, MySQL has no support for the ``nowait`` argument. Obviously, users of external third-party backends should |
