Fuaran.UI.OpStream.Dag.Sqlite
0.46.0
Prefix Reserved
dotnet add package Fuaran.UI.OpStream.Dag.Sqlite --version 0.46.0
NuGet\Install-Package Fuaran.UI.OpStream.Dag.Sqlite -Version 0.46.0
<PackageReference Include="Fuaran.UI.OpStream.Dag.Sqlite" Version="0.46.0" />
<PackageVersion Include="Fuaran.UI.OpStream.Dag.Sqlite" Version="0.46.0" />
<PackageReference Include="Fuaran.UI.OpStream.Dag.Sqlite" />
paket add Fuaran.UI.OpStream.Dag.Sqlite --version 0.46.0
#r "nuget: Fuaran.UI.OpStream.Dag.Sqlite, 0.46.0"
#:package Fuaran.UI.OpStream.Dag.Sqlite@0.46.0
#addin nuget:?package=Fuaran.UI.OpStream.Dag.Sqlite&version=0.46.0
#tool nuget:?package=Fuaran.UI.OpStream.Dag.Sqlite&version=0.46.0
Fuaran.UI.OpStream.Dag.Sqlite
Microsoft.Data.Sqlite-backed implementation of IDagOpStreamSink<'Msg>
(from Fuaran.UI.OpStream.Dag.Abstractions).
The durable counterpart of the in-memory DAG sink. Records live in a
dag_op_record table keyed by (stream_id, hash); the trunk head lives in a
dag_head table. The TryAdvanceHead compare-and-swap is a conditional
UPDATE dag_head SET head = @new WHERE stream_id = @s AND head = @expected —
atomic at the statement level, so two racing advancers from the same expected
head leave exactly one winner. The genesis advance (expected = None) is an
INSERT … ON CONFLICT DO NOTHING whose rows-affected distinguishes "head unset"
from "head already set".
Add is idempotent by content address; a hash collision with differing content
is rejected. Topology queries (Parents / Reachable / Lca) load the
stream's (hash, parents) rows and delegate to the pure DagTopology
algorithms. Tombstone drops the op payload (op_json reset to an empty batch,
outcome_hash cleared, tombstoned = 1) while preserving the hash + parent
links, so the chain stays verifiable.
Opt-in (rung-4): a consumer that never references the DAG packages pulls none of this.
Apache-2.0 licensed — see the repo LICENSE.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Fable.Core (>= 5.0.0)
- FSharp.Core (>= 10.1.300)
- Fuaran.Core.Column (>= 0.11.0)
- Fuaran.Core.DataFrame (>= 0.11.0)
- Fuaran.Core.Function (>= 0.11.0)
- Fuaran.Core.Ops (>= 0.11.0)
- Fuaran.Core.OpStream (>= 0.11.0)
- Fuaran.Core.Tree (>= 0.11.0)
- Fuaran.Core.Validator (>= 0.11.0)
- Fuaran.Core.Wire (>= 0.11.0)
- Fuaran.UI (>= 0.46.0)
- Fuaran.UI.Ops (>= 0.46.0)
- Fuaran.UI.OpStream.Abstractions (>= 0.46.0)
- Fuaran.UI.OpStream.Dag.Abstractions (>= 0.46.0)
- Microsoft.Data.Sqlite (>= 9.0.10)
- SQLitePCLRaw.lib.e_sqlite3 (>= 3.50.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.46.0 | 0 | 8/28/2026 |
| 0.39.0 | 35 | 8/27/2026 |
| 0.35.0 | 78 | 8/24/2026 |
| 0.32.0 | 79 | 8/23/2026 |
| 0.31.0 | 83 | 8/21/2026 |
| 0.30.0 | 76 | 8/21/2026 |
| 0.29.0 | 81 | 8/19/2026 |
| 0.28.0 | 84 | 8/18/2026 |
| 0.27.0 | 84 | 8/18/2026 |
| 0.26.0 | 89 | 8/18/2026 |
| 0.18.0 | 91 | 8/10/2026 |
| 0.15.0 | 89 | 8/9/2026 |
| 0.12.0 | 103 | 7/31/2026 |
| 0.11.0 | 99 | 7/30/2026 |
| 0.10.0 | 103 | 7/29/2026 |
| 0.6.0 | 96 | 7/27/2026 |
| 0.4.0 | 99 | 7/26/2026 |
| 0.3.0 | 105 | 7/24/2026 |