summaryrefslogtreecommitdiff
path: root/jstests/core/wildcard_index_return_key.js
diff options
context:
space:
mode:
authorDavid Percy <david.percy@mongodb.com>2022-09-26 15:16:37 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-10-26 19:48:19 +0000
commit136d831a284a5aa7277839c390588ff8f20ab179 (patch)
tree1a7b6fcf32f003fc614fa2de08f65431e3875d6d /jstests/core/wildcard_index_return_key.js
parent73fa6daf31440329b55d0971998e8c0359f08392 (diff)
downloadmongo-136d831a284a5aa7277839c390588ff8f20ab179.tar.gz
SERVER-68596 [CQF] Convert dotted $elemMatch to SargableNode
The main change is to allow paths like Traverse (ComposeM ...) to be Sargable. We add a Traverse to each conjunct as if the original path were ComposeM (Traverse ...) (Traverse ...). This is an over- approximation so we mark it perf-only and keep the original predicate. A separate but related improvement: we now make use of more precise index metadata to remove Traverse nodes. An index on a dotted path such as {'a.b': 1} may have metadata telling us that 'b' is never an array, even if 'a' is multikey. Also, slightly improve lowerPartialSchemaRequirement's ability to turn ranges back into PathArr / PathObj. This rewrite belongs in the PartialSchemaReqLowerTransport so that we recognize these intervals no matter where they occur in the BoolExpr.
Diffstat (limited to 'jstests/core/wildcard_index_return_key.js')
0 files changed, 0 insertions, 0 deletions