class NestedTransaction(Transaction):
Represent a 'nested', or SAVEPOINT transaction.
The .NestedTransaction
object is created by calling the
_engine.Connection.begin_nested
method of
_engine.Connection
.
When using .NestedTransaction
, the semantics of "begin" /
"commit" / "rollback" are as follows:
.NestedTransaction.commit
method corresponds to a
"RELEASE SAVEPOINT" operation, using the savepoint identifier associated
with this .NestedTransaction
..NestedTransaction.rollback
method corresponds to a
"ROLLBACK TO SAVEPOINT" operation, using the savepoint identifier
associated with this .NestedTransaction
.The rationale for mimicking the semantics of an outer transaction in terms of savepoints so that code may deal with a "savepoint" transaction and an "outer" transaction in an agnostic way.
See Also
:ref:`session_begin_nested` - ORM version of the SAVEPOINT API.
Method | __init__ |
Undocumented |
Method | _cancel |
Undocumented |
Method | _close_impl |
Undocumented |
Method | _deactivate_from_connection |
Undocumented |
Method | _do_close |
Undocumented |
Method | _do_commit |
Undocumented |
Method | _do_deactivate |
do whatever steps are necessary to set this transaction as "deactive", however leave this transaction object in place as far as the connection's state. |
Method | _do_rollback |
Undocumented |
Class Variable | __slots__ |
Undocumented |
Instance Variable | _previous_nested |
Undocumented |
Instance Variable | _savepoint |
Undocumented |
Instance Variable | connection |
Undocumented |
Instance Variable | is_active |
Undocumented |
Property | _deactivated_from_connection |
True if this transaction is totally deactivated from the connection and therefore can no longer affect its state. |
Inherited from Transaction
:
Method | _get_subject |
Undocumented |
Method | _rollback_can_be_called |
indicates the object is in a state that is known to be acceptable for rollback() to be called. |
Method | _transaction_is_active |
Undocumented |
Method | _transaction_is_closed |
Undocumented |
Method | close |
Close this .Transaction . |
Method | commit |
Commit this .Transaction . |
Method | rollback |
Roll back this .Transaction . |
Class Variable | _is_root |
Undocumented |
Property | is_valid |
Undocumented |
Inherited from TransactionalContext
(via Transaction
):
Class Method | _trans_ctx_check |
Undocumented |
Method | __enter__ |
Undocumented |
Method | __exit__ |
Undocumented |
Instance Variable | _outer_trans_ctx |
Undocumented |
Instance Variable | _trans_subject |
Undocumented |
do whatever steps are necessary to set this transaction as "deactive", however leave this transaction object in place as far as the connection's state.
for a "real" transaction this should roll back the transaction and ensure this transaction is no longer a reset agent.
this is used for nesting of marker transactions where the marker can set the "real" transaction as rolled back, however it stays in place.
for 2.0 we hope to remove this nesting feature.