Skip to main content

check_temp_storage_budget

Function check_temp_storage_budget 

Source
fn check_temp_storage_budget(temp_storage: &RowArena) -> Result<(), EvalError>
Expand description

Fails once temp_storage holds more than the budget it was built with.

Checked after each function call rather than inside the arena, because RowArena’s pushes are infallible: refusing one would hand back a truncated value. Between calls is the innermost point that can return an error, so a budgeted arena reaches at most its budget plus whatever the call that crossed it allocated. Functions that can predict their own size cut that overshoot by consulting crate::func::max_string_func_result_bytes first.

An unbudgeted arena, which is every arena in a dataflow, costs one branch on a None.