From a3b08d6eb000713b3f1c1eedda75fdbf160c78fd Mon Sep 17 00:00:00 2001 From: Sven Jacobs Date: Sat, 6 Apr 2013 10:48:44 +0200 Subject: [PATCH] Do not add TableFieldImpl to table in constructor of TableFieldImpl --- jOOQ/src/main/java/org/jooq/impl/AbstractTable.java | 9 ++++++++- jOOQ/src/main/java/org/jooq/impl/TableFieldImpl.java | 5 ----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractTable.java b/jOOQ/src/main/java/org/jooq/impl/AbstractTable.java index 32269fbfb0..f22c25626f 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractTable.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractTable.java @@ -265,7 +265,14 @@ abstract class AbstractTable extends AbstractQueryPart impleme * @param type The data type of the field */ protected static final TableField createField(String name, DataType type, Table table) { - return new TableFieldImpl(name, type, table); + final TableFieldImpl tableField = new TableFieldImpl(name, type, table); + + // [#1199] The public API of Table returns immutable field lists + if (table instanceof TableImpl) { + ((TableImpl) table).fields0().add(tableField); + } + + return tableField; } // ------------------------------------------------------------------------ diff --git a/jOOQ/src/main/java/org/jooq/impl/TableFieldImpl.java b/jOOQ/src/main/java/org/jooq/impl/TableFieldImpl.java index 89cc0c36fc..596d59d34a 100644 --- a/jOOQ/src/main/java/org/jooq/impl/TableFieldImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/TableFieldImpl.java @@ -59,11 +59,6 @@ class TableFieldImpl extends AbstractField implements Ta super(name, type); this.table = table; - - // [#1199] The public API of Table returns immutable field lists - if (table instanceof TableImpl) { - ((TableImpl) table).fields0().add(this); - } } @Override