You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(nodedb): implement bitemporal read and write in columnar and timeseries handlers
Columnar write: detect bitemporal collections and prepend the three
reserved columns (`_ts_system`, `_ts_valid_from`, `_ts_valid_until`) to
the schema on first write. `_ts_system` is always stamped with the
current wall-clock time; `_ts_valid_from` / `_ts_valid_until` are taken
from the client payload or default to the open interval `[i64::MIN,
i64::MAX)`. Clients cannot supply `_ts_system`.
Columnar read: resolve reserved column positions once per scan, then
apply `bitemporal_row_visible` to each memtable row. The predicate
enforces the system-time cutoff and valid-time point filter before any
user-supplied predicates run.
Timeseries scan: translate `system_as_of_ms` and `valid_at_ms` into
`ScanFilter` entries (`_ts_system <= cutoff`, `_ts_valid_from <= point`,
`_ts_valid_until > point`) so the segment reader's block-skip
infrastructure automatically prunes blocks that cannot satisfy the
bitemporal predicates.
Dispatch: thread `system_as_of_ms` / `valid_at_ms` from the physical
plan into both handler param structs.
0 commit comments