From aa71e621f36edb5c2ffbd723644d45bac3aeca3b Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Mon, 27 Apr 2020 18:12:58 +0200 Subject: [PATCH] [jOOQ/jOOQ#10129] SQLite's SIGN() emulation does not produce the correct value on NULL --- jOOQ/src/main/java/org/jooq/impl/Sign.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/Sign.java b/jOOQ/src/main/java/org/jooq/impl/Sign.java index ea5043910e..67668ab77b 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Sign.java +++ b/jOOQ/src/main/java/org/jooq/impl/Sign.java @@ -37,7 +37,7 @@ */ package org.jooq.impl; -import static org.jooq.impl.DSL.one; +import static org.jooq.impl.DSL.inline; import static org.jooq.impl.DSL.zero; import static org.jooq.impl.Names.N_SGN; import static org.jooq.impl.Names.N_SIGN; @@ -76,9 +76,9 @@ final class Sign extends AbstractField { case SQLITE: ctx.visit(DSL - .when(((Field) argument).greaterThan(zero()), one()) - .when(((Field) argument).lessThan(zero()), one().neg()) - .otherwise(zero())); + .when(((Field) argument).gt(zero()), inline(1)) + .when(((Field) argument).lt(zero()), inline(-1)) + .when(((Field) argument).eq(zero()), inline(0))); break; default: