Transactions

Plone uses ZODB database <http://en.wikipedia.org/wiki/Zope_Object_database> which follows Multiversion concurrency control pararigm.

During the HTTP request process, Plone completes all modifications of the data or none of them. There cannot end partially written data to database.

Plone and the underlying Zope handles transactions transparently.

Note

Every transaction is read transaction until something is being written

Using transactions

Normally transactions are managed by Plone and the developer should not be interested in them.

Special cases where one would want to manage transaction life-cycle may include

  • Batch creation or editing of many items once

Example code

Transaction boundary events

It is possible to perform actions before and after transaction is written to the database.

http://svn.zope.org/transaction/trunk/transaction/_transaction.py?rev=81646&view=auto

Viewing transaction content and debugging transactions

Please see Transaction troubleshooting

Table Of Contents

Previous topic

Persistent objects

Next topic

Object lifecycles

This Page