-
Type: Improvement
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Query Execution
HashLookupStage and (once SERVER-82298 is delivered) HashLookupUnwindStage use the MaterializedRow container, which supports an arbitrary number of columns, but there is only ever one column in any of these rows.
These should be changed to use the newer, more efficient container FixedSizeRow<1>.
This will requiring implementing various infrastructure MaterializedRow already has but that FixedSizeRow is missing, such as
- size estimation
- key encoding
- type aliases
- type definitions for hasher and equality
- SpillingStore support
Most of this can be done by templatizing existing classes and functions that are already used for the same things by MaterializedRow.