Logo Deedle

LookupRangeExecutor Module

Shared LookupRange / GetSubVector logic for ordinal virtual sources.

Types

Type Description

SubVectorSpec<'T>

Sub-vector plan: callers compose `valueAt << MapRow` so OptionalValue sources stay typed.

Functions and values

Function or value Description

LookupRangeExecutor.clipLookupRange mode lo newLen

Full Usage: LookupRangeExecutor.clipLookupRange mode lo newLen

Parameters:
Returns: LookupRangeMode<'T>
Type parameters: 'T
mode : LookupRangeMode<'T>
lo : int64
newLen : int64
Returns: LookupRangeMode<'T>

LookupRangeExecutor.getSubVector length mode asLong range

Full Usage: LookupRangeExecutor.getSubVector length mode asLong range

Parameters:
Returns: Choice<SubVectorSpec<'T>, 'a>
Type parameters: 'T, 'a
length : int64
mode : LookupRangeMode<'T>
asLong : ('T -> int64) option
range : RangeRestriction<Address>
Returns: Choice<SubVectorSpec<'T>, 'a>

LookupRangeExecutor.intersect a b

Full Usage: LookupRangeExecutor.intersect a b

Parameters:
Returns: RangeRestriction<Address>

Intersect two LookupRange results (same original address domain). Used to fuse two `filterRowsBy` predicates into one sub-vector restriction. Never enumerates [`StepRange`] (its enumerator throws by design).

a : RangeRestriction<Address>
b : RangeRestriction<Address>
Returns: RangeRestriction<Address>

LookupRangeExecutor.lookupRange length mode value context

Full Usage: LookupRangeExecutor.lookupRange length mode value context

Parameters:
Returns: RangeRestriction<Address>
Type parameters: 'T
length : int64
mode : LookupRangeMode<'T>
value : 'T
context : string
Returns: RangeRestriction<Address>

Type something to start searching.