informations about the transaction management.
==Transaction==
In a nutshell, a transaction is equal to a command or query. So each command or query sent to the server becomes a transaction.
the [[Commands#BACKUP|BACKUP]] command to backup your database regularly. If the worst case occurs you can restore the database with the [[Commands#RESTORE|RESTORE]] command.
===Update Transactions===
Update transactions are mainly [[Update|update]] queries. When executing a XQuery Update query, all update operations of the query are stored in a pending update
list. They will be executed all at once, so the database is updated atomically. If any of the update sub-operations is erroneous, the overall transaction will be aborted.
==Concurrency Control==
The concurrency control checks for each transaction, which will perform a read or write operation on the database, the status of the lock object and decides whether the isolation is guaranteed for that transaction or not. If the isolation can be guaranteed the transaction will be started immediately. Otherwise, the transaction enters a waiting queue and waits till the transaction monitor validates and starts the transaction. The transaction monitor starts either the next writing transaction or the next group of reading transactions (if there are any on the queue).
===Transaction Monitor===
The transaction monitor ensures that just one writing transaction is active at the same time. This seems to be an odd mechanism, but it is needed since the complexity of updates increased and it is possible now to access multiple databases in one XQuery Update query.<br />
reading transactions.
==Locking==
{{Mark|Introduced with Version 7.2:}}
==Updates==