Expand description
Physical execution plan and extension planner for lookup joins. Physical execution plan for lookup joins.
Bridges LookupJoinNode (logical) to a hash-probe executor that
joins streaming input against a pre-indexed lookup table snapshot.
§Data flow
Stream input ──► LookupJoinExec ──► Output (stream + lookup columns)
│
HashIndex probe
│
LookupSnapshot (pre-indexed RecordBatch)Structs§
- Lookup
Join Exec - Physical plan that hash-probes a pre-indexed lookup table for each batch from the streaming input.
- Lookup
Join Extension Planner - Converts
LookupJoinNodelogical plans toLookupJoinExecorPartialLookupJoinExecphysical plans by resolving table data from the registry. - Lookup
Snapshot - Point-in-time snapshot of a lookup table for join execution.
- Lookup
Table Registry - Thread-safe registry of lookup table entries (snapshot or partial).
- Partial
Lookup Join Exec - Physical plan that probes a bounded foyer cache per key for each batch from the streaming input. Used for on-demand/partial tables where the full dataset does not fit in memory.
- Partial
Lookup State - State for a partial (on-demand) lookup table.
- Versioned
Index - Pre-built versioned index mapping encoded key bytes to a BTreeMap
of version timestamps to row indices. Supports point-in-time lookups
via
probe_at_timefor temporal joins. - Versioned
Lookup Join Exec - Physical plan that probes a versioned (temporal) index for each
batch from the streaming input. For each stream row, finds the
table row with the latest version timestamp
<= event_ts. - Versioned
Lookup State - State for a versioned (temporal) lookup table.
Enums§
- Registered
Lookup - A registered lookup table entry — snapshot, partial (on-demand), or versioned (temporal join with version history).