Click or drag to resize

IPersistenceProviderTransactionManager Interface

An interface for managing the transactions of the underlying database of a persistent graph. Unrelated to the ITransactionManager, which is for application layer/algorithmical transactions/change rollback; this one is more about performance due to batchwise processing defined by transaction borders, and it defines the granularity of durability. When no transaction is used, i.e. started, each and every change to the persistent graph will be durable immediately after its corresponding change event returned (i.e. will be auto-wrapped in a mini-transaction -- this will cause very poor performance). Nested transactions are not supported, in contrast to the application layer transaction manager.

Namespace:  de.unika.ipd.grGen.libGr
Assembly:  libGr (in libGr.dll) Version: GrGen.NET 8.0
Syntax
C#
public interface IPersistenceProviderTransactionManager

The IPersistenceProviderTransactionManager type exposes the following members.

Properties
  NameDescription
Public propertyIsActive
Tells whether a/the transaction is active.
Top
Methods
  NameDescription
Public methodCommit
Commits the transaction, afterwards the changes up to that point are persistently stored for sure (all writes to the database up till that point are only temporary/pending), and a/the transaction is not active anymore.
Public methodCommitAndRestart
Intermediate commit, afterwards the changes up to that point are persistently stored for sure (all writes to the database up till that point are only temporary/pending), and a/the transaction is active.
Public methodRollback
Rolls back changes since that last CommitAndRestart() or the last Start() if no restart occurred, afterwards the transaction is not active anymore. This also happens with pending changes when no commit occurrs.
Public methodStart
Starts a database layer transaction, not allowed when one is already active (potential future todo: mapping of nested transactions to a single one).
Top
See Also