diff options
author | Jackson Xie <jackson.xie@mongodb.com> | 2021-08-16 20:43:12 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2021-08-19 16:59:55 +0000 |
commit | 34b65e7d0c2488888c823c611767d4bf082fb4c6 (patch) | |
tree | 1fe67edd665ddff37c43d507b3e73b76b2bf45c7 /src/mongo/bson/util/bsoncolumnbuilder.cpp | |
parent | 24887add7b5df79aabcdd5afe8d44411c6327db0 (diff) | |
download | mongo-34b65e7d0c2488888c823c611767d4bf082fb4c6.tar.gz |
SERVER-59352: BSON Column Compression to support Null, Undefined, Boolean, Datetime, Regex, DBPointer, Code with Scope and Symbol
Diffstat (limited to 'src/mongo/bson/util/bsoncolumnbuilder.cpp')
-rw-r--r-- | src/mongo/bson/util/bsoncolumnbuilder.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/mongo/bson/util/bsoncolumnbuilder.cpp b/src/mongo/bson/util/bsoncolumnbuilder.cpp index 8d0088f1dbc..7a40cddb603 100644 --- a/src/mongo/bson/util/bsoncolumnbuilder.cpp +++ b/src/mongo/bson/util/bsoncolumnbuilder.cpp @@ -144,6 +144,22 @@ BSONColumnBuilder& BSONColumnBuilder::append(BSONElement elem) { _prevDelta = currTimestampDelta; break; } + case Date: + value = elem.date().toMillisSinceEpoch() - previous.date().toMillisSinceEpoch(); + break; + case Bool: + value = elem.boolean() - previous.boolean(); + break; + case Undefined: + case jstNULL: + value = 0; + break; + case RegEx: + case DBRef: + case CodeWScope: + case Symbol: + encodingPossible = false; + break; default: // Nothing else is implemented yet invariant(false); |