From d2f18012718715bcc10080db641d13949578c9c8 Mon Sep 17 00:00:00 2001 From: lukaseder Date: Wed, 11 Oct 2017 16:24:53 +0200 Subject: [PATCH] [#6684] Avoid allocation of CursorImpl.intern array --- jOOQ/src/main/java/org/jooq/impl/CursorImpl.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/CursorImpl.java b/jOOQ/src/main/java/org/jooq/impl/CursorImpl.java index 50735b570a..1be91fc6b9 100644 --- a/jOOQ/src/main/java/org/jooq/impl/CursorImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/CursorImpl.java @@ -135,15 +135,17 @@ final class CursorImpl implements Cursor { - this.intern = new boolean[fields.length]; this.maxRows = maxRows; this.lockRowsForUpdate = TRUE.equals(ctx.data(DATA_LOCK_ROWS_FOR_UPDATE)); if (internIndexes != null) { - for (int i : internIndexes) { + this.intern = new boolean[fields.length]; + + for (int i : internIndexes) intern[i] = true; - } } + else + this.intern = null; } @@ -1673,9 +1675,10 @@ final class CursorImpl implements Cursor { for (int i = 0; i < initialiserFields.length; i++) setValue(record, initialiserFields[i], i); - for (int i = 0; i < initialiserFields.length; i++) - if (intern[i]) - record.intern0(i); + if (intern != null) + for (int i = 0; i < intern.length; i++) + if (intern[i]) + record.intern0(i); ctx.record(record); listener.recordEnd(ctx);