Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | SERVER-60883 Handle large RLE counts correctly in Simple8bBuilder | Henrik Edin | 2021-10-21 | 2 | -1/+16 | |
| | ||||||
* | SERVER-60675 Remove 4-byte element count from BSONColumn binary | Henrik Edin | 2021-10-21 | 6 | -138/+22 | |
| | | | | Instead, it is placed under 'control.count' for v2 compressed buckets. | |||||
* | SERVER-60115 Fixed `BasicBufBuilder` to correctly use powers of two allocations | Mohammad Dashti | 2021-10-21 | 1 | -2/+30 | |
| | ||||||
* | SERVER-60461 Compression support for sub-objects in BSON Column (type 7) | Henrik Edin | 2021-10-20 | 6 | -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 Easton | 2021-10-15 | 1 | -1/+1 | |
| | | | | chunk migration's critical section | |||||
* | SERVER-58580 Decoding support for compressed subobjects in BSONColumn | Henrik Edin | 2021-10-13 | 3 | -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 handling | Sara Golemon | 2021-10-05 | 2 | -20/+35 | |
| | ||||||
* | SERVER-60137 Improved the buffer allocation for the common BSON-related sizes | Mohammad Dashti | 2021-10-05 | 1 | -9/+33 | |
| | ||||||
* | SERVER-58210 Eliminate unnecessary RPC protocol negotiation code | David Storch | 2021-10-01 | 1 | -1/+1 | |
| | ||||||
* | SERVER-60172 Fix crash where Simple8b incorrectly tries to store too large ↵ | Henrik Edin | 2021-09-24 | 2 | -11/+71 | |
| | | | | | | values. Added more testing around invalid values | |||||
* | SERVER-59199 KeyString: support large RecordId binary strings | Josef Ahmad | 2021-09-23 | 1 | -1/+1 | |
| | ||||||
* | SERVER-48076 Account for rounding of 64 bit type max in conversion to… | Reo Kimura | 2021-09-22 | 1 | -5/+3 | |
| | ||||||
* | Revert "SERVER-59199 KeyString: support large RecordId binary strings" | Uladzimir Makouski | 2021-09-22 | 1 | -1/+1 | |
| | | | | This reverts commit 5f5f4ede9151d2da43a92145e3b3b6f735a09d43. | |||||
* | SERVER-59199 KeyString: support large RecordId binary strings | Josef Ahmad | 2021-09-21 | 1 | -1/+1 | |
| | ||||||
* | SERVER-58552 Raise `kBSONDepthParameterFloor` to 21 | Gregory Noma | 2021-09-21 | 1 | -6/+7 | |
| | ||||||
* | SERVER-58578 Timeseries bucket compression | Henrik Edin | 2021-09-16 | 2 | -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::encodeBinary | Henrik Edin | 2021-09-15 | 1 | -2/+1 | |
| | ||||||
* | SERVER-59886 Fix Simple8b flush with pending RLE count of skips over 60 | Henrik Edin | 2021-09-13 | 3 | -5/+49 | |
| | ||||||
* | SERVER-59638 Throw BadValue if MinKey or MaxKey is appended to BSONCo… | Henrik Edin | 2021-09-08 | 3 | -0/+42 | |
| | ||||||
* | SERVER-58579 Bucket unpacking support for compressed v2 timeseries bu… | Henrik Edin | 2021-09-08 | 3 | -17/+52 | |
| | ||||||
* | SERVER-59782 migrate makeGuard calls to ScopeGuard | Billy Donahue | 2021-09-08 | 1 | -1/+1 | |
| | ||||||
* | SERVER-59637 Handle BSONObj and BSONArray in BSONColumn and BSONColum… | Henrik Edin | 2021-09-02 | 2 | -4/+97 | |
| | ||||||
* | SERVER-58554 Add support for Strings in BSONColumn and BSONColumnBuilder | Henrik Edin | 2021-08-27 | 7 | -72/+368 | |
| | ||||||
* | SERVER-59461 Add 4 byte element count at the beginning of BSON Subtype 7 binary | Henrik Edin | 2021-08-25 | 6 | -53/+100 | |
| | ||||||
* | SERVER-59524 Correctly handle endianness in Simple8bTypeUtil::decodeBinary | Henrik Edin | 2021-08-25 | 1 | -2/+2 | |
| | ||||||
* | SERVER-59514 Isolate the failure path into its own noinline method. | Martin Neupauer | 2021-08-24 | 1 | -3/+10 | |
| | ||||||
* | SERVER-58577 Add BSONColumn to interpret BSON Binary Subtype 7 data. | Henrik Edin | 2021-08-24 | 13 | -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 facelift | Billy Donahue | 2021-08-23 | 2 | -8/+53 | |
| | ||||||
* | SERVER-58558 fix windows compile | Benety Goh | 2021-08-21 | 1 | -1/+2 | |
| | ||||||
* | SERVER-58558 Add binary support to simple8b | lukebhan | 2021-08-20 | 6 | -17/+293 | |
| | ||||||
* | SERVER-59346 Change to handle int128t cases for simple8b | lukebhan | 2021-08-20 | 2 | -3/+20 | |
| | ||||||
* | SERVER-59446 Use memcpy instead of reinterpret_cast for doing bit casting ↵ | Henrik Edin | 2021-08-20 | 2 | -5/+14 | |
| | | | | between types | |||||
* | SERVER-59352: BSON Column Compression to support Null, Undefined, Boolean, ↵ | Jackson Xie | 2021-08-19 | 2 | -0/+420 | |
| | | | | Datetime, Regex, DBPointer, Code with Scope and Symbol | |||||
* | SERVER-57633 SERVER-48076 fix implicit long long to double conversion in ↵ | Benety Goh | 2021-08-18 | 1 | -1/+6 | |
| | | | | BSONElement::tryCoerce() | |||||
* | SERVER-58478 Add decimal128 support to simple8b | lukebhan | 2021-08-18 | 6 | -101/+314 | |
| | ||||||
* | SERVER-58560 Double support in BSONColumnBuilder | Henrik Edin | 2021-08-17 | 8 | -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 simple8b | lukebhan | 2021-08-16 | 3 | -0/+57 | |
| | ||||||
* | SERVER-59124 Add iterators to read pending values from Simple8bBuilder | Henrik Edin | 2021-08-16 | 2 | -61/+177 | |
| | ||||||
* | SERVER-59230 Fix compile errors in C++20 mode with GCC 11 and clang 12 | Andrew Morrow | 2021-08-15 | 1 | -4/+4 | |
| | ||||||
* | SERVER-59156: bson column builder for Simple8b ObjectId | Jackson Xie | 2021-08-14 | 3 | -1/+102 | |
| | ||||||
* | SERVER-59139 refactor to use abseil for int128 | lukebhan | 2021-08-12 | 2 | -6/+6 | |
| | ||||||
* | SERVER-58599 delta-of-delta for Timestamp type | Jackson Xie | 2021-08-12 | 3 | -11/+162 | |
| | ||||||
* | SERVER-58729: Simple8b Google Benchmarking | Jackson Xie | 2021-08-10 | 2 | -0/+167 | |
| | ||||||
* | SERVER-58520: remove Simple8b invariants | Jackson Xie | 2021-08-10 | 1 | -21/+2 | |
| | ||||||
* | SERVER-59125: Simple8b Use boost::optional in Simple8bBuilder::PendingValue | Jackson Xie | 2021-08-10 | 2 | -32/+29 | |
| | ||||||
* | SERVER-58790: add Simple8b test for RLE 0 then immediately switching to ↵ | Jackson Xie | 2021-08-10 | 1 | -0/+39 | |
| | | | | another value for RLE | |||||
* | SERVER-58653: additional Simple8b test | Jackson Xie | 2021-08-06 | 1 | -0/+43 | |
| | ||||||
* | SERVER-58561 Add first version of BSONColumnBuilder | Henrik Edin | 2021-08-05 | 6 | -2/+663 | |
| | | | | Only Int32 and Int64 are supported at this point. | |||||
* | SERVER-58931 rle for seven eight selectors | lukebhan | 2021-08-05 | 3 | -3/+45 | |
| | ||||||
* | SERVER-58553: Simple8b Delta for ObjectId Type | Jackson Xie | 2021-08-05 | 3 | -0/+67 | |
| |