Type alias SerializableExecutionPlan

SerializableExecutionPlan: Omit<ExecutionPlan, "forkStack" | "output"> & {
    forkStack: ForkId[];
}

A variation of ExecutionPlan designed for serialization, where the forkStack contains only ForkId values instead of full Fork objects, and the output property is omitted entirely. This design minimizes redundancy and reduces the size of Snapshot objects, making them more efficient to store and transmit.

The reason for this is that Fork contains {forkId, output}, and we don't want to repeat large output objects in a Snapshot when various forkStack arrays can reference the same output object. The Snapshot uniques output objects in its mvcc field, and forkId can be used as a key to retrieve the corresponding output for the original Fork, thereby avoiding repeated output objects in the forkStack.

This type is derived from ExecutionPlan by omitting the forkStack and output properties and replacing forkStack with a simplified version.

Type declaration

  • forkStack: ForkId[]

    The stack of fork identifiers associated with this execution plan. Simplified to contain only ForkId values instead of full Fork objects to make Snapshot objects much smaller in some cases.

See

ExecutionPlan

Generated using TypeDoc