| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
This eliminates the need for the FAILURE status codes in
PlanStage and PlanExecutor, and brings query execution's
error reporting more in line with that of the rest of the
server. It also makes it easier for future implementations
of PlanExecutor to comply with the interface.
|
|
|
|
| |
This patch includes also moves ownership of the collator to the ExpressionContext.
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a FETCH_STAGE encounters a record id that does not reference any
existing documents, that means either the document was deleted since
query execution encountered the index entry or their is corruption
somewhere. If the snapshot id indicates that the query has not yielded
since the time that the index entry was loaded, that leaves corruption
as the only possibility. We return and error and write to the log with
instructions on how to address potentially inconsistent data.
create mode 100644 jstests/noPassthrough/query_yields_catch_index_corruption.js
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Rename utils/mongoutils/str.h => utils/str.h
Rename namespace mongoutils::str => str
Rename mongo::strcasecmp => str::caseInsensitiveCompare.
|
|
|
|
|
|
| |
Remove leading comments that are just stating the filename.
Move any file-level comments below the copyright banner.
Remove leading blank lines.
|
|
|
|
| |
Handles COUNT_SCAN, DISTINCT_SCAN, IDHACK, and TEXT_OR.
|
| |
|
|
|
|
|
|
| |
- Removes of PlanStage::invalidate().
- Removes RecordCursor::invalidate() from the storage API.
- Removes CursorManager::invalidateDocument().
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With this change, text queries use the non-blocking OR stage in place
of the blocking TEXT_OR stage when it is not necessary to compute the
text score (because the projection does not call for it).
We also removed the unnecessary MatchableTextDocument object with this
change. This object was used in the TEXT_OR stage to apply a filter to
index entries. The query planner adds search predicates as a filter in
the OR/TEXT_OR stage when they can be covered by the index, allowing
them to get filtered out before the full document need be examined
However, the OR stage uses an IndexMatchableDocument which does almost
the same thing. The only difference is that TextMatchableDocument will
fetch documents if the index does not cover the filter. Since that
should never happen (if the query planner is doing its job right), we
shouldn't need TextMatchableDocument.
|
|
|
|
| |
In preparation for removing the Batched Insert/Update/Delete Request parser classes.
|
|
|
|
|
|
| |
This commit is an automated rename of all whole word instances of txn,
_txn, and txnPtr to opCtx, _opCtx, and opCtxPtr, respectively in all
.cpp and .h files in src/mongo.
|
|
|
|
| |
produces parseable output.
|
|
|
|
|
|
| |
Also renamed:
* WorkingSetMember::hasLoc() -> WorkingSetMember::hasRecordId
* WorkingSetMember::loc -> WorkingSetMember::recordId
|
|
|
|
|
| |
Changes PlanStage::work() to be non-virtual. PlanStage::work() now
updates _commonStats and calls new pure virtual method doWork().
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Resolves the performance regression with mmapv1 introduced by 764e0c4
where documents were being copied in PlanStages that perform
invalidations.
Partially reverted changes to DeleteStage and UpdateStage because the
document to return is not guaranteed to be owned after
makeObjOwnedIfNeeded() is called when running with mmapv1.
|
|
|
|
|
|
|
|
|
|
|
| |
A WorkingSetMember in the LOC_AND_OBJ state must be made owned when:
1. Its WorkingSetID is cached across multiple calls to work().
2. Multiple calls to next(), seekExact(), saveState(), etc. are
performed on the same WiredTiger cursor in a single work() call.
No longer necessary to always copy data out of WiredTiger buffers.
|
|
|
|
| |
base class
|
| |
|
|
|
|
|
|
|
| |
We now tell PlanExecutors to detach from their OperationContexts and to shed
all storage engine resources before stashing the ClientCursor. This is a
heavier weight operation than a normal save/restoreState which is no longer
allowed to change the OperationContext.
|
|
|
|
| |
This is prep for adding more methods that need to propagate to children.
|
|
Signed-off-by: Mark Benvenuto <mark.benvenuto@mongodb.com>
|