Table of Contents

Class DatabaseEngineExtensions

Namespace
Typhon.Engine
Assembly
Typhon.Engine.dll

Convenience extensions for DatabaseEngine.

public static class DatabaseEngineExtensions
Inheritance
DatabaseEngineExtensions
Inherited Members

Methods

CreateQuickTransaction(DatabaseEngine, DurabilityMode, DurabilityDiscipline)

Creates a single-transaction UoW with auto-dispose semantics. When the returned transaction is disposed, the backing UoW is also disposed automatically.

public static Transaction CreateQuickTransaction(this DatabaseEngine dbe, DurabilityMode durabilityMode = DurabilityMode.Deferred, DurabilityDiscipline discipline = DurabilityDiscipline.TickFence)

Parameters

dbe DatabaseEngine

The database engine.

durabilityMode DurabilityMode

Controls when WAL records become crash-safe. Default is Deferred.

discipline DurabilityDiscipline

Durability discipline for SingleVersion-layout writes (TickFence default, or Commit for zero-loss, atomic, commit-scoped writes). Fixed for the transaction.

Returns

Transaction

A transaction whose Dispose() also disposes the owning UoW.

Remarks

This is a convenience wrapper for the common single-transaction pattern:

using var tx = dbe.CreateQuickTransaction();
tx.Spawn<MyArchetype>();
tx.Commit();
// tx.Dispose() also disposes the backing UoW

CreateReadOnlyTransaction(DatabaseEngine)

Creates a read-only transaction with no UnitOfWork and no ChangeSet allocation. Write operations (Create/Update/Delete) throw InvalidOperationException. Commit is a no-op. Dispose exits the epoch scope and removes from the chain.

public static Transaction CreateReadOnlyTransaction(this DatabaseEngine dbe)

Parameters

dbe DatabaseEngine

Returns

Transaction