summaryrefslogtreecommitdiff
path: root/src/mongo/db/query/optimizer/utils/utils.cpp
diff options
context:
space:
mode:
authorJennifer Peshansky <jennifer.peshansky@mongodb.com>2022-11-03 16:13:20 +0000
committerJennifer Peshansky <jennifer.peshansky@mongodb.com>2022-11-03 16:13:20 +0000
commite74d2910bbe76790ad131d53fee277829cd95982 (patch)
treecabe148764529c9623652374fbc36323a550cd44 /src/mongo/db/query/optimizer/utils/utils.cpp
parent280145e9940729480bb8a35453d4056afac87641 (diff)
parentba467f46cc1bc49965e1d72b541eff0cf1d7b22e (diff)
downloadmongo-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.cpp11
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