|previous : next|
This is experimental functionality, and as such subject to change. Use at your own risk!
This documentation is for the unreleased development version of jOOQ. Click on the above version links to get this documentation for a supported version of jOOQ.
Merge NOT with comparison predicates
Applies to ✅ Open Source Edition ✅ Express Edition ✅ Professional Edition ✅ Enterprise Edition
The NOT predicate inverts its argument predicate. If the argument predicate is a comparison predicate, we can simply merge the two operators to invert the argument into the inverse comparison predicate.
Using Settings.transformPatternsNotComparison, the following transformations can be achieved:
-- With Settings.transformPatternsNotComparison active, this: SELECT NOT (a = b), NOT (a != b), NOT (a > b), NOT (a >= b), NOT (a < b), NOT (a <= b) FROM tab; -- ... is transformed into the equivalent expression: SELECT a != b, -- NOT (a = b) a = b, -- NOT (a != b) a <= b, -- NOT (a > b) a < b, -- NOT (a >= b) a >= b, -- NOT (a < b) a > b -- NOT (a <= b) FROM tab;