summaryrefslogtreecommitdiff
path: root/src/mongo/s/database_version.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/s/database_version.h')
-rw-r--r--src/mongo/s/database_version.h26
1 files changed, 10 insertions, 16 deletions
diff --git a/src/mongo/s/database_version.h b/src/mongo/s/database_version.h
index a31bab383ec..1385db40313 100644
--- a/src/mongo/s/database_version.h
+++ b/src/mongo/s/database_version.h
@@ -43,28 +43,16 @@ namespace mongo {
* Once uuids are gone, relational operators should be implemented in this class.
*
*/
-class DatabaseVersion : private DatabaseVersionBase {
+class DatabaseVersion : public DatabaseVersionBase {
public:
- // Make field names accessible
- using DatabaseVersionBase::kTimestampFieldName;
-
- // Make getters and setters accessible
- using DatabaseVersionBase::getLastMod;
- using DatabaseVersionBase::getTimestamp;
- using DatabaseVersionBase::serialize;
- using DatabaseVersionBase::toBSON;
-
- // It returns a new DatabaseVersion marked as fixed. A fixed database version is used to
- // distinguish databases that do not have entries in the sharding catalog, such as 'config' and
- // 'admin'
- static DatabaseVersion makeFixed();
-
DatabaseVersion() = default;
explicit DatabaseVersion(const BSONObj& obj) {
DatabaseVersionBase::parseProtected(IDLParserErrorContext("DatabaseVersion"), obj);
}
+ explicit DatabaseVersion(const DatabaseVersionBase& dbv) : DatabaseVersionBase(dbv) {}
+
/**
* Constructor of a DatabaseVersion based on epochs
*/
@@ -80,6 +68,12 @@ public:
setTimestamp(timestamp);
}
+ // Returns a new hardcoded DatabaseVersion value, which is used to distinguish databases that do
+ // not have entries in the sharding catalog, namely 'config' and 'admin'.
+ static DatabaseVersion makeFixed();
+
+ // Returns a new DatabaseVersion with just the lastMod incremented. This indicates that the
+ // database changed primary, as opposed to being dropped and recreated.
DatabaseVersion makeUpdated() const;
/**
@@ -97,7 +91,7 @@ public:
return getLastMod() == 0;
}
- mongo::UUID getUuid() const {
+ UUID getUuid() const {
return *DatabaseVersionBase::getUuid();
}
};