From 7c3f5a0109dc614d8428ec0fa0649d1426cba389 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Mon, 25 Nov 2019 09:36:54 +0100 Subject: [PATCH] [jOOQ/jOOQ#9589] Fix regression --- jOOQ/src/main/java/org/jooq/impl/Expression.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/Expression.java b/jOOQ/src/main/java/org/jooq/impl/Expression.java index f8ad508652..b6c9ad78cb 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Expression.java +++ b/jOOQ/src/main/java/org/jooq/impl/Expression.java @@ -191,7 +191,7 @@ final class Expression extends AbstractField { else if (operator == SHL || operator == SHR) { if (family == H2) - ctx.visit(DSL.function(SHL == operator ? "lshift" : "rshift", getDataType(), arguments)); + ctx.visit(function(SHL == operator ? "lshift" : "rshift", getDataType(), arguments)); @@ -210,6 +210,10 @@ final class Expression extends AbstractField { // use division instead of SHR directly else if (SHR == operator && EMULATE_SHR_SHL.contains(family)) ctx.visit(lhs.div((Field) castIfNeeded(DSL.power(two(), rhsAsNumber()), lhs))); + + // Use the default operator expression for all other cases + else + ctx.visit(new DefaultExpression<>(lhs, operator, rhs)); } // These operators are not supported in any dialect