Transaction#
- exception trytond.transaction.TransactionError#
The base class for transaction error that need to retry the transaction.
- TransactionError.fix(extras)#
Update the extras argument of
start()
to restart the transaction without the error.
- class trytond.transaction.Transaction#
Represents a Tryton transaction that contains thread-local parameters of a database connection. The Transaction instances are context manager that commits or rollbacks the database transaction. In the event of an exception the transaction is rolled back, otherwise it is commited.
- Transaction.database#
The database.
- Transaction.readonly#
- Transaction.user#
The id of the user.
- Transaction.context#
- Transaction.create_records#
- Transaction.delete_records#
- Transaction.trigger_records#
- Transaction.check_warnings#
The set of warnings already checked.
- Transaction.timestamp#
- Transaction.started_at#
The monotonic timestamp when the transaction started.
- Transaction.language#
The language code defines in the context.
- Transaction.counter#
Count the number of modification made in this transaction.
- Transaction.check_access#
If the access must be enforced.
- Transaction.active_records#
If the active test is enabled for
DeactivableMixin
.
- static Transaction.monotonic_time()#
Return a monotonic time used to populate
started_at
.
- Transaction.start(database_name, user[, readonly[, context[, close[, autocommit, \**extras]]]])#
Start a new transaction and return a context manager. The non-readonly transaction will be committed when exiting the
with
statement without exception. The other cases will be rollbacked.
- Transaction.stop([commit])#
Stop the transaction. If commit is
True
, the transaction will be committed otherwise it will be rollbacked. The context manager returned bystart()
should be used instead of calling this method.
- Transaction.set_context(context, \**kwargs)#
Update the transaction context and return a context manager. The context is restored when exiting the
with
statement.
- Transaction.reset_context()#
Clear the transaction context and return a context manager. The context is restored when exiting the
with
statement.
- Transaction.set_user(user[, set_context])#
Modify the user of the transaction and return a context manager.
set_context
will put the previous user id in the context to simulate the record rules. The user will be restored when exiting thewith
statement.
- Transaction.lock_table(table)#
Raise a
TransactionError
to retry the transaction if the table has not been locked at the start.
- Transaction.set_current_transaction(transaction)#
Add a specific
transaction
on the top of the transaction stack. A transaction is commited or rollbacked only when its last reference is popped from the stack.
- Transaction.new_transaction([autocommit[, readonly, \**extras]])#
Create a new transaction with the same database, user and context as the original transaction and adds it to the stack of transactions.
- Transaction.commit()#
Commit the transaction and all data managers associated.
- Transaction.rollback()#
Rollback the transaction and all data managers associated.
- Transaction.join(datamanager)#
Register in the transaction a data manager conforming to the Two-Phase Commit protocol.
This method returns the registered datamanager. It could be a different yet equivalent (in term of python equality) datamanager than the one passed to the method.
- Transaction.atexit(func, \*args, \*\*kwargs)#
Register a function to be executed upon normal transaction termination. The function can not use the current transaction because it will be already committed or rollbacked.
- trytond.transaction.check_access([func])#
When called with a function, it decorates the function to be executed with check of access rights. Otherwise it returns a context manager that check access rights until exiting.
- trytond.transaction.without_check_access([func])#
When called with a function, it decorates the function to be executed without check of access rights. Otherwise it returns a context manager that disable check access rights until exiting.
- trytond.transaction.active_records([func])#
When called with a function, it decorates the function to be executed with active test enabled. Otherwise it returns a context manager that enable active test.
- trytond.transaction.inactive_records(func)#
When called with a function, it decorates the function to be executed with active test disabled. Otherwise it returns a context manager that disables active test.