summaryrefslogtreecommitdiff
path: root/src/mongo/db/exec/document_value/value.cpp
AgeCommit message (Collapse)Author
2023-11-02SERVER-48429 StringDataComparatorBilly Donahue
2023-10-05SERVER-79975 add document shredder stageMickey. J Winters
2023-09-28Revert "SERVER-79975 add document shredder stage"auto-revert-processor
This reverts commit 1a474953f59a356c1a8da08f2463be30af4610ae.
2023-09-27SERVER-79975 add document shredder stageMickey. J Winters
2023-09-23SERVER-81059 bulk-revert of include of boost iif.hppBilly Donahue
2023-08-14SERVER-79146: Pushdown $_internalSetWindowFields and implement the stage builderProjjal Chanda
2023-08-10Revert "SERVER-79146 Pushdown $_internalSetWindowFields and implement the ↵Projjal Chanda
stage builder" This reverts commit https://github.com/10gen/mongo/commit/4b410c2aaab22d31a64886b3cfc31c354f9f5781.
2023-08-09SERVER-79146 Pushdown $_internalSetWindowFields and implement the stage builderRui Liu
2023-07-27SERVER-77007: MongoDB fails to compile with Clang 15 with C++20Colin Stolley
2023-06-24SERVER-77045 SERVER-77046 IWYU automated changes up to end ratio 0.6Daniel Moody
2023-06-23SERVER-77702 Replace MurmurHash3 with absl::Hash in Value::hash_combine()David Storch
2023-06-22SERVER-78126 Fix Value::hash_combine() on big-endian platformsDavid Storch
Also introduces a new, safer interface for MurmurHash3 exposed in murmur3.h. Migrates all existing callers of MurmurHash3 to this new interface.
2023-06-22SERVER-77044 IWYU Automated changes for up to end ratio 0.4Daniel Moody
2023-06-21SERVER-76696 Default $dateToString format omit 'Z' for non-UTC timezonesKevin Cherkauer
2023-05-23SERVER-77327: replace verify() with MONGO_verify()Colin Stolley
2022-12-05SERVER-25823 add bitwise AND, OR, XOR to the agg languageDavis Haupt
2022-04-18SERVER-55204 Error on fallthrough unless the attribute is usedAndrew Morrow
2021-11-15SERVER-29425 implement $sortArray in classic engineNeil Shweky
2021-05-25SERVER-57130 Traverse arrays while filling the Document cachesamontea
2021-05-04SERVER-55058 More move optimizations for Document/ValueDenis Grebennicov
2021-04-19SERVER-54241 Implement removable $covariance functionRuoxin Xu
2020-09-16SERVER-50663 support $toUpper and $toLower in SBEClaire Childs
2020-09-15SERVER-43909 clarify and repair util/hex.h APIBilly Donahue
- hexblob namespace - Throwy hexblob::decode (nee fromHex) - StringData overloads of hex codec ops - add unsignedHex<T> and zeroPaddedHex<T>
2020-05-23SERVER-47030 Fix date_time_support to not throw exceptionsJacob Evans
2019-10-02SERVER-43175 platform/endian.h refreshBilly Donahue
This is a very low-level bare metal header, and should ideally #include only std headers. - Remove Decimal128 dependency from endian.h. Decimal128 doesn't need endian conversions, and makes endian.h transitively include several higher-level mongo specifics. Current conversions are underspecified and mathematically incorrect or at least ambiguous. They swap the order within each of the low64 and high64 fields, but don't swap them with each other. This is behavior needed only by one spot in db/pipeline/value.cpp to deserialize NumberDecimal, so we can just inline the behavior there and remove it from endian.h. - Remove MONGO_CONFIG_BYTE_ORDER from config.h. The running compiler holds the ultimate truth on what the target endianness is (available via _BYTE_ORDER_). We should not read it from a config header. The names exported into C++ code for the endian possibilities can be changed to line up with those in C++20's std::endian {big,little,native} enum. This eliminates the Scons<=>C++ bridge protocol of "1234" and "4321" magic numbers. Scons will talk to the compiler, not directly to the code. - Use enum expressions (including if constexpr) rather than #if for branching on endianness. This makes bit-rot of unexecuted paths less likely, and is just cleaner C++. - Remove bswap_slow variants. All supported compilers have builtin bswap operations. Can reduce to a simple MSVC vs GCC branching. All compilers have a builtin, so remove the bswap_slow" implementation. - Don't need all the push_macro / pop_macro stuff, or really any macros at all. Just rely on inline C++ functions. These optimize to the same thing. - Don't need ByteOrderConverter or IntegralTypeMap traits either. Simpler metaprogramming based only on sizeof will work fine. All in all we can remove about 400 lines of old code here and shave some low-level edges off of the dependency graph. - benchmark
2019-10-01SERVER-42302 Move Document/Value library to db/exec/document_value directory.David Storch
Document/Value is now used throughout the query execution engine, and therefore should move into the directory which holds query execution code.