summaryrefslogtreecommitdiff
path: root/src/mongo/db/query/planner_analysis.cpp
diff options
context:
space:
mode:
authorMihai Andrei <mihai.andrei@10gen.com>2022-04-13 14:57:07 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-04-13 16:11:14 +0000
commitce01958144a09035887f45be8761afa08bc01cde (patch)
tree2a72e513048c83f9e8f12471af6cc458bd7c7e54 /src/mongo/db/query/planner_analysis.cpp
parente80b351a8b543f93fb2b35f3b546953e9c421d43 (diff)
downloadmongo-ce01958144a09035887f45be8761afa08bc01cde.tar.gz
SERVER-64443 Verify that replanning works for HashJoin
Diffstat (limited to 'src/mongo/db/query/planner_analysis.cpp')
-rw-r--r--src/mongo/db/query/planner_analysis.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mongo/db/query/planner_analysis.cpp b/src/mongo/db/query/planner_analysis.cpp
index eea3c702a61..654fa0f56ca 100644
--- a/src/mongo/db/query/planner_analysis.cpp
+++ b/src/mongo/db/query/planner_analysis.cpp
@@ -670,7 +670,9 @@ void QueryPlannerAnalysis::determineLookupStrategy(
return boost::none;
}();
- if (foreignIndex) {
+ if (!foreignCollItr->second.exists) {
+ eqLookupNode->lookupStrategy = EqLookupNode::LookupStrategy::kNonExistentForeignCollection;
+ } else if (foreignIndex) {
eqLookupNode->lookupStrategy = EqLookupNode::LookupStrategy::kIndexedLoopJoin;
eqLookupNode->idxEntry = foreignIndex;
} else if (allowDiskUse && isEligibleForHashJoin(foreignCollItr->second)) {