diff options
author | Jacob Evans <jacob.evans@10gen.com> | 2019-01-29 13:47:34 -0500 |
---|---|---|
committer | Jacob Evans <jacob.evans@10gen.com> | 2019-02-28 12:55:13 -0500 |
commit | 5fa4388a59fdcea46e8482cb41d0e2cba1c18c40 (patch) | |
tree | f0a5d1b85376b6e92e1285c5d7ab0c39839a325e /src/mongo/util/safe_num.cpp | |
parent | 812890b7952f65241c4ae9076d698cbcc9cd5bbd (diff) | |
download | mongo-5fa4388a59fdcea46e8482cb41d0e2cba1c18c40.tar.gz |
SERVER-38760 Serialize update commands to BSON
Diffstat (limited to 'src/mongo/util/safe_num.cpp')
-rw-r--r-- | src/mongo/util/safe_num.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/mongo/util/safe_num.cpp b/src/mongo/util/safe_num.cpp index f02e603e773..ba506c0d8ba 100644 --- a/src/mongo/util/safe_num.cpp +++ b/src/mongo/util/safe_num.cpp @@ -160,6 +160,25 @@ bool SafeNum::isIdentical(const SafeNum& rhs) const { } } +void SafeNum::toBSON(StringData fieldName, BSONObjBuilder* bob) const { + switch (_type) { + case BSONType::NumberInt: + bob->append(fieldName, _value.int32Val); + return; + case BSONType::NumberLong: + bob->append(fieldName, _value.int64Val); + return; + case BSONType::NumberDouble: + bob->append(fieldName, _value.doubleVal); + return; + case BSONType::NumberDecimal: + bob->append(fieldName, Decimal128(_value.decimalVal)); + return; + default: + MONGO_UNREACHABLE; + } +} + int64_t SafeNum::getInt64(const SafeNum& snum) { switch (snum._type) { case NumberInt: |