summaryrefslogtreecommitdiff
path: root/src/mongo/db/storage/wiredtiger/wiredtiger_index.h
diff options
context:
space:
mode:
authorLouis Williams <louis.williams@mongodb.com>2021-02-18 11:29:08 -0500
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-02-18 21:24:03 +0000
commit17e09e03f947742608379284e447806db9988117 (patch)
treeb8745e37e80aaa1f9dabb3e6e894f3826c73ec7e /src/mongo/db/storage/wiredtiger/wiredtiger_index.h
parent0d8ef6ec9e4a1e9b11736d9ed1f7c1e0aee92acd (diff)
downloadmongo-17e09e03f947742608379284e447806db9988117.tar.gz
SERVER-53990 SortedDataInterface supports RecordIds in the binary string format
This implements secondary index support for time-series buckets collections
Diffstat (limited to 'src/mongo/db/storage/wiredtiger/wiredtiger_index.h')
-rw-r--r--src/mongo/db/storage/wiredtiger/wiredtiger_index.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_index.h b/src/mongo/db/storage/wiredtiger/wiredtiger_index.h
index e8058e2350f..7f2f60e9c45 100644
--- a/src/mongo/db/storage/wiredtiger/wiredtiger_index.h
+++ b/src/mongo/db/storage/wiredtiger/wiredtiger_index.h
@@ -89,9 +89,13 @@ public:
*/
static int Drop(OperationContext* opCtx, const std::string& uri);
+ /**
+ * Constructs an index. The rsKeyFormat is the RecordId key format of the related RecordStore.
+ */
WiredTigerIndex(OperationContext* ctx,
const std::string& uri,
StringData ident,
+ KeyFormat rsKeyFormat,
const IndexDescriptor* desc,
bool readOnly);
@@ -141,6 +145,10 @@ public:
return _keyPattern;
}
+ KeyFormat rsKeyFormat() const {
+ return _rsKeyFormat;
+ }
+
virtual bool isIdIndex() const {
return false;
}
@@ -190,6 +198,7 @@ protected:
const std::string _indexName;
const BSONObj _keyPattern;
const BSONObj _collation;
+ const KeyFormat _rsKeyFormat;
};
class WiredTigerIndexUnique : public WiredTigerIndex {
@@ -282,6 +291,7 @@ public:
WiredTigerIndexStandard(OperationContext* ctx,
const std::string& uri,
StringData ident,
+ KeyFormat rsKeyFormat,
const IndexDescriptor* desc,
bool readOnly = false);