| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
should state the problem
|
|
|
|
|
|
| |
index should state the problem"
This reverts commit b73f99b8a8514504cb91ed0060e155f8be689b45.
|
|
|
|
| |
should state the problem
|
|
|
|
|
|
| |
create mode 100644 jstests/replsets/initial_sync_ambiguous_index.js
(cherry picked from commit 3423ca586b88566857f3fcdfeca1c6fdee7a0911)
|
|
|
|
|
|
|
|
| |
Note that this backport combines the additional testing from 53d3aae5
with a one-line fix from 0b80f48b.
(cherry picked from commit 53d3aae5f8e998e6a6625c9e99da8616640d3ba6)
(cherry picked from commit ae8ddcdb9a15d59aa2dcbea0e95cf6c5e170f9da)
|
|
|
|
|
|
|
| |
be updated or deleted after upgrade
(cherry picked from commit 35c6778143fc55eb9617ab4a54e616ba1e537ad5)
(cherry picked from commit 6dd33f3f725d8df801603b8f1dcbd7b13a85f1ce)
|
|
|
|
|
|
|
| |
'hashed' indexes
(cherry picked from commit 888f7e6fc10ccb999be203b8cbad4dbe19d0a5d2)
(cherry picked from commit ffda4b8dd699251f487596ff008133830a5ec392)
|
|
|
|
|
|
|
|
| |
visible inclusion.
A few forward-decl headers were created also.
(cherry picked from commit a472b61ae5ed22a35651298fccad61843993bc49)
|
|
|
|
|
|
| |
file per spill to disk
(cherry picked from commit 2be7f2677a40a863f336d2964f456c9d87ddc838)
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Closes #1219
Signed-off-by: Charlie Swanson <charlie.swanson@mongodb.com>
|
|
|
|
|
|
| |
Closes #1218
Signed-off-by: Charlie Swanson <charlie.swanson@mongodb.com>
|
| |
|
| |
|
|
|
|
|
|
| |
These headers date from before C++11 support and the `::mongo::stdx::`
namespace. They can be removed and uses of the names therein can
be changed to `::mongo::stdx::unordered_`* forms.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
A new unique index format would get added in MongoDB4.0 to overcome the
anonmaly of duplicate keys in unique index on secondary instances. Enabled
selection of new V2 format unique index via a gating variable. The
IndexDescriptor::IndexVersion now has a new flag kV2Unique. The version in an
IndexDescriptor object can be either kV2 or kV2Unique. A version value kV2Unique
means a V2 format unique index would be created. In this commit all of the
V2 format unique index implemetation is a copy of V1(unique index) format. It
would change in future commits.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Merge db/s/split_vector and db/s/split_chunk into db/s/sharding, since they
were directly mutually cyclic with it.
- Split db/index/index_access_method out of db/index/index_access_methods, so
that libquery_exec can use the abstract class without needing to know about the
detailed implementations
- Combine db/clientcursor, db/query/{query,internal_plans},
db/exec/exec, parts of db/write_ops, and
db/pipeline/serveronly_pipeline, into a new db/libquery_exec library.
- Split a new library s/grid out of s/coreshard, and fold the parts of
s/client/sharding_client into s/grid that were cyclic with coreshard, solving
this cycle.
- Adds/removes a few stray LIBDEPS here or there as needed to make the above
transformations work.
After making this transformation, we will be left with one important cycle: the
new db/libquery_exec is still cyclic with db/s/sharding
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
All users were converted to just use AssertionException.
|
| |
|
|
|
|
| |
and document keys
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Moving rather than copying is a significant performance win for the
non-array case.
|
|
|
|
|
|
|
|
|
|
|
| |
Ensures that a collection lock is held in at least MODE_IS while
deregistering a PlanExecutor from the cursor manager. Introduces new
PlanExecutor::dispose() and ClientCursor::dispose() methods that must be
called before destruction of those classes, and ensures they are called
before destruction. These calls will thread an OperationContext all the
way through to DocumentSource::dispose() for each stage in a Pipeline,
which will give DocumentSourceCursor a chance to acquire locks and
deregister its PlanExecutor if necessary.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The `Collection` class is a big part of the circular
dependencies into `catalog`. A simple vtable slice
is insufficient -- it was also necessary to alter the
constructors of some of the other types, to allow them
to properly self-initialize.
The `Collection` class's header also exposed a few static
and free functions that needed slicing as well. These slices
were done using local `stdx::function` objects in the
`collection.cpp` TU and creating registration functions to
facilitate dependency injection.
|
|
|
|
|
| |
There were some superfluous cycle markings which can be easily
resolved, now that some parts of the dependency graph are fixed.
|
|
|
|
|
| |
Slice this dependency by inserting an `IndexCatalogEntry` proxy class
with a pure vtable, and exposing an inline version of `Collection::docFor`.
|
|
|
|
|
|
| |
Rotation of the dependency graph's "slices" to move
db/catalog/catalog to being fully resolved. This will
facilitate breaking dependencies into this library.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
holds the global lock
This reverts commit 3e5314c3f2be49666ca5d7aa766c934ba7d6cbe9.
|
|
|
|
| |
This reverts commit befb3ab22daa1f6e0db54af4caa426cfca1b7cd2.
|
| |
|
| |
|
|
|
|
|
| |
This is required in order for the planner to enforce correct
covering behavior.
|