summaryrefslogtreecommitdiff
path: root/src/mongo/db/fle_crud.h
diff options
context:
space:
mode:
authorMark Benvenuto <mark.benvenuto@mongodb.com>2022-05-09 12:10:40 -0400
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-05-10 21:26:02 +0000
commitcc0335394bee5441350a36fd9351d5746a6000d8 (patch)
tree102494d25f5d39fe8d43fa05318966113c780df6 /src/mongo/db/fle_crud.h
parent15aa9218aaed0b522b6c672cac6324c2a15458f8 (diff)
downloadmongo-cc0335394bee5441350a36fd9351d5746a6000d8.tar.gz
SERVER-66317 Make owned bson copies for txn api threads
Diffstat (limited to 'src/mongo/db/fle_crud.h')
-rw-r--r--src/mongo/db/fle_crud.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/mongo/db/fle_crud.h b/src/mongo/db/fle_crud.h
index 62be5130e1f..738e85b8996 100644
--- a/src/mongo/db/fle_crud.h
+++ b/src/mongo/db/fle_crud.h
@@ -45,6 +45,7 @@
#include "mongo/db/server_options.h"
#include "mongo/db/service_context.h"
#include "mongo/db/transaction_api.h"
+#include "mongo/rpc/op_msg.h"
#include "mongo/s/write_ops/batch_write_exec.h"
#include "mongo/s/write_ops/batched_command_response.h"
@@ -151,7 +152,8 @@ FLEBatchResult processFLEFindAndModify(OperationContext* opCtx,
const BSONObj& cmdObj,
BSONObjBuilder& result);
-write_ops::FindAndModifyCommandRequest processFLEFindAndModifyExplainMongos(
+std::pair<write_ops::FindAndModifyCommandRequest, OpMsgRequest>
+processFLEFindAndModifyExplainMongos(
OperationContext* opCtx, const write_ops::FindAndModifyCommandRequest& findAndModifyRequest);
/**
@@ -160,7 +162,8 @@ write_ops::FindAndModifyCommandRequest processFLEFindAndModifyExplainMongos(
write_ops::FindAndModifyCommandReply processFLEFindAndModify(
OperationContext* opCtx, const write_ops::FindAndModifyCommandRequest& findAndModifyRequest);
-write_ops::FindAndModifyCommandRequest processFLEFindAndModifyExplainMongod(
+std::pair<write_ops::FindAndModifyCommandRequest, OpMsgRequest>
+processFLEFindAndModifyExplainMongod(
OperationContext* opCtx, const write_ops::FindAndModifyCommandRequest& findAndModifyRequest);
/**
@@ -462,20 +465,20 @@ using ProcessFindAndModifyCallback =
const write_ops::FindAndModifyCommandRequest& findAndModifyRequest)>;
template <typename ReplyType>
-StatusWith<ReplyType> processFindAndModifyRequest(
+StatusWith<std::pair<ReplyType, OpMsgRequest>> processFindAndModifyRequest(
OperationContext* opCtx,
const write_ops::FindAndModifyCommandRequest& findAndModifyRequest,
GetTxnCallback getTxns,
ProcessFindAndModifyCallback<ReplyType> processCallback = processFindAndModify);
-extern template StatusWith<write_ops::FindAndModifyCommandReply>
+extern template StatusWith<std::pair<write_ops::FindAndModifyCommandReply, OpMsgRequest>>
processFindAndModifyRequest<write_ops::FindAndModifyCommandReply>(
OperationContext* opCtx,
const write_ops::FindAndModifyCommandRequest& findAndModifyRequest,
GetTxnCallback getTxns,
ProcessFindAndModifyCallback<write_ops::FindAndModifyCommandReply> processCallback);
-extern template StatusWith<write_ops::FindAndModifyCommandRequest>
+extern template StatusWith<std::pair<write_ops::FindAndModifyCommandRequest, OpMsgRequest>>
processFindAndModifyRequest<write_ops::FindAndModifyCommandRequest>(
OperationContext* opCtx,
const write_ops::FindAndModifyCommandRequest& findAndModifyRequest,