diff --git a/jOOQ/src/main/java/org/jooq/impl/DSL.java b/jOOQ/src/main/java/org/jooq/impl/DSL.java index f1fab05537..7602a2bed0 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DSL.java +++ b/jOOQ/src/main/java/org/jooq/impl/DSL.java @@ -12690,58 +12690,111 @@ public class DSL { return new DateOrTime(field, SQLDataType.LOCALDATE); } - /** - * Add an interval to a {@link LocalDate}. - * - * @see Field#add(Number) - */ - @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) - public static Field localDateAdd(LocalDate date, Number interval) { - return localDateAdd(Tools.field(date), Tools.field(interval)); - } + /** + * Add an interval to a {@link LocalDate}. + * + * @see Field#add(Number) + */ + @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) + public static Field localDateAdd(LocalDate date, Number interval) { + return localDateAdd(Tools.field(date), Tools.field(interval)); + } - /** - * Add an interval to a {@link LocalDate}. - * - * @see Field#add(Field) - */ - @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) - public static Field localDateAdd(Field date, Field interval) { - return nullSafe(date).add(interval); - } + /** + * Add an interval to a {@link LocalDate}. + * + * @see Field#add(Field) + */ + @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) + public static Field localDateAdd(Field date, Field interval) { + return nullSafe(date).add(interval); + } - /** - * Add an interval to {@link LocalDate}, given a date part. - */ - @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) - public static Field localDateAdd(LocalDate date, Number interval, DatePart datePart) { - return localDateAdd(Tools.field(date), Tools.field(interval), datePart); - } + /** + * Add an interval to {@link LocalDate}, given a date part. + */ + @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) + public static Field localDateAdd(LocalDate date, Number interval, DatePart datePart) { + return localDateAdd(Tools.field(date), Tools.field(interval), datePart); + } - /** - * Add an interval to a {@link LocalDate}, given a date part. - */ - @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) - public static Field localDateAdd(LocalDate date, Field interval, DatePart datePart) { - return localDateAdd(Tools.field(date), nullSafe(interval), datePart); - } + /** + * Add an interval to a {@link LocalDate}, given a date part. + */ + @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) + public static Field localDateAdd(LocalDate date, Field interval, DatePart datePart) { + return localDateAdd(Tools.field(date), nullSafe(interval), datePart); + } - /** - * Add an interval to a {@link LocalDate}, given a date part. - */ - @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) - public static Field localDateAdd(Field date, Number interval, DatePart datePart) { - return localDateAdd(nullSafe(date), Tools.field(interval), datePart); - } + /** + * Add an interval to a {@link LocalDate}, given a date part. + */ + @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) + public static Field localDateAdd(Field date, Number interval, DatePart datePart) { + return localDateAdd(nullSafe(date), Tools.field(interval), datePart); + } - /** - * Add an interval to a {@link LocalDate}, given a date part. - */ - @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) - public static Field localDateAdd(Field date, Field interval, - DatePart datePart) { - return new LocalDateAdd(nullSafe(date), nullSafe(interval), datePart); - } + /** + * Add an interval to a {@link LocalDate}, given a date part. + */ + @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) + public static Field localDateAdd(Field date, Field interval, + DatePart datePart) { + return new LocalDateAdd(nullSafe(date), nullSafe(interval), datePart); + } + + /** + * Subtract an interval from a {@link LocalDate}. + * + * @see Field#add(Number) + */ + @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) + public static Field localDateSub(LocalDate date, Number interval) { + return localDateSub(Tools.field(date), Tools.field(interval)); + } + + /** + * Subtract an interval from a {@link LocalDate}. + * + * @see Field#add(Field) + */ + @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) + public static Field localDateSub(Field date, Field interval) { + return nullSafe(date).sub(interval); + } + + /** + * Subtract an interval from a {@link LocalDate}, given a date part. + */ + @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) + public static Field localDateSub(LocalDate date, Number interval, DatePart datePart) { + return localDateSub(Tools.field(date), Tools.field(interval), datePart); + } + + /** + * Subtract an interval from a {@link LocalDate}, given a date part. + */ + @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) + public static Field localDateSub(LocalDate date, Field interval, DatePart datePart) { + return localDateSub(Tools.field(date), nullSafe(interval), datePart); + } + + /** + * Subtract an interval from a {@link LocalDate}, given a date part. + */ + @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) + public static Field localDateSub(Field date, Number interval, DatePart datePart) { + return localDateSub(nullSafe(date), Tools.field(interval), datePart); + } + + /** + * Subtract an interval from a {@link LocalDate}, given a date part. + */ + @Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) + public static Field localDateSub(Field date, Field interval, + DatePart datePart) { + return new LocalDateAdd(nullSafe(date), nullSafe(interval).neg(), datePart); + } /** * Convert a string value to a TIME.