From b8780f5cf0d91cdedd058232d0df25db7d9193fb Mon Sep 17 00:00:00 2001 From: lukaseder Date: Mon, 9 May 2016 15:54:21 +0200 Subject: [PATCH] [#5249] Bad inlining of Double.NaN in PostgreSQL --- .../main/java/org/jooq/impl/DefaultBinding.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java b/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java index 327bebbfdc..9f8003035c 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java @@ -521,6 +521,22 @@ public class DefaultBinding implements Binding { .sql('\''); } + // [#5249] Special inlining of special floating point values + else if (Double.class.isAssignableFrom(type) && ((Double) val).isNaN()) { + if (POSTGRES == family) + render.visit(inline("NaN")).sql("::").keyword("float8"); + else + render.sql(((Number) val).toString()); + } + + // [#5249] Special inlining of special floating point values + else if (Float.class.isAssignableFrom(type) && ((Float) val).isNaN()) { + if (POSTGRES == family) + render.visit(inline("NaN")).sql("::").keyword("float4"); + else + render.sql(((Number) val).toString()); + } + else if (Number.class.isAssignableFrom(type)) { render.sql(((Number) val).toString()); }