-
Type:
Improvement
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
Query Optimization
-
Fully Compatible
-
QO 2023-05-15, QO 2023-05-29
-
None
-
None
-
None
-
None
-
None
-
None
-
None
We can extend the NotPushdown rewrite to handle more cases, which can result in better bounds, or at least simpler expressions to evaluate.
For example (pseudocode):
- Not (ComposeA p1 p2) -> ComposeM (Not p1) (Not p2)
- Should help $nor queries, or more complex boolean expressions.
- Not (Default e) -> Default (Not e)
- In an EvalFilter context, Default returns either its argument or the negation of its argument.
- This will help us combine $not with $exists.
- Not (Constant e) -> Constant (Not e)
- Should help with constant folding.
- depends on
-
SERVER-77020 [CQF] Pushdown Not through ComposeA
-
- Closed
-
-
SERVER-77021 [CQF] Pushdown Not through Default
-
- Closed
-
-
SERVER-77022 [CQF] Pushdown Not through PathConstant
-
- Closed
-