[#5645] Integrate localDateSub support into DSL

This commit is contained in:
Miguel Gonzalez 2017-05-13 00:03:59 +01:00
parent 6a8eba9f04
commit f28a99d353
No known key found for this signature in database
GPG Key ID: 1E99682DA68AC52B

View File

@ -12690,58 +12690,111 @@ public class DSL {
return new DateOrTime<LocalDate>(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<LocalDate> 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<LocalDate> 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<LocalDate> localDateAdd(Field<LocalDate> date, Field<? extends Number> 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<LocalDate> localDateAdd(Field<LocalDate> date, Field<? extends Number> 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<LocalDate> 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<LocalDate> 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<LocalDate> localDateAdd(LocalDate date, Field<? extends Number> 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<LocalDate> localDateAdd(LocalDate date, Field<? extends Number> 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<LocalDate> localDateAdd(Field<LocalDate> 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<LocalDate> localDateAdd(Field<LocalDate> 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<LocalDate> localDateAdd(Field<LocalDate> date, Field<? extends Number> 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<LocalDate> localDateAdd(Field<LocalDate> date, Field<? extends Number> 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<LocalDate> 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<LocalDate> localDateSub(Field<LocalDate> date, Field<? extends Number> 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<LocalDate> 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<LocalDate> localDateSub(LocalDate date, Field<? extends Number> 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<LocalDate> localDateSub(Field<LocalDate> 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<LocalDate> localDateSub(Field<LocalDate> date, Field<? extends Number> interval,
DatePart datePart) {
return new LocalDateAdd(nullSafe(date), nullSafe(interval).neg(), datePart);
}
/**
* Convert a string value to a <code>TIME</code>.