summaryrefslogtreecommitdiff
path: root/src/mongo/bson
Commit message (Collapse)AuthorAgeFilesLines
...
* SERVER-60883 Handle large RLE counts correctly in Simple8bBuilderHenrik Edin2021-10-212-1/+16
|
* SERVER-60675 Remove 4-byte element count from BSONColumn binaryHenrik Edin2021-10-216-138/+22
| | | | Instead, it is placed under 'control.count' for v2 compressed buckets.
* SERVER-60115 Fixed `BasicBufBuilder` to correctly use powers of two allocationsMohammad Dashti2021-10-211-2/+30
|
* SERVER-60461 Compression support for sub-objects in BSON Column (type 7)Henrik Edin2021-10-206-187/+1243
| | | | | | | | | | | | | | BSONColumnBuilder refactored to put compression logic in EncodingState class to allow for multiple encoding states at once in the case for sub-object compression where each scalar sub-field is compressed individually. The compression of Objects is done in two phases: 1. Determine optimal reference-object 2. Compression of objects using reference-object To determine reference-object we need to traverse incoming Objects that we need to compress that they match the BSON hierarchy of the reference-object determined so far. To match fields must be in the same order and not differ on being of Object type or an empty object. Fields may be missing in the object to compress vs the reference object. When a compatible change is detected a new reference object is built by merging in the change. If an incompatible change is detected we end previous sub-object compression and start over. The control bytes in the BSON Column binary are interleaved and belong to separate EncodingState's for separate sub-field streams. They are written in the order they are needed for decompression. When a DecodingState has depleted its current control block for values it reads the next interleaved block from the binary.
* SERVER-56185 Investigate possible improvements with session migration and a ↵Allison Easton2021-10-151-1/+1
| | | | chunk migration's critical section
* SERVER-58580 Decoding support for compressed subobjects in BSONColumnHenrik Edin2021-10-133-186/+981
| | | | | | | | | | BSONColumn has been refactored to put the decoding state into a DecodingState class. A new control byte in the data stream has been added for entering "interleaved" mode where sub-elements are compressed separately. One DecodingState is set up for each scalar element in the reference interleaved Object. When decompressing we extract one value from each state to build the full BSONObj to return. We always scan in a fixed order. Control bytes in the binary stream corresponds to the DecodingState that needs to read the next value.
* SERVER-60342 Clean up OID string handlingSara Golemon2021-10-052-20/+35
|
* SERVER-60137 Improved the buffer allocation for the common BSON-related sizesMohammad Dashti2021-10-051-9/+33
|
* SERVER-58210 Eliminate unnecessary RPC protocol negotiation codeDavid Storch2021-10-011-1/+1
|
* SERVER-60172 Fix crash where Simple8b incorrectly tries to store too large ↵Henrik Edin2021-09-242-11/+71
| | | | | | values. Added more testing around invalid values
* SERVER-59199 KeyString: support large RecordId binary stringsJosef Ahmad2021-09-231-1/+1
|
* SERVER-48076 Account for rounding of 64 bit type max in conversion to…Reo Kimura2021-09-221-5/+3
|
* Revert "SERVER-59199 KeyString: support large RecordId binary strings"Uladzimir Makouski2021-09-221-1/+1
| | | | This reverts commit 5f5f4ede9151d2da43a92145e3b3b6f735a09d43.
* SERVER-59199 KeyString: support large RecordId binary stringsJosef Ahmad2021-09-211-1/+1
|
* SERVER-58552 Raise `kBSONDepthParameterFloor` to 21Gregory Noma2021-09-211-6/+7
|
* SERVER-58578 Timeseries bucket compressionHenrik Edin2021-09-162-0/+17
| | | | | | | | | | | | All fields under data will be compressed using BSON Binary Subtype 7. Measurements are sorted by time field. Buckets are compressed in a separate update operation when the BucketCatalog is closing the bucket and no further writes to it will be performed. Compression operation are transparant for the user, if it fails for any reason the bucket will be left uncompressed.
* SERVER-59690 Zero initialize array in Simple8bTypeUtil::encodeBinaryHenrik Edin2021-09-151-2/+1
|
* SERVER-59886 Fix Simple8b flush with pending RLE count of skips over 60Henrik Edin2021-09-133-5/+49
|
* SERVER-59638 Throw BadValue if MinKey or MaxKey is appended to BSONCo…Henrik Edin2021-09-083-0/+42
|
* SERVER-58579 Bucket unpacking support for compressed v2 timeseries bu…Henrik Edin2021-09-083-17/+52
|
* SERVER-59782 migrate makeGuard calls to ScopeGuardBilly Donahue2021-09-081-1/+1
|
* SERVER-59637 Handle BSONObj and BSONArray in BSONColumn and BSONColum…Henrik Edin2021-09-022-4/+97
|
* SERVER-58554 Add support for Strings in BSONColumn and BSONColumnBuilderHenrik Edin2021-08-277-72/+368
|
* SERVER-59461 Add 4 byte element count at the beginning of BSON Subtype 7 binaryHenrik Edin2021-08-256-53/+100
|
* SERVER-59524 Correctly handle endianness in Simple8bTypeUtil::decodeBinaryHenrik Edin2021-08-251-2/+2
|
* SERVER-59514 Isolate the failure path into its own noinline method.Martin Neupauer2021-08-241-3/+10
|
* SERVER-58577 Add BSONColumn to interpret BSON Binary Subtype 7 data.Henrik Edin2021-08-2413-180/+1347
| | | | | | BSONColumn provides forward iteration over BSON Binary Subtype 7 data Decompressed BSONElement from deltas need to be re-materialized. BSONColumn manage this memory and any BSONElement reference has the same lifetime as BSONColumn.
* SERVER-52904 Status faceliftBilly Donahue2021-08-232-8/+53
|
* SERVER-58558 fix windows compileBenety Goh2021-08-211-1/+2
|
* SERVER-58558 Add binary support to simple8blukebhan2021-08-206-17/+293
|
* SERVER-59346 Change to handle int128t cases for simple8blukebhan2021-08-202-3/+20
|
* SERVER-59446 Use memcpy instead of reinterpret_cast for doing bit casting ↵Henrik Edin2021-08-202-5/+14
| | | | between types
* SERVER-59352: BSON Column Compression to support Null, Undefined, Boolean, ↵Jackson Xie2021-08-192-0/+420
| | | | Datetime, Regex, DBPointer, Code with Scope and Symbol
* SERVER-57633 SERVER-48076 fix implicit long long to double conversion in ↵Benety Goh2021-08-181-1/+6
| | | | BSONElement::tryCoerce()
* SERVER-58478 Add decimal128 support to simple8blukebhan2021-08-186-101/+314
|
* SERVER-58560 Double support in BSONColumnBuilderHenrik Edin2021-08-178-69/+789
| | | | | | Doubles are scaled and rounded to closest integer. When a double is appended that needs to be scaled differently the encoder validates if flushing simple8b or re-scaling compresses best. After writing a finalized simple8b block, the scaling is reduced to be as low as possible.
* SERVER-59193 add zigzap support to 128 in simple8blukebhan2021-08-163-0/+57
|
* SERVER-59124 Add iterators to read pending values from Simple8bBuilderHenrik Edin2021-08-162-61/+177
|
* SERVER-59230 Fix compile errors in C++20 mode with GCC 11 and clang 12Andrew Morrow2021-08-151-4/+4
|
* SERVER-59156: bson column builder for Simple8b ObjectIdJackson Xie2021-08-143-1/+102
|
* SERVER-59139 refactor to use abseil for int128lukebhan2021-08-122-6/+6
|
* SERVER-58599 delta-of-delta for Timestamp typeJackson Xie2021-08-123-11/+162
|
* SERVER-58729: Simple8b Google BenchmarkingJackson Xie2021-08-102-0/+167
|
* SERVER-58520: remove Simple8b invariantsJackson Xie2021-08-101-21/+2
|
* SERVER-59125: Simple8b Use boost::optional in Simple8bBuilder::PendingValueJackson Xie2021-08-102-32/+29
|
* SERVER-58790: add Simple8b test for RLE 0 then immediately switching to ↵Jackson Xie2021-08-101-0/+39
| | | | another value for RLE
* SERVER-58653: additional Simple8b testJackson Xie2021-08-061-0/+43
|
* SERVER-58561 Add first version of BSONColumnBuilderHenrik Edin2021-08-056-2/+663
| | | | Only Int32 and Int64 are supported at this point.
* SERVER-58931 rle for seven eight selectorslukebhan2021-08-053-3/+45
|
* SERVER-58553: Simple8b Delta for ObjectId TypeJackson Xie2021-08-053-0/+67
|