docs(history): OtOpcUa #685–#688 Gateway historian raw/aggregate fixes

This commit is contained in:
Joseph Doherty
2026-10-12 16:04:02 -04:00
parent 4555a3bdad
commit 2a0b34e056
@@ -296,3 +296,13 @@ AddRoute of the dev Mac (`oee-tagdump-mac`, `10.181.206.245.1.1`) on the two tes
historiangw#27 (aggregate interval sent 10,000× too large ⇒ Gateway native TimeAverage/Total wrong end to end) and
OtOpcUa #685–#688 (Gateway native-row handling, reverse/end-only raw reads failing since #669, synthetic boundary row
in raw reads, default cap vs gateway ceiling). AVEVA TWA is sloped like the SQL backends but excludes NULL-gap time.
- **2026-10-12 #685–#688 (pushed `1f5d3100`, all closed, live AVEVA gate PASS).** Gateway historian backend:
`IHistorianDataSource.SupportsReverseRaw` + `ReverseRawReader` serve end-only/reverse raw reads on Gateway by a bounded
forward walk-back (#686 — the #669 regression); uncapped Gateway raw reads (which sent `max_values = 0` and always
failed) now send `int.MaxValue`; raw reads drop AVEVA's synthetic boundary/no-data rows and the forward End is now
EXCLUSIVE (#687); native TimeAverage/Total drop the pre-window row and keep Uncertain values (#685); per-sample budget
clamped to the gateway's 1,000,000 ceiling (#688). Oversized tie cluster ⇒ `BadTooManyOperations`. Follow-ups #689
(walk-back page sizing on busy tags), #690 (stored NULL returned as 0), #691 (ReturnBounds, reverse native aggregates,
strict-ceiling uncapped reads, reverse events).
- **ScadaBridge impact:** none expected — it does not issue reverse raw reads; a Gateway raw read no longer returns a
sample stamped exactly at EndTime.