summaryrefslogtreecommitdiff
path: root/src/mongo/s/chunk_version.cpp
diff options
context:
space:
mode:
authorKaloian Manassiev <kaloian.manassiev@mongodb.com>2022-01-20 09:20:51 +0100
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-01-24 14:44:28 +0000
commit3ce4e1938871cfa86599cf37c871542a7f4ca4c4 (patch)
treef659eb8120daa83b8b21ca25ffee25704474b171 /src/mongo/s/chunk_version.cpp
parent14c6f826f2d54a9d6928009be3627bff948ceb39 (diff)
downloadmongo-3ce4e1938871cfa86599cf37c871542a7f4ca4c4.tar.gz
SERVER-62783 Move the version parsing for ShardCollectionType out of ChunkVersion
Diffstat (limited to 'src/mongo/s/chunk_version.cpp')
-rw-r--r--src/mongo/s/chunk_version.cpp21
1 files changed, 17 insertions, 4 deletions
diff --git a/src/mongo/s/chunk_version.cpp b/src/mongo/s/chunk_version.cpp
index 3379d433f35..fd71e7270f8 100644
--- a/src/mongo/s/chunk_version.cpp
+++ b/src/mongo/s/chunk_version.cpp
@@ -184,13 +184,26 @@ BSONObj ChunkVersion::toBSON() const {
return b.arr();
}
-void ChunkVersion::legacyToBSON(StringData field, BSONObjBuilder* out) const {
- out->appendTimestamp(field, this->toLong());
-}
-
std::string ChunkVersion::toString() const {
return str::stream() << majorVersion() << "|" << minorVersion() << "||" << _epoch << "||"
<< _timestamp.toString();
}
+ChunkVersion ChunkVersion::parseMajorMinorVersionOnlyFromShardCollectionType(
+ const BSONElement& element) {
+ uassert(ErrorCodes::TypeMismatch,
+ str::stream() << "Invalid type " << element.type()
+ << " for version major and minor part.",
+ element.type() == bsonTimestamp || element.type() == Date);
+
+ ChunkVersion version;
+ version._combined = element._numberLong();
+ return version;
+}
+
+void ChunkVersion::serialiseMajorMinorVersionOnlyForShardCollectionType(StringData field,
+ BSONObjBuilder* out) const {
+ out->appendTimestamp(field, toLong());
+}
+
} // namespace mongo