summaryrefslogtreecommitdiff
path: root/src/mongo/db/exec/delete.cpp
diff options
context:
space:
mode:
authorDavid Storch <david.storch@10gen.com>2014-09-18 14:06:54 -0400
committerDavid Storch <david.storch@10gen.com>2014-09-19 10:46:17 -0400
commit6572c75e85cd7ec0a3269a13a5290c9a46416a3e (patch)
tree62ef5685e1323df63f1c00b99f624d3273b4b5e2 /src/mongo/db/exec/delete.cpp
parent759b6e8cabfb745b712b5ffd0748561129c3b421 (diff)
downloadmongo-6572c75e85cd7ec0a3269a13a5290c9a46416a3e.tar.gz
SERVER-14100 explain for delete
Diffstat (limited to 'src/mongo/db/exec/delete.cpp')
-rw-r--r--src/mongo/db/exec/delete.cpp27
1 files changed, 16 insertions, 11 deletions
diff --git a/src/mongo/db/exec/delete.cpp b/src/mongo/db/exec/delete.cpp
index d7e689e62f6..b8c4b8c0d93 100644
--- a/src/mongo/db/exec/delete.cpp
+++ b/src/mongo/db/exec/delete.cpp
@@ -100,20 +100,25 @@ namespace mongo {
const bool deleteCappedOK = false;
const bool deleteNoWarn = false;
- _collection->deleteDocument(_txn, rloc, deleteCappedOK, deleteNoWarn,
- _params.shouldCallLogOp ? &deletedDoc : NULL);
- if (_params.shouldCallLogOp) {
- if (deletedDoc.isEmpty()) {
- log() << "Deleted object without id in collection " << _collection->ns()
- << ", not logging.";
- }
- else {
- bool replJustOne = true;
- repl::logOp(_txn, "d", _collection->ns().ns().c_str(), deletedDoc, 0,
- &replJustOne, _params.fromMigrate);
+ // Do the write, unless this is an explain.
+ if (!_params.isExplain) {
+ _collection->deleteDocument(_txn, rloc, deleteCappedOK, deleteNoWarn,
+ _params.shouldCallLogOp ? &deletedDoc : NULL);
+
+ if (_params.shouldCallLogOp) {
+ if (deletedDoc.isEmpty()) {
+ log() << "Deleted object without id in collection " << _collection->ns()
+ << ", not logging.";
+ }
+ else {
+ bool replJustOne = true;
+ repl::logOp(_txn, "d", _collection->ns().ns().c_str(), deletedDoc, 0,
+ &replJustOne, _params.fromMigrate);
+ }
}
}
+
wunit.commit();
}