Initialize CBDD solution and add a .NET-focused gitignore for generated artifacts.

This commit is contained in:
Joseph Doherty
2026-02-20 12:54:07 -05:00
commit b8ed5ec500
214 changed files with 101452 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
namespace ZB.MOM.WW.CBDD.Core.Transactions;
/// <summary>
/// Defines checkpoint modes for WAL (Write-Ahead Log) checkpointing.
/// Similar to SQLite's checkpoint strategies.
/// </summary>
public enum CheckpointMode
{
/// <summary>
/// Passive checkpoint: Non-blocking, best-effort transfer from WAL to database.
/// Does not wait for readers or writers. May not checkpoint all frames.
/// </summary>
Passive = 0,
/// <summary>
/// Full checkpoint: Waits for concurrent readers/writers, then checkpoints all
/// committed transactions from WAL to database. Blocks until complete.
/// </summary>
Full = 1,
/// <summary>
/// Truncate checkpoint: Same as Full, but also truncates the WAL file after
/// successful checkpoint. Use this to reclaim disk space.
/// </summary>
Truncate = 2,
/// <summary>
/// Restart checkpoint: Truncates WAL and restarts with a new WAL file.
/// Forces a fresh start. Most aggressive mode.
/// </summary>
Restart = 3
}