diff options
author | Charlie Swanson <charlie.swanson@mongodb.com> | 2018-02-07 10:44:17 -0500 |
---|---|---|
committer | Charlie Swanson <charlie.swanson@mongodb.com> | 2018-02-08 16:22:39 -0500 |
commit | d043792471717cd59f8d56728d59abf4fdbab6df (patch) | |
tree | 0a7c4e108dd6db5931b271e73315a3e661e2fc4f /src/mongo/db/pipeline/value.cpp | |
parent | 99ec7ccdb0196b3826abfa5d987835b349f32e0d (diff) | |
download | mongo-d043792471717cd59f8d56728d59abf4fdbab6df.tar.gz |
SERVER-31477 Add $trim, $ltrim and $rtrim expressions.
Diffstat (limited to 'src/mongo/db/pipeline/value.cpp')
-rw-r--r-- | src/mongo/db/pipeline/value.cpp | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/src/mongo/db/pipeline/value.cpp b/src/mongo/db/pipeline/value.cpp index 62e64c731e4..480330c5a2d 100644 --- a/src/mongo/db/pipeline/value.cpp +++ b/src/mongo/db/pipeline/value.cpp @@ -354,9 +354,9 @@ BSONObjBuilder& operator<<(BSONObjBuilderValueStream& builder, const Value& val) case Object: return builder << val.getDocument(); case Symbol: - return builder << BSONSymbol(val.getStringData()); + return builder << BSONSymbol(val.getRawData()); case Code: - return builder << BSONCode(val.getStringData()); + return builder << BSONCode(val.getRawData()); case RegEx: return builder << BSONRegEx(val.getRegex(), val.getRegexFlags()); @@ -364,8 +364,8 @@ BSONObjBuilder& operator<<(BSONObjBuilderValueStream& builder, const Value& val) return builder << BSONDBRef(val._storage.getDBRef()->ns, val._storage.getDBRef()->oid); case BinData: - return builder << BSONBinData(val.getStringData().rawData(), // looking for void* - val.getStringData().size(), + return builder << BSONBinData(val.getRawData().rawData(), // looking for void* + val.getRawData().size(), val._storage.binDataType()); case CodeWScope: @@ -597,7 +597,7 @@ string Value::coerceToString() const { case Code: case Symbol: case String: - return getStringData().toString(); + return getRawData().toString(); case bsonTimestamp: return getTimestamp().toStringPretty(); @@ -751,15 +751,15 @@ int Value::compare(const Value& rL, case String: { if (!stringComparator) { - return rL.getStringData().compare(rR.getStringData()); + return rL.getStringData().compare(rR.getRawData()); } - return stringComparator->compare(rL.getStringData(), rR.getStringData()); + return stringComparator->compare(rL.getStringData(), rR.getRawData()); } case Code: case Symbol: - return rL.getStringData().compare(rR.getStringData()); + return rL.getRawData().compare(rR.getRawData()); case Object: return Document::compare(rL.getDocument(), rR.getDocument(), stringComparator); @@ -791,7 +791,7 @@ int Value::compare(const Value& rL, } case BinData: { - ret = cmp(rL.getStringData().size(), rR.getStringData().size()); + ret = cmp(rL.getRawData().size(), rR.getRawData().size()); if (ret) return ret; @@ -800,13 +800,13 @@ int Value::compare(const Value& rL, if (ret) return ret; - return rL.getStringData().compare(rR.getStringData()); + return rL.getRawData().compare(rR.getRawData()); } case RegEx: // same as String in this impl but keeping order same as // BSONElement::compareElements(). - return rL.getStringData().compare(rR.getStringData()); + return rL.getRawData().compare(rR.getRawData()); case CodeWScope: { intrusive_ptr<const RCCodeWScope> l = rL._storage.getCodeWScope(); @@ -891,7 +891,7 @@ void Value::hash_combine(size_t& seed, case Code: case Symbol: { - StringData sd = getStringData(); + StringData sd = getRawData(); MurmurHash3_x86_32(sd.rawData(), sd.size(), seed, &seed); break; } @@ -924,14 +924,14 @@ void Value::hash_combine(size_t& seed, case BinData: { - StringData sd = getStringData(); + StringData sd = getRawData(); MurmurHash3_x86_32(sd.rawData(), sd.size(), seed, &seed); boost::hash_combine(seed, _storage.binDataType()); break; } case RegEx: { - StringData sd = getStringData(); + StringData sd = getRawData(); MurmurHash3_x86_32(sd.rawData(), sd.size(), seed, &seed); break; } @@ -1200,14 +1200,14 @@ void Value::serializeForSorter(BufBuilder& buf) const { case String: case Symbol: case Code: { - StringData str = getStringData(); + StringData str = getRawData(); buf.appendNum(int(str.size())); buf.appendStr(str, /*NUL byte*/ false); break; } case BinData: { - StringData str = getStringData(); + StringData str = getRawData(); buf.appendChar(_storage.binDataType()); buf.appendNum(int(str.size())); buf.appendStr(str, /*NUL byte*/ false); |