From 159b451f2057f9721ef0b4e65c3018506c46efc9 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Tue, 16 Jun 2020 11:33:16 +0200 Subject: [PATCH] [jOOQ/jOOQ#10279] Support identity in DetachedTable --- .../src/main/java/org/jooq/impl/DetachedMeta.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/DetachedMeta.java b/jOOQ/src/main/java/org/jooq/impl/DetachedMeta.java index 19f14d48f8..bf9787fbf1 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DetachedMeta.java +++ b/jOOQ/src/main/java/org/jooq/impl/DetachedMeta.java @@ -48,6 +48,7 @@ import org.jooq.Check; import org.jooq.Domain; import org.jooq.Field; import org.jooq.ForeignKey; +import org.jooq.Identity; import org.jooq.Index; import org.jooq.Meta; import org.jooq.Record; @@ -188,6 +189,7 @@ final class DetachedMeta extends AbstractMeta { private UniqueKey primaryKey; private final List> foreignKeys; private final List> checks; + private Identity identity; DetachedTable(DetachedSchema schema, Table table) { super(table.getQualifiedName(), schema, null, null, table.getCommentPart(), table.getOptions()); @@ -197,8 +199,12 @@ final class DetachedMeta extends AbstractMeta { foreignKeys = new ArrayList<>(); checks = new ArrayList<>(); - for (Field field : table.fields()) - DetachedTable.createField(field.getUnqualifiedName(), field.getDataType(), this, field.getComment()); + for (Field field : table.fields()) { + TableField f = DetachedTable.createField(field.getUnqualifiedName(), field.getDataType(), this, field.getComment()); + + if (field.getDataType().identity() && identity == null) + identity = Internal.createIdentity(this, f); + } for (Index index : table.getIndexes()) { List> indexFields = index.getFields(); @@ -280,6 +286,11 @@ final class DetachedMeta extends AbstractMeta { public final List> getChecks() { return Collections.unmodifiableList(checks); } + + @Override + public final Identity getIdentity() { + return identity; + } } private class DetachedSequence extends SequenceImpl {