diff options
Diffstat (limited to 'src/mongo/db/commands/plan_cache_commands.cpp')
-rw-r--r-- | src/mongo/db/commands/plan_cache_commands.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/mongo/db/commands/plan_cache_commands.cpp b/src/mongo/db/commands/plan_cache_commands.cpp index 443d3ecc4dc..7ac23d5911b 100644 --- a/src/mongo/db/commands/plan_cache_commands.cpp +++ b/src/mongo/db/commands/plan_cache_commands.cpp @@ -85,16 +85,18 @@ StatusWith<std::unique_ptr<CanonicalQuery>> canonicalize(OperationContext* opCtx } // Create canonical query - auto qr = std::make_unique<QueryRequest>(NamespaceString{ns}); - qr->setFilter(queryObj); - qr->setSort(sortObj); - qr->setProj(projObj); - qr->setCollation(collationObj); - const ExtensionsCallbackReal extensionsCallback(opCtx, &qr->nss()); + auto findCommand = std::make_unique<FindCommand>(NamespaceString{ns}); + findCommand->setFilter(queryObj.getOwned()); + findCommand->setSort(sortObj.getOwned()); + findCommand->setProjection(projObj.getOwned()); + findCommand->setCollation(collationObj.getOwned()); + const ExtensionsCallbackReal extensionsCallback( + opCtx, findCommand->getNamespaceOrUUID().nss().get_ptr()); const boost::intrusive_ptr<ExpressionContext> expCtx; auto statusWithCQ = CanonicalQuery::canonicalize(opCtx, - std::move(qr), + std::move(findCommand), + false, expCtx, extensionsCallback, MatchExpressionParser::kAllowAllSpecialFeatures); |