- 11 Mar, 2013 40 kayıt (commit)
-
-
Aymeric Augustin yazdı
Thanks Florian for tracing the error.
-
Simon Charette yazdı
Also removed some unused imports.
-
Aymeric Augustin yazdı
The atomic block provides a clean rollback to a savepoint on failed writes. The ticket reported a race condition which I don't know how to test.
-
Jacob Kaplan-Moss yazdı
-
Jacob Kaplan-Moss yazdı
-
Jacob Kaplan-Moss yazdı
-
Aymeric Augustin yazdı
Refs #9437.
-
Aymeric Augustin yazdı
-
Aymeric Augustin yazdı
-
Aymeric Augustin yazdı
-
Aymeric Augustin yazdı
-
Claude Paroz yazdı
Tests that require USE_I18N, LOGIN_URL or certain MIDDLEWARE_CLASSES should be decorated appropriately.
-
Aymeric Augustin yazdı
-
Aymeric Augustin yazdı
Fixed #2227: `atomic` supports nesting. Fixed #6623: `commit_manually` is deprecated and `atomic` doesn't suffer from this defect. Fixed #8320: the problem wasn't identified, but the legacy transaction management is deprecated. Fixed #10744: the problem wasn't identified, but the legacy transaction management is deprecated. Fixed #10813: since autocommit is enabled, it isn't necessary to rollback after errors any more. Fixed #13742: savepoints are now implemented for SQLite. Fixed #13870: transaction management in long running processes isn't a problem any more, and it's documented. Fixed #14970: while it digresses on transaction management, this ticket essentially asks for autocommit on PostgreSQL. Fixed #15694: `atomic` supports nesting. Fixed #17887: autocommit makes it impossible for a connection to stay "idle of transaction".
-
Aymeric Augustin yazdı
-
Aymeric Augustin yazdı
It isn't necessary to disable set_autocommit since its use is prohibited inside an atomic block. It's still necessary to disable the legacy transaction management methods for backwards compatibility, until they're removed.
-
Aymeric Augustin yazdı
-
Aymeric Augustin yazdı
-
Aymeric Augustin yazdı
Since unmanaged == autocommit, there's nothing to commit or roll back.
-
Aymeric Augustin yazdı
-
Aymeric Augustin yazdı
-
Aymeric Augustin yazdı
-
Aymeric Augustin yazdı
There isn't much else to say, really.
-
Aymeric Augustin yazdı
-
Aymeric Augustin yazdı
Apparently django.db.transaction used to be an object.
-
Aymeric Augustin yazdı
-
Aymeric Augustin yazdı
Replaced them with per-database options, for proper multi-db support. Also toned down the recommendation to tie transactions to HTTP requests. Thanks Jeremy for sharing his experience.
-
Aymeric Augustin yazdı
It disables transaction management entirely when AUTOCOMMIT is False.
-
Aymeric Augustin yazdı
Thanks Florian again.
-
Aymeric Augustin yazdı
-
Aymeric Augustin yazdı
Currently it only works in autocommit mode. Based on @xact by Christophe Pettus.
-
Aymeric Augustin yazdı
Technically speaking they aren't usable yet.
-
Aymeric Augustin yazdı
Prepared for using savepoints within transactions in autocommit mode.
-
Aymeric Augustin yazdı
These methods are only called when uses_savepoints = True anyway.
-
Aymeric Augustin yazdı
It's synchronized with the autocommit flag.
-
Aymeric Augustin yazdı
Since "unless managed" now means "if database-level autocommit", committing or rolling back doesn't have any effect. Restored transactional integrity in a few places that relied on automatically-started transactions with a transitory API.
-
Aymeric Augustin yazdı
-
Aymeric Augustin yazdı
This is mostly a documentation change. It has the same backwards-incompatibility consequences as those described for PostgreSQL in a previous commit.
-
Aymeric Augustin yazdı
The goal is to make all databases share a common, autocommit-based, implementation.
-
Aymeric Augustin yazdı
This API is useful because autocommit cannot be managed without an open connection.
-