diff options
Diffstat (limited to 'src/mongo/db/pipeline/mongo_process_common.h')
-rw-r--r-- | src/mongo/db/pipeline/mongo_process_common.h | 10 |
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. |