diff --git a/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.12.txt b/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.12.txt index 8afc2935b5..39baa9f226 100644 --- a/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.12.txt +++ b/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.12.txt @@ -653,6 +653,7 @@ term = | 'DECODE' '(' field ',' field ',' field { ',' field } ')' | 'DENSE_RANK' ( '(' ')' over | '(' fields ')' withinGroup ) | ( 'DEG' | 'DEGREE' | 'DEGREES' ) '(' sum ')' +| 'EPOCH' '(' field ')' | 'EXTRACT' '(' datePart 'FROM' field ')' | 'EXP' '(' sum ')' | 'EVERY' '(' field ')' [ filter ] [ over ] @@ -787,6 +788,7 @@ datePart = | ( 'MILLISECOND' | 'MS' ) | ( 'MICROSECOND' | 'MCS' ) | ( 'NANOSECOND' | 'NS' ) +| 'EPOCH' | ( 'QUARTER' | 'QQ' | 'Q' ) | ( 'WEEK ' | 'WW' | 'WK' ) | ( 'ISO_DAY_OF_WEEK' | 'ISODOW' ) diff --git a/jOOQ/src/main/java/org/jooq/DatePart.java b/jOOQ/src/main/java/org/jooq/DatePart.java index f590af6731..14546a511d 100644 --- a/jOOQ/src/main/java/org/jooq/DatePart.java +++ b/jOOQ/src/main/java/org/jooq/DatePart.java @@ -167,11 +167,8 @@ public enum DatePart { /** * The epoch in seconds since 1970-01-01. - * - * @deprecated - 3.11 - [#2132] Support for this type is still experimental */ - @Support({ POSTGRES }) - @Deprecated + @Support({ H2, MARIADB, MYSQL, POSTGRES, SQLITE }) EPOCH("epoch"), /** diff --git a/jOOQ/src/main/java/org/jooq/impl/DSL.java b/jOOQ/src/main/java/org/jooq/impl/DSL.java index d7f68fe00c..1b7394e04a 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DSL.java +++ b/jOOQ/src/main/java/org/jooq/impl/DSL.java @@ -14703,6 +14703,43 @@ public class DSL { return new Extract(nullSafe(field), datePart); } + /** + * Get the epoch of a date. + *
+ * This is the same as calling {@link #extract(Field, DatePart)}
+ * with {@link DatePart#EPOCH}
+ */
+ @Support({ H2, MARIADB, MYSQL, POSTGRES, SQLITE })
+ public static Field
+ * This is the same as calling {@link #extract(Field, DatePart)}
+ * with {@link DatePart#EPOCH}
+ */
+ @Support({ H2, MARIADB, MYSQL, POSTGRES, SQLITE })
+ public static Field
+ * This is the same as calling {@link #extract(Field, DatePart)}
+ * with {@link DatePart#EPOCH}
+ */
+ @Support({ H2, MARIADB, MYSQL, POSTGRES, SQLITE })
+ public static Field
diff --git a/jOOQ/src/main/java/org/jooq/impl/Extract.java b/jOOQ/src/main/java/org/jooq/impl/Extract.java
index 7e21479000..6c2ef8c2d2 100644
--- a/jOOQ/src/main/java/org/jooq/impl/Extract.java
+++ b/jOOQ/src/main/java/org/jooq/impl/Extract.java
@@ -44,6 +44,7 @@ import static org.jooq.impl.DSL.inline;
import static org.jooq.impl.DSL.one;
import static org.jooq.impl.SQLDataType.INTEGER;
+import java.sql.Date;
import java.sql.Timestamp;
import org.jooq.Configuration;
@@ -87,6 +88,8 @@ final class Extract extends AbstractFunction