historian: QuestDB backend (design + plan) #666
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The pluggable historian work (
feat/pluggable-historian, designdocs/plans/2026-10-09-pluggable-historian-design.md) added a backend seam,IHistorianBackendProvider, and a SQL Server backend. QuestDB was the third backend in the original request, deferred to a follow-up.Scope: write a design and plan for a
QuestDbprovider. It needs all five seams: data source, value writer, alarm writer, provisioning and updater. Points to settle:SAMPLE BY.Claude-Session: https://claude.ai/code/session_01Ef2ozxS7QPanGT8uoATbTe
Shipped on
masteratee67b637(merge offeat/questdb-historian).ServerHistorian:Backend=QuestDbadds a third historian backend at parity with SqlServer:deletedflag plus tombstone rows. QuestDB never receives UPDATE or DELETE; every write is an INSERT underDEDUP UPSERT KEYS(ts, tag).ServerHistorian:QuestDb:RetentionDays.Dialect-free logic moved to
Driver.Historian.Sql.Common. One conformance suite runs against both backends: 117 SqlServer and 162 QuestDB integration tests, all green.The live gate passed all six legs on docker-dev:
Evidence:
docs/plans/2026-10-10-questdb-historian-live-gate.md. Docs:docs/Historian.md§QuestDB backend anddocs/Configuration.mdServerHistorian:QuestDb.Follow-ups filed from the gate: the crash-failover capture gap (#672) and a FOCAS test flake (#673).