Skip to content

IPgMarkableCustomScan<TState>

Namespace: Ankus

Assembly: Ankus.Runtime.dll

Saves and restores a custom scan’s position, so a merge join can read the same inner rows again without PostgreSQL storing them.

public interface IPgMarkableCustomScan<TState> : IPgCustomScan<TState> where TState : class

Type parameters:

TState

The per-scan state.

A merge join needs its inner rows in order, so a provider that implements this interface usually offers paths with SortKeys.

Saves the scan’s current position, replacing any earlier one.

public static abstract void Mark(TState state)

Parameters:

state — TState

The scan’s state.

Returns to the saved position, so the next read returns the row the first read after Mark(TState) returned.

public static abstract void Restore(TState state)

Parameters:

state — TState

The scan’s state.