summaryrefslogtreecommitdiff
path: root/src/mongo/db/pipeline/mongo_process_common.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/pipeline/mongo_process_common.h')
-rw-r--r--src/mongo/db/pipeline/mongo_process_common.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/mongo/db/pipeline/mongo_process_common.h b/src/mongo/db/pipeline/mongo_process_common.h
index 53ce182e93a..ff2a7a5595a 100644
--- a/src/mongo/db/pipeline/mongo_process_common.h
+++ b/src/mongo/db/pipeline/mongo_process_common.h
@@ -60,12 +60,22 @@ public:
CurrentOpTruncateMode truncateMode,
CurrentOpCursorMode cursorMode) const final;
+ virtual std::vector<FieldPath> collectDocumentKeyFieldsActingAsRouter(
+ OperationContext*, const NamespaceString&) const override;
+
virtual boost::optional<OID> refreshAndGetEpoch(
const boost::intrusive_ptr<ExpressionContext>& expCtx,
const NamespaceString& nss) const final;
protected:
/**
+ * Converts the fields from a ShardKeyPattern to a vector of FieldPaths, including the _id if
+ * it's not already in 'keyPatternFields'.
+ */
+ std::vector<FieldPath> _shardKeyToDocumentKeyFields(
+ const std::vector<std::unique_ptr<FieldRef>>& keyPatternFields) const;
+
+ /**
* Returns a BSONObj representing a report of the operation which is currently being
* executed by the supplied client. This method is called by the getCurrentOps method of
* MongoProcessCommon to delegate to the mongoS- or mongoD- specific implementation.