summaryrefslogtreecommitdiff
path: root/src/mongo/db/query/get_executor.cpp
diff options
context:
space:
mode:
authorDrew Paroski <drew.paroski@mongodb.com>2020-07-14 11:19:06 -0400
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-07-15 04:44:54 +0000
commit86296e8ffdae40d0b006276895940c87926c88b0 (patch)
tree54038f2fa0174173149db1ef115c50a761198de0 /src/mongo/db/query/get_executor.cpp
parentf5926f7c0867bf2726313e8c27be1871c6c16ecb (diff)
downloadmongo-86296e8ffdae40d0b006276895940c87926c88b0.tar.gz
SERVER-48736 Fix dependencies between query_exec and index_access_methods
Diffstat (limited to 'src/mongo/db/query/get_executor.cpp')
-rw-r--r--src/mongo/db/query/get_executor.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/mongo/db/query/get_executor.cpp b/src/mongo/db/query/get_executor.cpp
index f72ae1f898a..b5d0a2849ca 100644
--- a/src/mongo/db/query/get_executor.cpp
+++ b/src/mongo/db/query/get_executor.cpp
@@ -87,6 +87,7 @@
#include "mongo/db/query/sbe_sub_planner.h"
#include "mongo/db/query/stage_builder_util.h"
#include "mongo/db/query/util/make_data_structure.h"
+#include "mongo/db/query/wildcard_multikey_paths.h"
#include "mongo/db/repl/optime.h"
#include "mongo/db/repl/replication_coordinator.h"
#include "mongo/db/s/collection_sharding_state.h"
@@ -197,8 +198,8 @@ IndexEntry indexEntryFromIndexCatalogEntry(OperationContext* opCtx,
const WildcardProjection* wildcardProjection = nullptr;
std::set<FieldRef> multikeyPathSet;
if (desc->getIndexType() == IndexType::INDEX_WILDCARD) {
- wildcardProjection =
- static_cast<const WildcardAccessMethod*>(accessMethod)->getWildcardProjection();
+ auto wam = static_cast<const WildcardAccessMethod*>(accessMethod);
+ wildcardProjection = wam->getWildcardProjection();
if (isMultikey) {
MultikeyMetadataAccessStats mkAccessStats;
@@ -209,9 +210,9 @@ IndexEntry indexEntryFromIndexCatalogEntry(OperationContext* opCtx,
wildcardProjection->exec(), fields);
multikeyPathSet =
- accessMethod->getMultikeyPathSet(opCtx, projectedFields, &mkAccessStats);
+ getWildcardMultikeyPathSet(wam, opCtx, projectedFields, &mkAccessStats);
} else {
- multikeyPathSet = accessMethod->getMultikeyPathSet(opCtx, &mkAccessStats);
+ multikeyPathSet = getWildcardMultikeyPathSet(wam, opCtx, &mkAccessStats);
}
LOGV2_DEBUG(20920,