Expand description
Host-side evaluation of external-function measures (Phase 6).
An external-function measure (Model.external_calls[m] = ExternalCall { func, arg_measures }) is computed outside the differential-dataflow graph:
for each coordinate present in all argument measures, we gather the argument
values and invoke the registered external function via improv_extfn,
writing the result as an ordinary input cell.
Doing this host-side (rather than inside a DD operator) keeps the engine’s
dataflow pure and Send/deterministic — external calls, which shell out to
a runtime, never enter the hot recompute path. It mirrors how SQL live-query
measures refresh: the function’s output becomes input cells, and the engine
then recomputes ordinary dependents normally. External calls are gated on an
explicit refresh (they are nondeterministic sources by nature).
Enums§
Constants§
- DEFAULT_
TIMEOUT - Default wall-clock deadline for a single external evaluation.
Functions§
- refresh_
external_ measure - Recompute an external-function measure’s cells by invoking its function over
its argument measures, coordinate by coordinate. Returns the number of cells
written. If the function fails at any coordinate (an exception, a timeout,
no usable sandbox), this returns
ExternalError::Evaland leaves the measure’s previous cells untouched: the results are input cells, and an error value cannot be stored as one.