| Age | Commit message (Collapse) | Author |
|
Backport of 8bfc7cc64c from master
|
|
Backport of 695bc0d191 from master
|
|
Thanks neithere for the suggestion.
Backport of 75bb6ba966 from master
|
|
Backport of 728548e4 from master.
Squashed commit of the following:
commit 63ddb271a44df389b2c302e421fc17b7f0529755
Author: Aymeric Augustin <aymeric.augustin@m4x.org>
Date: Sun Sep 29 22:51:00 2013 +0200
Clarified interactions between atomic and exceptions.
commit 2899ec299228217c876ba3aa4024e523a41c8504
Author: Aymeric Augustin <aymeric.augustin@m4x.org>
Date: Sun Sep 22 22:45:32 2013 +0200
Fixed TransactionManagementError in tests.
Previous commit introduced an additional check to prevent running
queries in transactions that will be rolled back, which triggered a few
failures in the tests. In practice using transaction.atomic instead of
the low-level savepoint APIs was enough to fix the problems.
commit 4a639b059ea80aeb78f7f160a7d4b9f609b9c238
Author: Aymeric Augustin <aymeric.augustin@m4x.org>
Date: Tue Sep 24 22:24:17 2013 +0200
Allowed nesting constraint_checks_disabled inside atomic.
Since MySQL handles transactions loosely, this isn't a problem.
commit 2a4ab1cb6e83391ff7e25d08479e230ca564bfef
Author: Aymeric Augustin <aymeric.augustin@m4x.org>
Date: Sat Sep 21 18:43:12 2013 +0200
Prevented running queries in transactions that will be rolled back.
This avoids a counter-intuitive behavior in an edge case on databases
with non-atomic transaction semantics.
It prevents using savepoint_rollback() inside an atomic block without
calling set_rollback(False) first, which is backwards-incompatible in
tests.
Refs #21134.
commit 8e3db393853c7ac64a445b66e57f3620a3fde7b0
Author: Aymeric Augustin <aymeric.augustin@m4x.org>
Date: Sun Sep 22 22:14:17 2013 +0200
Replaced manual savepoints by atomic blocks.
This ensures the rollback flag is handled consistently in internal APIs.
|
|
9dc45efeba from master.
|
|
Backport of 4db2752 from master.
|
|
Thanks outofculture at gmail.com for the suggestion.
Backport of cbf08c6b0c from master
|
|
The documentation and comments now all use 'an' to
refer to the word SQL and not 'a'.
Backport of 4d13cc56de from master
|
|
Thanks Marc Tamlyn and Tim Graham for the review.
Backport of 7442eb1a24 from master.
|
|
Add support for Oracle, fix an issue with the repr of RawQuerySet,
add tests and documentations. Also added a 'supports_paramstyle_pyformat'
database feature, True by default, False for SQLite.
Thanks Donald Stufft for review of documentation.
|
|
This is useful:
- to force a rollback on the exit of an atomic block without having to
raise and catch an exception;
- to prevent a rollback after handling an exception manually.
|
|
Thanks i.amber.jain@ for the report.
|
|
Thanks seddonym.
|
|
|
|
A decorator is easier to apply to CBVs. Backwards compatibility isn't an
issue here, except for people running on a recent clone of master.
Fixed a few minor problems in the transactions docs while I was there.
|
|
Thanks Tomasz Jaskowski for the patch.
|
|
documentation
|
|
|
|
|
|
|
|
|
|
Refs #20104.
|
|
Thanks Russ for the suggestion.
|
|
|
|
Thanks to sane4ka.sh at gmail for the report!
|
|
|
|
Thanks Florian for reporting this omission.
|
|
Previously, depending on the database backend or the cursor type,
you'd need to double the percent signs in the query before passing
it to cursor.execute. Now cursor.execute consistently need percent
doubling whenever params argument is not None (placeholder substitution
will happen).
Thanks Thomas Güttler for the report and Walter Doekes for his work
on the patch.
|
|
|
|
|
|
|
|
Thanks Anssi for haggling until I implemented this.
This change alleviates the need for atomic_if_autocommit. When
autocommit is disabled for a database, atomic will simply create and
release savepoints, and not commit anything. This honors the contract of
not doing any transaction management.
This change also makes the hack to allow using atomic within the legacy
transaction management redundant.
None of the above will work with SQLite, because of a flaw in the design
of the sqlite3 library. This is a known limitation that cannot be lifted
without unacceptable side effects eg. triggering arbitrary commits.
|
|
|
|
|
|
|
|
There isn't much else to say, really.
|
|
|
|
Apparently django.db.transaction used to be an object.
|
|
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.
|
|
|
|
Currently it only works in autocommit mode.
Based on @xact by Christophe Pettus.
|
|
Technically speaking they aren't usable yet.
|
|
This is mostly a documentation change.
It has the same backwards-incompatibility consequences as those
described for PostgreSQL in a previous commit.
|
|
|
|
return a QuerySet.
|
|
|
|
Thanks Randy Salvo for the report.
|
|
Thanks wsmith323 for the patch.
|
|
Thanks monkut for the report and wsmith323 for the patch.
|
|
Thanks julien.aubert.mail@ for the report and James Pic for the patch.
|