-
Type:
Improvement
-
Resolution: Fixed
-
Priority:
Major - P3
-
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)