Translate $in using EqMember op type

XMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Fixed
    • Priority: Major - P3
    • 6.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Fully Compatible
    • QO 2022-07-11, QO 2022-07-25, QO 2022-08-08
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      During SERVER-61991, there was a discussion about how best to handle large $in during ABT translation and optimization. The approach we went with uses a more verbose but generic ABT to represent a $in . Each equality is translated into a PathCompare, which are all composed with nested binary PathComposeA operators under a common sequence of path elements representing the expression path. Through rewrites, this is condensed into a SargableNode with tight bounds.

      With the introduction of a new op type (EqMember) we can now address some of the concerns with the original approach, namely that the representation involves many extra nodes (compose and compare)

            Assignee:
            Emily Wang (Inactive)
            Reporter:
            Hana Pearlman
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: