CPSRelation transaction extensions

Author: Anahide Tchertchian
Revision: $Id$

Contents

1   Introduction

Some graphs may use non-transactional backends: in order to avoid adding/removing statements in graphs when a Zope transaction is not commited, CPSRelation uses the CPS transaction extensions.

For more information about these extensions, please refer to the documentation at CPSCore/doc/transaction_managers.txt

2   Usage in CPSRelation

Graphs carry a synchronous/asynchronous boolean flag that is used to chose if statements addition/deletion should be delayed to the end of the transaction, just after committing. Other operations will be synchronous (like clearing the graph for instance).

The transaction manager subscriber self-synchronism is ignored.

This feature is optional: some third party code may have the requirement to add a statement and check if it's in the graph in the same transaction.