From e38aef0c3752f2ebf22f45b4bd79feb63fe140a0 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Tue, 8 Nov 2022 09:56:40 +0100 Subject: [PATCH] [jOOQ/jOOQ#14179] Add a QOM.UReturnsNullOnNullInput marker interface --- jOOQ/src/main/java/org/jooq/impl/QOM.java | 163 ++++++++++++++++++++++ 1 file changed, 163 insertions(+) diff --git a/jOOQ/src/main/java/org/jooq/impl/QOM.java b/jOOQ/src/main/java/org/jooq/impl/QOM.java index a4d0e5bc4d..8b2bbe6f50 100644 --- a/jOOQ/src/main/java/org/jooq/impl/QOM.java +++ b/jOOQ/src/main/java/org/jooq/impl/QOM.java @@ -2105,6 +2105,7 @@ public final class QOM { */ public /*sealed*/ interface TableEq extends + UReturnsNullOnNullInput, org.jooq.Condition, UCommutativeOperator, Condition> //permits @@ -2116,6 +2117,7 @@ public final class QOM { */ public /*sealed*/ interface Eq extends + UReturnsNullOnNullInput, UCommutativeOperator, Condition>, CompareCondition //permits @@ -2140,6 +2142,7 @@ public final class QOM { */ public /*sealed*/ interface Ge extends + UReturnsNullOnNullInput, UConvertibleOperator, Condition>, CompareCondition //permits @@ -2156,6 +2159,7 @@ public final class QOM { */ public /*sealed*/ interface Gt extends + UReturnsNullOnNullInput, UConvertibleOperator, Condition>, CompareCondition //permits @@ -2241,6 +2245,7 @@ public final class QOM { */ public /*sealed*/ interface Le extends + UReturnsNullOnNullInput, UConvertibleOperator, Condition>, CompareCondition //permits @@ -2257,6 +2262,7 @@ public final class QOM { */ public /*sealed*/ interface Like extends + UReturnsNullOnNullInput, Condition, UOperator3, Field, Character, Condition> //permits @@ -2279,6 +2285,7 @@ public final class QOM { */ public /*sealed*/ interface LikeIgnoreCase extends + UReturnsNullOnNullInput, Condition, UOperator3, Field, Character, Condition> //permits @@ -2294,6 +2301,7 @@ public final class QOM { */ public /*sealed*/ interface Lt extends + UReturnsNullOnNullInput, UConvertibleOperator, Condition>, CompareCondition //permits @@ -2310,6 +2318,7 @@ public final class QOM { */ public /*sealed*/ interface TableNe extends + UReturnsNullOnNullInput, org.jooq.Condition, UCommutativeOperator, Condition> //permits @@ -2321,6 +2330,7 @@ public final class QOM { */ public /*sealed*/ interface Ne extends + UReturnsNullOnNullInput, UCommutativeOperator, Condition>, CompareCondition //permits @@ -2332,6 +2342,7 @@ public final class QOM { */ public /*sealed*/ interface Not extends + UReturnsNullOnNullInput, org.jooq.Condition, UOperator1 //permits @@ -2345,6 +2356,7 @@ public final class QOM { */ public /*sealed*/ interface NotField extends + UReturnsNullOnNullInput, org.jooq.Field, UOperator1, Field> //permits @@ -2377,6 +2389,7 @@ public final class QOM { */ public /*sealed*/ interface NotLike extends + UReturnsNullOnNullInput, Condition, UOperator3, Field, Character, Condition> //permits @@ -2399,6 +2412,7 @@ public final class QOM { */ public /*sealed*/ interface NotLikeIgnoreCase extends + UReturnsNullOnNullInput, Condition, UOperator3, Field, Character, Condition> //permits @@ -2414,6 +2428,7 @@ public final class QOM { */ public /*sealed*/ interface NotSimilarTo extends + UReturnsNullOnNullInput, Condition, UOperator3, Field, Character, Condition> //permits @@ -2439,6 +2454,7 @@ public final class QOM { */ public /*sealed*/ interface SimilarTo extends + UReturnsNullOnNullInput, Condition, UOperator3, Field, Character, Condition> //permits @@ -2467,6 +2483,7 @@ public final class QOM { */ public /*sealed*/ interface Xor extends + UReturnsNullOnNullInput, CombinedCondition //permits // Xor @@ -2479,6 +2496,7 @@ public final class QOM { */ public /*sealed*/ interface IsDocument extends + UReturnsNullOnNullInput, org.jooq.Condition, UOperator1, Condition> //permits @@ -2494,6 +2512,7 @@ public final class QOM { */ public /*sealed*/ interface IsNotDocument extends + UReturnsNullOnNullInput, org.jooq.Condition, UOperator1, Condition> //permits @@ -2509,6 +2528,7 @@ public final class QOM { */ public /*sealed*/ interface IsJson extends + UReturnsNullOnNullInput, org.jooq.Condition, UOperator1, Condition> //permits @@ -2524,6 +2544,7 @@ public final class QOM { */ public /*sealed*/ interface IsNotJson extends + UReturnsNullOnNullInput, org.jooq.Condition, UOperator1, Condition> //permits @@ -2596,6 +2617,7 @@ public final class QOM { */ public /*sealed*/ interface Abs extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Abs @@ -2609,6 +2631,7 @@ public final class QOM { */ public /*sealed*/ interface Acos extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Acos @@ -2622,6 +2645,7 @@ public final class QOM { */ public /*sealed*/ interface Acosh extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Acosh @@ -2635,6 +2659,7 @@ public final class QOM { */ public /*sealed*/ interface Acoth extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Acoth @@ -2648,6 +2673,7 @@ public final class QOM { */ public /*sealed*/ interface Add extends + UReturnsNullOnNullInput, org.jooq.Field, UCommutativeOperator, Field> //permits @@ -2659,6 +2685,7 @@ public final class QOM { */ public /*sealed*/ interface Asin extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Asin @@ -2672,6 +2699,7 @@ public final class QOM { */ public /*sealed*/ interface Asinh extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Asinh @@ -2685,6 +2713,7 @@ public final class QOM { */ public /*sealed*/ interface Atan extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Atan @@ -2698,6 +2727,7 @@ public final class QOM { */ public /*sealed*/ interface Atan2 extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Atan2 @@ -2713,6 +2743,7 @@ public final class QOM { */ public /*sealed*/ interface Atanh extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Atanh @@ -2726,6 +2757,7 @@ public final class QOM { */ public /*sealed*/ interface BitAnd extends + UReturnsNullOnNullInput, org.jooq.Field, UCommutativeOperator, Field> //permits @@ -2739,6 +2771,7 @@ public final class QOM { */ public /*sealed*/ interface BitCount extends + UReturnsNullOnNullInput, org.jooq.Field //permits // BitCount @@ -2752,6 +2785,7 @@ public final class QOM { */ public /*sealed*/ interface BitNand extends + UReturnsNullOnNullInput, org.jooq.Field, UCommutativeOperator, Field> //permits @@ -2763,6 +2797,7 @@ public final class QOM { */ public /*sealed*/ interface BitNor extends + UReturnsNullOnNullInput, org.jooq.Field, UCommutativeOperator, Field> //permits @@ -2774,6 +2809,7 @@ public final class QOM { */ public /*sealed*/ interface BitNot extends + UReturnsNullOnNullInput, org.jooq.Field, UOperator1, Field> //permits @@ -2785,6 +2821,7 @@ public final class QOM { */ public /*sealed*/ interface BitOr extends + UReturnsNullOnNullInput, org.jooq.Field, UCommutativeOperator, Field> //permits @@ -2796,6 +2833,7 @@ public final class QOM { */ public /*sealed*/ interface BitXNor extends + UReturnsNullOnNullInput, org.jooq.Field, UCommutativeOperator, Field> //permits @@ -2807,6 +2845,7 @@ public final class QOM { */ public /*sealed*/ interface BitXor extends + UReturnsNullOnNullInput, org.jooq.Field, UCommutativeOperator, Field> //permits @@ -2820,6 +2859,7 @@ public final class QOM { */ public /*sealed*/ interface Ceil extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Ceil @@ -2833,6 +2873,7 @@ public final class QOM { */ public /*sealed*/ interface Cos extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Cos @@ -2846,6 +2887,7 @@ public final class QOM { */ public /*sealed*/ interface Cosh extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Cosh @@ -2859,6 +2901,7 @@ public final class QOM { */ public /*sealed*/ interface Cot extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Cot @@ -2872,6 +2915,7 @@ public final class QOM { */ public /*sealed*/ interface Coth extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Coth @@ -2887,6 +2931,7 @@ public final class QOM { */ public /*sealed*/ interface Degrees extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Degrees @@ -2908,6 +2953,7 @@ public final class QOM { */ public /*sealed*/ interface Div extends + UReturnsNullOnNullInput, org.jooq.Field, UOperator2, Field, Field> //permits @@ -2932,6 +2978,7 @@ public final class QOM { */ public /*sealed*/ interface Exp extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Exp @@ -2947,6 +2994,7 @@ public final class QOM { */ public /*sealed*/ interface Floor extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Floor @@ -2962,6 +3010,7 @@ public final class QOM { */ public /*sealed*/ interface Ln extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Ln @@ -2977,6 +3026,7 @@ public final class QOM { */ public /*sealed*/ interface Log extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Log @@ -2994,6 +3044,7 @@ public final class QOM { */ public /*sealed*/ interface Log10 extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Log10 @@ -3007,6 +3058,7 @@ public final class QOM { */ public /*sealed*/ interface Mod extends + UReturnsNullOnNullInput, org.jooq.Field, UOperator2, Field, Field> //permits @@ -3021,6 +3073,7 @@ public final class QOM { */ public /*sealed*/ interface Mul extends + UReturnsNullOnNullInput, org.jooq.Field, UCommutativeOperator, Field> //permits @@ -3045,6 +3098,7 @@ public final class QOM { */ public /*sealed*/ interface Power extends + UReturnsNullOnNullInput, org.jooq.Field, UOperator2, Field, Field> //permits @@ -3061,6 +3115,7 @@ public final class QOM { */ public /*sealed*/ interface Radians extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Radians @@ -3097,6 +3152,7 @@ public final class QOM { */ public /*sealed*/ interface Round extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Round @@ -3130,6 +3186,7 @@ public final class QOM { */ public /*sealed*/ interface Shl extends + UReturnsNullOnNullInput, org.jooq.Field, UOperator2, Field, Field> //permits @@ -3154,6 +3211,7 @@ public final class QOM { */ public /*sealed*/ interface Shr extends + UReturnsNullOnNullInput, org.jooq.Field, UOperator2, Field, Field> //permits @@ -3178,6 +3236,7 @@ public final class QOM { */ public /*sealed*/ interface Sign extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Sign @@ -3191,6 +3250,7 @@ public final class QOM { */ public /*sealed*/ interface Sin extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Sin @@ -3204,6 +3264,7 @@ public final class QOM { */ public /*sealed*/ interface Sinh extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Sinh @@ -3217,6 +3278,7 @@ public final class QOM { */ public /*sealed*/ interface Sqrt extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Sqrt @@ -3230,6 +3292,7 @@ public final class QOM { */ public /*sealed*/ interface Square extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Square @@ -3243,6 +3306,7 @@ public final class QOM { */ public /*sealed*/ interface Sub extends + UReturnsNullOnNullInput, org.jooq.Field, UOperator2, Field, Field> //permits @@ -3254,6 +3318,7 @@ public final class QOM { */ public /*sealed*/ interface Tan extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Tan @@ -3267,6 +3332,7 @@ public final class QOM { */ public /*sealed*/ interface Tanh extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Tanh @@ -3295,6 +3361,7 @@ public final class QOM { */ public /*sealed*/ interface Trunc extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Trunc @@ -3328,6 +3395,7 @@ public final class QOM { */ public /*sealed*/ interface WidthBucket extends + UReturnsNullOnNullInput, org.jooq.Field //permits // WidthBucket @@ -3381,6 +3449,7 @@ public final class QOM { */ public /*sealed*/ interface Ascii extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Ascii @@ -3396,6 +3465,7 @@ public final class QOM { */ public /*sealed*/ interface BitLength extends + UReturnsNullOnNullInput, org.jooq.Field //permits // BitLength @@ -3411,6 +3481,7 @@ public final class QOM { */ public /*sealed*/ interface CharLength extends + UReturnsNullOnNullInput, org.jooq.Field //permits // CharLength @@ -3424,6 +3495,7 @@ public final class QOM { */ public /*sealed*/ interface Chr extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Chr @@ -3457,6 +3529,7 @@ public final class QOM { */ public /*sealed*/ interface Contains extends + UReturnsNullOnNullInput, CompareCondition //permits // Contains @@ -3479,6 +3552,7 @@ public final class QOM { */ public /*sealed*/ interface ContainsIgnoreCase extends + UReturnsNullOnNullInput, CompareCondition //permits // ContainsIgnoreCase @@ -3492,6 +3566,7 @@ public final class QOM { */ public /*sealed*/ interface Digits extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Digits @@ -3513,6 +3588,7 @@ public final class QOM { */ public /*sealed*/ interface EndsWith extends + UReturnsNullOnNullInput, CompareCondition //permits // EndsWith @@ -3534,6 +3610,7 @@ public final class QOM { */ public /*sealed*/ interface EndsWithIgnoreCase extends + UReturnsNullOnNullInput, CompareCondition //permits // EndsWithIgnoreCase @@ -3549,6 +3626,7 @@ public final class QOM { */ public /*sealed*/ interface Left extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Left @@ -3582,6 +3660,7 @@ public final class QOM { */ public /*sealed*/ interface Lower extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Lower @@ -3597,6 +3676,7 @@ public final class QOM { */ public /*sealed*/ interface Lpad extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Lpad @@ -3640,6 +3720,7 @@ public final class QOM { */ public /*sealed*/ interface Ltrim extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Ltrim @@ -3673,6 +3754,7 @@ public final class QOM { */ public /*sealed*/ interface Md5 extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Md5 @@ -3688,6 +3770,7 @@ public final class QOM { */ public /*sealed*/ interface OctetLength extends + UReturnsNullOnNullInput, org.jooq.Field //permits // OctetLength @@ -3703,6 +3786,7 @@ public final class QOM { */ public /*sealed*/ interface Overlay extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Overlay @@ -3756,6 +3840,7 @@ public final class QOM { */ public /*sealed*/ interface Position extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Position @@ -3799,6 +3884,7 @@ public final class QOM { */ public /*sealed*/ interface Repeat extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Repeat @@ -3832,6 +3918,7 @@ public final class QOM { */ public /*sealed*/ interface Replace extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Replace @@ -3875,6 +3962,7 @@ public final class QOM { */ public /*sealed*/ interface Reverse extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Reverse @@ -3890,6 +3978,7 @@ public final class QOM { */ public /*sealed*/ interface Right extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Right @@ -3923,6 +4012,7 @@ public final class QOM { */ public /*sealed*/ interface Rpad extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Rpad @@ -3966,6 +4056,7 @@ public final class QOM { */ public /*sealed*/ interface Rtrim extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Rtrim @@ -3999,6 +4090,7 @@ public final class QOM { */ public /*sealed*/ interface Space extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Space @@ -4022,6 +4114,7 @@ public final class QOM { */ public /*sealed*/ interface SplitPart extends + UReturnsNullOnNullInput, org.jooq.Field //permits // SplitPart @@ -4071,6 +4164,7 @@ public final class QOM { */ public /*sealed*/ interface StartsWith extends + UReturnsNullOnNullInput, CompareCondition //permits // StartsWith @@ -4092,6 +4186,7 @@ public final class QOM { */ public /*sealed*/ interface StartsWithIgnoreCase extends + UReturnsNullOnNullInput, CompareCondition //permits // StartsWithIgnoreCase @@ -4107,6 +4202,7 @@ public final class QOM { */ public /*sealed*/ interface Substring extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Substring @@ -4150,6 +4246,7 @@ public final class QOM { */ public /*sealed*/ interface SubstringIndex extends + UReturnsNullOnNullInput, org.jooq.Field //permits // SubstringIndex @@ -4193,6 +4290,7 @@ public final class QOM { */ public /*sealed*/ interface ToChar extends + UReturnsNullOnNullInput, org.jooq.Field //permits // ToChar @@ -4226,6 +4324,7 @@ public final class QOM { */ public /*sealed*/ interface ToDate extends + UReturnsNullOnNullInput, org.jooq.Field //permits // ToDate @@ -4259,6 +4358,7 @@ public final class QOM { */ public /*sealed*/ interface ToHex extends + UReturnsNullOnNullInput, org.jooq.Field //permits // ToHex @@ -4274,6 +4374,7 @@ public final class QOM { */ public /*sealed*/ interface ToTimestamp extends + UReturnsNullOnNullInput, org.jooq.Field //permits // ToTimestamp @@ -4307,6 +4408,7 @@ public final class QOM { */ public /*sealed*/ interface Translate extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Translate @@ -4350,6 +4452,7 @@ public final class QOM { */ public /*sealed*/ interface Trim extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Trim @@ -4383,6 +4486,7 @@ public final class QOM { */ public /*sealed*/ interface Upper extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Upper @@ -4411,6 +4515,7 @@ public final class QOM { */ public /*sealed*/ interface DateAdd extends + UReturnsNullOnNullInput, org.jooq.Field //permits // DateAdd @@ -4454,6 +4559,7 @@ public final class QOM { */ public /*sealed*/ interface Cardinality extends + UReturnsNullOnNullInput, org.jooq.Field //permits // Cardinality @@ -4469,6 +4575,7 @@ public final class QOM { */ public /*sealed*/ interface ArrayGet extends + UReturnsNullOnNullInput, org.jooq.Field //permits // ArrayGet @@ -4849,6 +4956,7 @@ public final class QOM { */ public /*sealed*/ interface JSONGetElement extends + UReturnsNullOnNullInput, org.jooq.Field //permits // JSONGetElement @@ -4866,6 +4974,7 @@ public final class QOM { */ public /*sealed*/ interface JSONBGetElement extends + UReturnsNullOnNullInput, org.jooq.Field //permits // JSONBGetElement @@ -4883,6 +4992,7 @@ public final class QOM { */ public /*sealed*/ interface JSONGetElementAsText extends + UReturnsNullOnNullInput, org.jooq.Field //permits // JSONGetElementAsText @@ -4900,6 +5010,7 @@ public final class QOM { */ public /*sealed*/ interface JSONBGetElementAsText extends + UReturnsNullOnNullInput, org.jooq.Field //permits // JSONBGetElementAsText @@ -4917,6 +5028,7 @@ public final class QOM { */ public /*sealed*/ interface JSONGetAttribute extends + UReturnsNullOnNullInput, org.jooq.Field //permits // JSONGetAttribute @@ -4934,6 +5046,7 @@ public final class QOM { */ public /*sealed*/ interface JSONBGetAttribute extends + UReturnsNullOnNullInput, org.jooq.Field //permits // JSONBGetAttribute @@ -4951,6 +5064,7 @@ public final class QOM { */ public /*sealed*/ interface JSONGetAttributeAsText extends + UReturnsNullOnNullInput, org.jooq.Field //permits // JSONGetAttributeAsText @@ -4969,6 +5083,7 @@ public final class QOM { */ public /*sealed*/ interface JSONBGetAttributeAsText extends + UReturnsNullOnNullInput, org.jooq.Field //permits // JSONBGetAttributeAsText @@ -4986,6 +5101,7 @@ public final class QOM { */ public /*sealed*/ interface JSONKeys extends + UReturnsNullOnNullInput, org.jooq.Field //permits // JSONKeys @@ -5001,6 +5117,7 @@ public final class QOM { */ public /*sealed*/ interface JSONBKeys extends + UReturnsNullOnNullInput, org.jooq.Field //permits // JSONBKeys @@ -5130,6 +5247,7 @@ public final class QOM { */ public /*sealed*/ interface JSONRemove extends + UReturnsNullOnNullInput, org.jooq.Field //permits // JSONRemove @@ -5147,6 +5265,7 @@ public final class QOM { */ public /*sealed*/ interface JSONBRemove extends + UReturnsNullOnNullInput, org.jooq.Field //permits // JSONBRemove @@ -5202,6 +5321,7 @@ public final class QOM { */ public /*sealed*/ interface ConditionAsField extends + UReturnsNullOnNullInput, org.jooq.Field //permits // ConditionAsField @@ -5225,6 +5345,7 @@ public final class QOM { */ public /*sealed*/ interface FieldCondition extends + UReturnsNullOnNullInput, org.jooq.Condition //permits // FieldCondition @@ -6455,6 +6576,41 @@ public final class QOM { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6970,6 +7126,13 @@ public final class QOM { } } + /** + * A marker interface for {@link QueryPart} implementations that represent + * functions or operators who evaluate to NULL as soon as at + * least one argument is NULL. + */ + interface UReturnsNullOnNullInput extends org.jooq.QueryPart {} + /** * A marker interface for {@link QueryPart} implementations that are used * only to render SQL, i.e. they're transient to the expression tree and