[SERVER-85750] Add BSONColumnBuilder fill constructor for skips Created: 25/Jan/24  Updated: 29/Jan/24

Status: Backlog
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Major - P3
Reporter: Matt Kneiser Assignee: Backlog - Storage Execution Team
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
is related to SERVER-79411 Maintain the compression state in the... In Code Review
Assigned Teams:
Storage Execution
Participants:

 Description   

When a user inserts a measurement into a time-series collection that contains a field that does not exist for prior measurements, the compression code needs to create a new BSONColumnBuilder to represent the new data field. If there are already dozens or hundreds of measurements in the bucket, there will need to be dozens or hundreds of skips initialized in the new column.

This API improves performance by not calling append() each time and checking if RLE is possible. Instead, it will set each RLE block directly and any other state required without calling append().

Proposed shape of the API:

BSONColumnBuilder(size_t numPrefixSkips); // fill ctor


Generated at Thu Feb 08 06:58:31 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.