This is experimental functionality, and as such subject to change. Use at your own risk!
Merge NOT with DISTINCT predicate
Applies to ✅ Open Source Edition ✅ Express Edition ✅ Professional Edition ✅ Enterprise Edition
The NOT predicate inverts its argument predicate. If the argument predicate is a DISTINCT predicate, we can simply merge the two operators to invert the argument into the inverse DISTINCT predicate.
Using Settings.transformPatternsNotNotDistinct
, the following transformations can be achieved:
-- With Settings.transformPatternsNotNotDistinct active, this: SELECT NOT (a IS NOT DISTINCT FROM b), NOT (a IS DISTINCT FROM b) FROM tab; -- ... is transformed into the equivalent expression: SELECT a IS DISTINCT FROM b, -- NOT (a IS NOT DISTINCT FROM b) a IS NOT DISTINCT FROM b -- NOT (a IS DISTINCT FROM b) FROM tab;
Feedback
Do you have any feedback about this page? We'd love to hear it!