diff options
author | Drew Paroski <drew.paroski@mongodb.com> | 2020-07-14 11:19:06 -0400 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2020-07-15 04:44:54 +0000 |
commit | 86296e8ffdae40d0b006276895940c87926c88b0 (patch) | |
tree | 54038f2fa0174173149db1ef115c50a761198de0 /src/mongo/db/query/get_executor.cpp | |
parent | f5926f7c0867bf2726313e8c27be1871c6c16ecb (diff) | |
download | mongo-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.cpp | 9 |
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, |