docs(historian): document deferred non-numeric types and UInt16->UInt4 fallback (#600)
Claude-Session: https://claude.ai/code/session_01Ef2ozxS7QPanGT8uoATbTe
This commit is contained in:
@@ -273,6 +273,22 @@ for this node), which is the signal to check that `ServerHistorian:Enabled=true`
|
|||||||
> so a HistoryRead on it runs to the full `CallTimeout` (~30 s) before erroring. Auto-provisioning on deploy
|
> so a HistoryRead on it runs to the full `CallTimeout` (~30 s) before erroring. Auto-provisioning on deploy
|
||||||
> keeps freshly-historized tags from hitting that slow path. See the `CallTimeout` row above.
|
> keeps freshly-historized tags from hitting that slow path. See the `CallTimeout` row above.
|
||||||
|
|
||||||
|
### Deferred types and the UInt16 fallback (#600 item 4)
|
||||||
|
|
||||||
|
Historization is **numeric-analog only** in v1. `HistorianTypeMapper` classifies exactly nine types as
|
||||||
|
historizable (`Boolean`, `Int16/32/64`, `UInt16/32/64`, `Float32`, `Float64`):
|
||||||
|
|
||||||
|
- **Deferred: `String`, `DateTime`, `Reference`.** The historian's SQL analog write path cannot carry them.
|
||||||
|
Provisioning skips them (counted in the `skipped=` tally, via `IsHistorizable`), the mapper throws
|
||||||
|
`NotSupportedException` for them, and `ContinuousHistorizationRecorder` drops their values and counts them
|
||||||
|
in `DroppedNonNumeric`. A tag authored `isHistorized` with one of these types therefore silently records
|
||||||
|
nothing; HistoryRead on it returns whatever the historian holds (typically `GoodNoData`).
|
||||||
|
- **Fallback: `UInt16 -> Uint4`.** The historian's `UInt2` write path is unproven upstream, so UInt16 tags
|
||||||
|
are provisioned as the wider `UInt4`. Values are unaffected; only the historian-side storage type differs.
|
||||||
|
(`Boolean -> Int2` is the other fallback, below.)
|
||||||
|
|
||||||
|
Lifting either needs gateway-side support first; neither is scheduled.
|
||||||
|
|
||||||
### Boolean historization maps to Int2 (issue #441)
|
### Boolean historization maps to Int2 (issue #441)
|
||||||
|
|
||||||
`EnsureTags` is contract-documented (HistorianGateway 0.2.0+) as an **upsert** — *"creates or updates
|
`EnsureTags` is contract-documented (HistorianGateway 0.2.0+) as an **upsert** — *"creates or updates
|
||||||
|
|||||||
Reference in New Issue
Block a user