From e64584ca651ff6ebf0376b206650773fe53328aa Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Wed, 16 Mar 2022 15:08:16 +0100 Subject: [PATCH] [jOOQ/jOOQ#13290] NullPointerException in Result.formatJSON() when a Record is null --- jOOQ/src/main/java/org/jooq/impl/AbstractResult.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractResult.java b/jOOQ/src/main/java/org/jooq/impl/AbstractResult.java index b8a6ee802f..a4875e40ae 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractResult.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractResult.java @@ -606,7 +606,7 @@ abstract class AbstractResult extends AbstractFormattable impl } } - private static final void formatJSON0(Object value, Writer writer, JSONFormat format) throws java.io.IOException { + static final void formatJSON0(Object value, Writer writer, JSONFormat format) throws java.io.IOException { // [#2741] TODO: This logic will be externalised in new SPI if (value instanceof byte[]) { byte[] a = (byte[]) value; @@ -651,6 +651,11 @@ abstract class AbstractResult extends AbstractFormattable impl int recordLevel, Writer writer ) throws java.io.IOException { + if (record == null) { + writer.append("null"); + return; + } + String separator = ""; int size = fields.size(); boolean wrapRecords = format.wrapSingleColumnRecords() || size > 1; @@ -699,6 +704,11 @@ abstract class AbstractResult extends AbstractFormattable impl int recordLevel, Writer writer ) throws java.io.IOException { + if (record == null) { + writer.append("null"); + return; + } + String separator = ""; int size = fields.size(); boolean wrapRecords = format.wrapSingleColumnRecords() || size > 1;