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);