Expand description
Volcano-style operator interface for streaming query execution.
This module provides the foundation for a streaming execution model where operators pull rows on-demand rather than materializing everything upfront.
§Architecture
┌──────────────┐
│ Consumer │ ← Pulls rows via next()
└──────┬───────┘
│
┌──────▼───────┐
│ Join Op │ ← Build side materialized, probe side streamed
└──────┬───────┘
│
┌──────┴──────┐
│ │
▼ ▼
┌─────┐ ┌─────┐
│Scan │ │Scan │ ← Stream rows from storage
└─────┘ └─────┘§Key Benefits
- Reduced Memory: Only materialize what’s needed (e.g., hash join build side)
- Early Termination: LIMIT can stop execution without processing all rows
- Pipelining: Multiple operators can work on the same row in sequence
- Zero-Copy: RowRef allows referencing rows without cloning
Structs§
- Column
Info - Column information for operator schema.
- Composite
Row - A composite row that references values from two source rows.
- Direct
Build Composite Row - A direct-build composite row that owns the probe row directly.
- Empty
Operator - An empty operator that produces no rows.
- Join
Projection - Projection configuration for fused projection during join row creation.
- Materialized
Operator - An operator that yields rows from a pre-materialized vector.
- Projected
Row - A projected row whose slots still reference the preceding JOIN edge.
- Query
Result Operator - Operator that streams rows from a QueryResult.
- Shared
Row - Arc-backed reference to one row in a materialized batch.
Enums§
- Column
Source - Specifies which side of a binary join a projected column comes from.
- Ordering
Property - Physical ordering guaranteed by an operator.
- RowRef
- A row reference that can be borrowed, owned, or composite.
Traits§
- Operator
- Volcano-style iterator interface for query operators.