Details
-
Task
-
Resolution: Fixed
-
Major - P3
-
None
-
None
-
None
-
Fully Compatible
-
Execution Team 2021-09-20, Execution Team 2021-10-04, Execution Team 2021-10-18, Execution Team 2021-11-01
Description
Implement sub-object interleaving to compress BSON Documents.
Determine a depth-first ordering of scalar field within a parent document. The binary stream should be interleaved with operation bytes belonging to separate fields based on this order.
When a sub-field is out of values in current operation it will continue at next operation currently not used by any sub-stream. The ordering guarantees that this will belong to this sub-field.
Interleaving ends when a EOO literal is read.
Any change to the hierarchy of the parent BSON Document requires the interleaving to end. But it will re-start if a new BSON Document literal is written to the stream.