diff options
author | Jennifer Peshansky <jennifer.peshansky@mongodb.com> | 2022-11-03 16:13:20 +0000 |
---|---|---|
committer | Jennifer Peshansky <jennifer.peshansky@mongodb.com> | 2022-11-03 16:13:20 +0000 |
commit | e74d2910bbe76790ad131d53fee277829cd95982 (patch) | |
tree | cabe148764529c9623652374fbc36323a550cd44 /src/mongo/db/query/optimizer/utils/utils.cpp | |
parent | 280145e9940729480bb8a35453d4056afac87641 (diff) | |
parent | ba467f46cc1bc49965e1d72b541eff0cf1d7b22e (diff) | |
download | mongo-jenniferpeshansky/SERVER-70854.tar.gz |
Merge branch 'master' into jenniferpeshansky/SERVER-70854jenniferpeshansky/SERVER-70854
Diffstat (limited to 'src/mongo/db/query/optimizer/utils/utils.cpp')
-rw-r--r-- | src/mongo/db/query/optimizer/utils/utils.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/mongo/db/query/optimizer/utils/utils.cpp b/src/mongo/db/query/optimizer/utils/utils.cpp index 6c2dac94c96..a676e28179b 100644 --- a/src/mongo/db/query/optimizer/utils/utils.cpp +++ b/src/mongo/db/query/optimizer/utils/utils.cpp @@ -102,6 +102,7 @@ properties::LogicalProps createInitialScanProps(const ProjectionName& projection projectionName, scanDefName, true /*eqPredsOnly*/, + false /*hasProperInterval*/, {} /*satisfiedPartialIndexes*/), properties::CollectionAvailability({scanDefName}), properties::DistributionAvailability(std::move(distributions))); @@ -1928,4 +1929,14 @@ bool pathEndsInTraverse(const optimizer::ABT& path) { return optimizer::algebra::transport<false>(path, t); } +bool hasProperIntervals(const PartialSchemaRequirements& reqMap) { + // Compute if this node has any proper (not fully open) intervals. + for (const auto& [key, req] : reqMap) { + if (!isIntervalReqFullyOpenDNF(req.getIntervals())) { + return true; + } + } + return false; +} + } // namespace mongo::optimizer |