Skip to main content

enter

Function enter 

Source
pub fn enter() -> EnterGuard
Expand description

Enter a budgeted statement frame. Returns an EnterGuard that decrements the depth on drop so the count stays correct even if execution unwinds via ?/panic. Only the outermost entry (depth 0 → 1) zeroes the accumulator; nested entries (e.g. the source query of a create_view/refresh_view recursively calling execute_powql) leave the outer frame’s charged bytes intact. This is a reentrancy guard rather than a save/restore because it is simpler — there is exactly one running total to protect and the guard makes the “outermost statement owns the reset” rule self-evident at the call site.