summaryrefslogtreecommitdiff
path: root/src/mongo/bson/util/bsoncolumnbuilder.cpp
diff options
context:
space:
mode:
authorJackson Xie <jackson.xie@mongodb.com>2021-08-16 20:43:12 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-08-19 16:59:55 +0000
commit34b65e7d0c2488888c823c611767d4bf082fb4c6 (patch)
tree1fe67edd665ddff37c43d507b3e73b76b2bf45c7 /src/mongo/bson/util/bsoncolumnbuilder.cpp
parent24887add7b5df79aabcdd5afe8d44411c6327db0 (diff)
downloadmongo-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.cpp16
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);