pub fn apply_op<E: ApplyEngine>(
engine: &mut E,
op: &ArrayOp,
) -> ArrayResult<ApplyOutcome>Expand description
Apply op to engine, returning an outcome without panicking.
Steps:
- Shape validation — on error:
Rejected(ShapeInvalid). - Schema HLC check —
None→Rejected(ArrayUnknown);op.header.schema_hlc > local→Rejected(SchemaTooNew). - Idempotency — already seen →
Idempotent. - Dispatch to
apply_put/apply_delete/apply_erase. Engine errors that indicate corruption (SegmentCorruption,HlcLockPoisoned) are propagated; all others becomeRejected(EngineRejected). - Tile-cache invalidation.
- Return
Applied.