From 5dd3e641c87f933347133d4a01986dabed648500 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Tue, 25 Jan 2022 17:17:51 +0100 Subject: [PATCH] =?UTF-8?q?[jOOQ/jOOQ#12036]=20=C2=A8Timestamp=20Arithmeti?= =?UTF-8?q?c=20fails=20with=20ConvertedDataType?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jOOQ/src/main/java/org/jooq/impl/AbstractField.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractField.java b/jOOQ/src/main/java/org/jooq/impl/AbstractField.java index 09511d9b4c..a6c339c95a 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractField.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractField.java @@ -921,12 +921,12 @@ abstract class AbstractField extends AbstractTypedNamed implements Field add(Field value) { - Field rhs = nullSafe(value, getDataType()); + Field rhs; - if (getDataType().isDateTime() && (rhs.getDataType().isNumeric() || rhs.getDataType().isInterval())) + if (getDataType().isDateTime() && ((rhs = nullSafe(value)).getDataType().isNumeric() || rhs.getDataType().isInterval())) return new Expression<>(ADD, false, this, rhs); else - return new Add(this, (Field) rhs); + return new Add(this, (Field) nullSafe(value, getDataType())); } @Override @@ -937,12 +937,12 @@ abstract class AbstractField extends AbstractTypedNamed implements Field sub(Field value) { - Field rhs = nullSafe(value, getDataType()); + Field rhs; - if (getDataType().isDateTime() && (rhs.getDataType().isNumeric() || rhs.getDataType().isInterval())) + if (getDataType().isDateTime() && ((rhs = nullSafe(value)).getDataType().isNumeric() || rhs.getDataType().isInterval())) return new Expression<>(SUBTRACT, false, this, rhs); else - return new Sub(this, (Field) rhs); + return new Sub(this, (Field) nullSafe(value, getDataType())); } @Override