summaryrefslogtreecommitdiff
path: root/src/mongo/db/exec/document_value/value.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/exec/document_value/value.cpp')
-rw-r--r--src/mongo/db/exec/document_value/value.cpp18
1 files changed, 7 insertions, 11 deletions
diff --git a/src/mongo/db/exec/document_value/value.cpp b/src/mongo/db/exec/document_value/value.cpp
index 616efb2128a..248514180f0 100644
--- a/src/mongo/db/exec/document_value/value.cpp
+++ b/src/mongo/db/exec/document_value/value.cpp
@@ -45,7 +45,6 @@
#include "mongo/db/query/datetime/date_time_support.h"
#include "mongo/platform/decimal128.h"
#include "mongo/util/hex.h"
-#include "mongo/util/murmur3.h"
#include "mongo/util/represent_as.h"
#include "mongo/util/str.h"
@@ -936,7 +935,7 @@ void Value::hash_combine(size_t& seed,
case Code:
case Symbol: {
StringData sd = getRawData();
- seed = murmur3<sizeof(size_t)>(sd, seed);
+ MurmurHash3_x86_32(sd.rawData(), sd.size(), seed, &seed);
break;
}
@@ -945,7 +944,7 @@ void Value::hash_combine(size_t& seed,
if (stringComparator) {
stringComparator->hash_combine(seed, sd);
} else {
- seed = murmur3<sizeof(size_t)>(sd, seed);
+ MurmurHash3_x86_32(sd.rawData(), sd.size(), seed, &seed);
}
break;
}
@@ -969,14 +968,14 @@ void Value::hash_combine(size_t& seed,
case BinData: {
StringData sd = getRawData();
- seed = murmur3<sizeof(size_t)>(sd, seed);
+ MurmurHash3_x86_32(sd.rawData(), sd.size(), seed, &seed);
boost::hash_combine(seed, _storage.binDataType());
break;
}
case RegEx: {
StringData sd = getRawData();
- seed = murmur3<sizeof(size_t)>(sd, seed);
+ MurmurHash3_x86_32(sd.rawData(), sd.size(), seed, &seed);
break;
}
@@ -1254,17 +1253,14 @@ ostream& operator<<(ostream& out, const Value& val) {
verify(false);
}
-Value Value::shred() const {
+void Value::fillCache() const {
if (isObject()) {
- return Value(getDocument().shred());
+ getDocument().fillCache();
} else if (isArray()) {
- std::vector<Value> values;
for (auto&& val : getArray()) {
- values.push_back(val.shred());
+ val.fillCache();
}
- return Value(values);
}
- return Value(*this);
}
void Value::serializeForSorter(BufBuilder& buf) const {