From a5974f3865dc2d84c1fe23c21ccc12ff079f3378 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Wed, 20 Mar 2024 18:04:05 +0100 Subject: [PATCH] [jOOQ/jOOQ#15732] Support datetime arithmetic --- jOOQ/src/main/java/org/jooq/impl/DateAdd.java | 7 +++++++ jOOQ/src/main/java/org/jooq/impl/Expression.java | 1 + 2 files changed, 8 insertions(+) diff --git a/jOOQ/src/main/java/org/jooq/impl/DateAdd.java b/jOOQ/src/main/java/org/jooq/impl/DateAdd.java index 94e1245acc..d57242bcf8 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DateAdd.java +++ b/jOOQ/src/main/java/org/jooq/impl/DateAdd.java @@ -136,7 +136,14 @@ implements } case DUCKDB: { + if (getDataType().isDate()) + ctx.visit(K_CAST).sql('('); + ctx.visit(N_DATE_ADD).sql('(').visit(date).sql(", ").visit(K_INTERVAL).sql(' ').visit(inline(1)).sql(' ').visit(standardKeyword()).sql(" * ").visit(interval).sql(')'); + + if (getDataType().isDate()) + ctx.sql(' ').visit(K_AS).sql(' ').visit(K_DATE).sql(')'); + break; } diff --git a/jOOQ/src/main/java/org/jooq/impl/Expression.java b/jOOQ/src/main/java/org/jooq/impl/Expression.java index 513b1fb456..3b64c272cb 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Expression.java +++ b/jOOQ/src/main/java/org/jooq/impl/Expression.java @@ -790,6 +790,7 @@ implements + case DUCKDB: case POSTGRES: case YUGABYTEDB: case TRINO: {