Expand description
Transparent spilling for out-of-core query processing.
This module provides infrastructure for spilling operator state to disk when memory pressure is high, enabling queries to complete even when intermediate results exceed available memory.
§Architecture
SpillManager- Manages spill file lifecycle with automatic cleanup (sync)AsyncSpillManager- Async version using tokio for non-blocking I/OSpillFile- Read/write abstraction for individual spill files (sync)AsyncSpillFile- Async version using tokio- Serializer functions for binary Value encoding (no serde overhead)
ExternalSort- External merge sort for out-of-core sortingPartitionedState- Hash partitioning for spillable aggregation
Structs§
- Async
Spill File - Async handle for a single spill file.
- Async
Spill File Reader - Async reader for a spill file.
- Async
Spill Manager - Async manager for spill file lifecycle for out-of-core processing.
- External
Sort - External merge sort for out-of-core sorting.
- Partitioned
State - Partitioned accumulator state for spillable aggregation.
- SortKey
- Sort key specification.
- Spill
File - Handle for a single spill file.
- Spill
File Reader - Reader for a spill file.
- Spill
Manager - Manages spill file lifecycle for out-of-core processing.
Enums§
- Null
Order - Null handling in sort.
- Sort
Direction - Sort direction.
Constants§
- DEFAULT_
NUM_ PARTITIONS - Default number of partitions for hash partitioning.
Functions§
- deserialize_
row - Deserializes a row from bytes.
- deserialize_
value - Deserializes a Value from bytes.
- serialize_
row - Serializes a row (slice of Values) to bytes.
- serialize_
value - Serializes a Value to bytes.