[SERVER-58561] Implement BSONColumnBuilder Created: 14/Jul/21  Updated: 29/Oct/23  Resolved: 05/Aug/21

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 5.1.0-rc0

Type: Task Priority: Major - P3
Reporter: Henrik Edin Assignee: Henrik Edin
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Backwards Compatibility: Fully Compatible
Sprint: Execution Team 2021-07-26, Execution Team 2021-08-09
Participants:

 Description   

It should provide the basic interface:

append(int index, BSONElement value);
append(BSONElement value); // automatically next index
skip(index num); // skips num amount for next append
SharedBuffer finalize();

Internally it uses the Simple8b and Simple8bUtil classes to calculate deltas of appended values and store them as Simple8b blocks.

This class should implement the higher level binary stream with the stream operations.
Determine if the value must be stored uncompressed (literal op)
Determine which scale factor we need and store correct byte for the chosen scale factor

Keep track of the number of Simple-8b blocks and write a new operation byte when we've reached our max.



 Comments   
Comment by Vivian Ge (Inactive) [ 06/Oct/21 ]

Updating the fixversion since branching activities occurred yesterday. This ticket will be in rc0 when it’s been triggered. For more active release information, please keep an eye on #server-release. Thank you!

Comment by Githook User [ 05/Aug/21 ]

Author:

{'name': 'Henrik Edin', 'email': 'henrik.edin@mongodb.com', 'username': 'henrikedin'}

Message: SERVER-58561 Add first version of BSONColumnBuilder

Only Int32 and Int64 are supported at this point.
Branch: master
https://github.com/mongodb/mongo/commit/459b46b77029374dbe52a78050a1b281bd26ffd7

Generated at Thu Feb 08 05:44:51 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.