From 90dee0f2805a7d2996fe469416d95f32838ff367 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Mon, 3 Mar 2014 12:29:44 +0100 Subject: [PATCH] [#3093] Add code-generation configuration to treat UNIQUE keys as primary keys to generate UpdatableTables --- .../jooq/util/AbstractTableDefinition.java | 50 +++++-------------- .../jooq/util/DefaultColumnDefinition.java | 26 ++-------- 2 files changed, 16 insertions(+), 60 deletions(-) diff --git a/jOOQ-meta/src/main/java/org/jooq/util/AbstractTableDefinition.java b/jOOQ-meta/src/main/java/org/jooq/util/AbstractTableDefinition.java index ae98637412..cb2e26cd12 100644 --- a/jOOQ-meta/src/main/java/org/jooq/util/AbstractTableDefinition.java +++ b/jOOQ-meta/src/main/java/org/jooq/util/AbstractTableDefinition.java @@ -60,14 +60,7 @@ public abstract class AbstractTableDefinition extends AbstractElementContainerDefinition implements TableDefinition { - private List uniqueKeys; - private List foreignKeys; - private List checkConstraints; private List parameters; - private boolean primaryKeyLoaded; - private UniqueKeyDefinition primaryKey; - private boolean identityLoaded; - private IdentityDefinition identity; private TableDefinition parentTable; private List childTables; @@ -80,15 +73,12 @@ implements TableDefinition { @Override public final UniqueKeyDefinition getPrimaryKey() { - if (!primaryKeyLoaded) { - primaryKeyLoaded = true; + UniqueKeyDefinition primaryKey = null; - // Try finding a primary key first - for (ColumnDefinition column : getColumns()) { - if (column.getPrimaryKey() != null) { - primaryKey = column.getPrimaryKey(); - return primaryKey; - } + for (ColumnDefinition column : getColumns()) { + if (column.getPrimaryKey() != null) { + primaryKey = column.getPrimaryKey(); + return primaryKey; } } @@ -97,41 +87,27 @@ implements TableDefinition { @Override public final List getUniqueKeys() { - if (uniqueKeys == null) { - uniqueKeys = getDatabase().getRelations().getUniqueKeys(this); - } - - return uniqueKeys; + return getDatabase().getRelations().getUniqueKeys(this); } @Override public final List getForeignKeys() { - if (foreignKeys == null) { - foreignKeys = getDatabase().getRelations().getForeignKeys(this); - } - - return foreignKeys; + return getDatabase().getRelations().getForeignKeys(this); } @Override public final List getCheckConstraints() { - if (checkConstraints == null) { - checkConstraints = getDatabase().getRelations().getCheckConstraints(this); - } - - return checkConstraints; + return getDatabase().getRelations().getCheckConstraints(this); } @Override public final IdentityDefinition getIdentity() { - if (!identityLoaded) { - identityLoaded = true; + IdentityDefinition identity = null; - for (ColumnDefinition column : getColumns()) { - if (column.isIdentity()) { - identity = new DefaultIdentityDefinition(column); - break; - } + for (ColumnDefinition column : getColumns()) { + if (column.isIdentity()) { + identity = new DefaultIdentityDefinition(column); + break; } } diff --git a/jOOQ-meta/src/main/java/org/jooq/util/DefaultColumnDefinition.java b/jOOQ-meta/src/main/java/org/jooq/util/DefaultColumnDefinition.java index e24b900983..b10b9e98b9 100644 --- a/jOOQ-meta/src/main/java/org/jooq/util/DefaultColumnDefinition.java +++ b/jOOQ-meta/src/main/java/org/jooq/util/DefaultColumnDefinition.java @@ -55,12 +55,6 @@ public class DefaultColumnDefinition private final int position; private final boolean isIdentity; - private boolean primaryKeyLoaded; - private UniqueKeyDefinition primaryKey; - private List uniqueKeys; - private boolean foreignKeyLoaded; - private List foreignKey; - public DefaultColumnDefinition(TableDefinition table, String name, int position, DataTypeDefinition type, boolean isIdentity, String comment) { @@ -77,31 +71,17 @@ public class DefaultColumnDefinition @Override public final UniqueKeyDefinition getPrimaryKey() { - if (!primaryKeyLoaded) { - primaryKeyLoaded = true; - primaryKey = getDatabase().getRelations().getPrimaryKey(this); - } - - return primaryKey; + return getDatabase().getRelations().getPrimaryKey(this); } @Override public List getUniqueKeys() { - if (uniqueKeys == null) { - uniqueKeys = getDatabase().getRelations().getUniqueKeys(this); - } - - return uniqueKeys; + return getDatabase().getRelations().getUniqueKeys(this); } @Override public final List getForeignKeys() { - if (!foreignKeyLoaded) { - foreignKeyLoaded = true; - foreignKey = getDatabase().getRelations().getForeignKeys(this); - } - - return foreignKey; + return getDatabase().getRelations().getForeignKeys(this); } @Override