summaryrefslogtreecommitdiff
path: root/src/mongo/db/query/planner_analysis.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/query/planner_analysis.cpp')
-rw-r--r--src/mongo/db/query/planner_analysis.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/mongo/db/query/planner_analysis.cpp b/src/mongo/db/query/planner_analysis.cpp
index eacb67b69c3..cc570708a09 100644
--- a/src/mongo/db/query/planner_analysis.cpp
+++ b/src/mongo/db/query/planner_analysis.cpp
@@ -625,6 +625,10 @@ bool isEligibleForHashJoin(const SecondaryCollectionInfo& foreignCollInfo) {
internalQueryCollectionMaxStorageSizeBytesToChooseHashJoin.load();
}
+bool isEligibleForIndexedLoopJoin() {
+ return feature_flags::gFeatureFlagSBELookupPushdownIndexJoin.isEnabledAndIgnoreFCV();
+}
+
// static
void QueryPlannerAnalysis::determineLookupStrategy(
EqLookupNode* eqLookupNode,
@@ -667,7 +671,7 @@ void QueryPlannerAnalysis::determineLookupStrategy(
return boost::none;
}();
- if (foreignIndex) {
+ if (foreignIndex && isEligibleForIndexedLoopJoin()) {
eqLookupNode->lookupStrategy = EqLookupNode::LookupStrategy::kIndexedLoopJoin;
eqLookupNode->idxEntry = foreignIndex;
} else if (allowDiskUse && isEligibleForHashJoin(foreignCollItr->second)) {