diff options
author | Matthew Russotto <matthew.russotto@10gen.com> | 2018-03-29 17:55:20 -0400 |
---|---|---|
committer | Matthew Russotto <matthew.russotto@10gen.com> | 2018-03-29 20:30:54 -0400 |
commit | d32066522d16341e7eba3a752c8697db8b824d7a (patch) | |
tree | a476b41df6ceff6264aa5bc9d19afce704cf1992 /src/mongo/db/ops | |
parent | cf38afc262cd2ef2ba04557ccd50ec94a92f7bc8 (diff) | |
download | mongo-d32066522d16341e7eba3a752c8697db8b824d7a.tar.gz |
SERVER-33211 Support multi-removes in transactions.
Diffstat (limited to 'src/mongo/db/ops')
-rw-r--r-- | src/mongo/db/ops/write_ops_exec.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mongo/db/ops/write_ops_exec.cpp b/src/mongo/db/ops/write_ops_exec.cpp index c7e8269252b..14f19426d01 100644 --- a/src/mongo/db/ops/write_ops_exec.cpp +++ b/src/mongo/db/ops/write_ops_exec.cpp @@ -727,9 +727,11 @@ static SingleWriteResult performSingleDeleteOp(OperationContext* opCtx, const NamespaceString& ns, StmtId stmtId, const write_ops::DeleteOpEntry& op) { + auto session = OperationContextSession::get(opCtx); uassert(ErrorCodes::InvalidOptions, "Cannot use (or request) retryable writes with limit=0", - !(opCtx->getTxnNumber() && op.getMulti())); + (session && session->inMultiDocumentTransaction()) || !opCtx->getTxnNumber() || + !op.getMulti()); globalOpCounters.gotDelete(); auto& curOp = *CurOp::get(opCtx); |