diff options
| author | Aymeric Augustin <aymeric.augustin@m4x.org> | 2013-03-04 13:12:59 +0100 |
|---|---|---|
| committer | Aymeric Augustin <aymeric.augustin@m4x.org> | 2013-03-11 14:48:54 +0100 |
| commit | ba5138b1c0253fcf390b7509ad7b954117b3be88 (patch) | |
| tree | 3643751bf60d04bf39862940242559c1fb0529eb /django/db/transaction.py | |
| parent | 14aa563f51c1a8a2ece52ca6b9e66aed9c89c0fd (diff) | |
Deprecated transaction.commit/rollback_unless_managed.
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.
Diffstat (limited to 'django/db/transaction.py')
| -rw-r--r-- | django/db/transaction.py | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/django/db/transaction.py b/django/db/transaction.py index dd48e14bf4..a8e80c6c02 100644 --- a/django/db/transaction.py +++ b/django/db/transaction.py @@ -123,16 +123,12 @@ def managed(flag=True, using=None): PendingDeprecationWarning, stacklevel=2) def commit_unless_managed(using=None): - """ - Commits changes if the system is not in managed transaction mode. - """ - get_connection(using).commit_unless_managed() + warnings.warn("'commit_unless_managed' is now a no-op.", + PendingDeprecationWarning, stacklevel=2) def rollback_unless_managed(using=None): - """ - Rolls back changes if the system is not in managed transaction mode. - """ - get_connection(using).rollback_unless_managed() + warnings.warn("'rollback_unless_managed' is now a no-op.", + PendingDeprecationWarning, stacklevel=2) ############### # Public APIs # @@ -280,3 +276,18 @@ def commit_manually(using=None): leave_transaction_management(using=using) return _transaction_func(entering, exiting, using) + +def commit_on_success_unless_managed(using=None): + """ + Transitory API to preserve backwards-compatibility while refactoring. + """ + if is_managed(using): + def entering(using): + pass + + def exiting(exc_value, using): + set_dirty(using=using) + + return _transaction_func(entering, exiting, using) + else: + return commit_on_success(using) |
