Skip to main content

eval_measure

Function eval_measure 

Source
pub(crate) async fn eval_measure(
    __arg0: State<Arc<AppState>>,
    ro: Option<Extension<ReadOnly>>,
    __arg2: Path<u32>,
    body: Result<Json<EvalReq>, JsonRejection>,
) -> Result<Json<Vec<Cell>>, ApiError>
Expand description

Incremental / what-if evaluation. Builds a short-lived live Engine over all derived measures, applies the batch of edits as deltas, and returns the recomputed snapshot for measure :id as [{coord: [[cat_name,item_name]..], value}].

Stateless by design: the Engine owns a worker thread and a live dataflow and is not cheaply shareable across async tasks, so v1 rebuilds one per request inside spawn_blocking. A persistent per-session engine pool is a later optimization. Edits are pure what-if unless "persist": true, in which case each edit is also written to the model store.