By introducing the roll back operation on a Charta database transaction I have attempted to make the database more stable. Formerly one could encounter a Page already locked exception. When this exception is raised it is a signal that something is seriously wrong and the database would be corrupted beyond repair. This should be a thing of the past now. Now, when any exception is raised during a transaction, the transaction is rolled back and the page locks are released. If you still encounter the Page already locked exception, please let me know.
Please note that the above mentioned transactions are currently very short lived. They merely correspond to atomic database operations in Charta. During a typical execution of Charta code usually there are a lot of such transactions involved. The current improvement guarantees that no database corruption occurs at a low level of the database but not that all changes made during the execution of Charta code are reverted. This transaction functionality will be added in the future.