From 2592960afee3a4a4580b744cfbc455b6ca20452f Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Tue, 16 Jun 2020 12:23:52 +0200 Subject: [PATCH] [jOOQ/jOOQ#10280] The method name is Meta.snapshot() --- .../java/org/jooq/codegen/JavaGenerator.java | 27 ++++++++++++------- .../jooq/example/flyway/ddl/db/h2/Keys.java | 7 ++--- .../org/jooq/example/kotlin/db/h2/Keys.kt | 17 ++++++------ jOOQ/src/main/java/org/jooq/Meta.java | 2 +- .../main/java/org/jooq/impl/AbstractMeta.java | 4 +-- .../impl/{DetachedMeta.java => Snapshot.java} | 14 +++++----- .../jooq/impl/TranslatingMetaProvider.java | 2 +- 7 files changed, 42 insertions(+), 31 deletions(-) rename jOOQ/src/main/java/org/jooq/impl/{DetachedMeta.java => Snapshot.java} (96%) diff --git a/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaGenerator.java b/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaGenerator.java index 53a98ace8a..1ba869a146 100644 --- a/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaGenerator.java +++ b/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaGenerator.java @@ -1010,8 +1010,9 @@ public class JavaGenerator extends AbstractGenerator { } if (scala) - out.print("%s.createIndex(\"%s\", %s, Array[%s [_] ](%s), %s)", + out.print("%s.createIndex(%s.name(\"%s\"), %s, Array[%s [_] ](%s), %s)", Internal.class, + DSL.class, escapeString(index.getOutputName()), out.ref(getStrategy().getFullJavaIdentifier(index.getTable()), 2), OrderField.class, @@ -1019,16 +1020,18 @@ public class JavaGenerator extends AbstractGenerator { index.isUnique() ); else if (kotlin) - out.print("%s.createIndex(\"%s\", %s, arrayOf(%s), %s)", + out.print("%s.createIndex(%s.name(\"%s\"), %s, arrayOf(%s), %s)", Internal.class, + DSL.class, escapeString(index.getOutputName()), out.ref(getStrategy().getFullJavaIdentifier(index.getTable()), 2), orderFields, index.isUnique() ); else - out.print("%s.createIndex(\"%s\", %s, new %s[] { %s }, %s)", + out.print("%s.createIndex(%s.name(\"%s\"), %s, new %s[] { %s }, %s)", Internal.class, + DSL.class, escapeString(index.getOutputName()), out.ref(getStrategy().getFullJavaIdentifier(index.getTable()), 2), OrderField.class, @@ -1132,25 +1135,28 @@ public class JavaGenerator extends AbstractGenerator { private void printCreateUniqueKey(JavaWriter out, UniqueKeyDefinition uniqueKey) { if (scala) - out.print("%s.createUniqueKey(%s, \"%s\", Array([[%s]]).asInstanceOf[Array[%s[%s, _] ] ], %s)", + out.print("%s.createUniqueKey(%s, %s.name(\"%s\"), Array([[%s]]).asInstanceOf[Array[%s[%s, _] ] ], %s)", Internal.class, out.ref(getStrategy().getFullJavaIdentifier(uniqueKey.getTable()), 2), + DSL.class, escapeString(uniqueKey.getOutputName()), out.ref(getStrategy().getFullJavaIdentifiers(uniqueKey.getKeyColumns()), colRefSegments(null)), TableField.class, out.ref(getStrategy().getJavaClassName(uniqueKey.getTable(), Mode.RECORD)), uniqueKey.enforced()); else if (kotlin) - out.print("%s.createUniqueKey(%s, \"%s\", arrayOf([[%s]]), %s)", + out.print("%s.createUniqueKey(%s, %s.name(\"%s\"), arrayOf([[%s]]), %s)", Internal.class, out.ref(getStrategy().getFullJavaIdentifier(uniqueKey.getTable()), 2), + DSL.class, escapeString(uniqueKey.getOutputName()), out.ref(getStrategy().getFullJavaIdentifiers(uniqueKey.getKeyColumns()), colRefSegments(null)), uniqueKey.enforced()); else - out.print("%s.createUniqueKey(%s, \"%s\", new %s[] { [[%s]] }, %s)", + out.print("%s.createUniqueKey(%s, %s.name(\"%s\"), new %s[] { [[%s]] }, %s)", Internal.class, out.ref(getStrategy().getFullJavaIdentifier(uniqueKey.getTable()), 2), + DSL.class, escapeString(uniqueKey.getOutputName()), TableField.class, out.ref(getStrategy().getFullJavaIdentifiers(uniqueKey.getKeyColumns()), colRefSegments(null)), @@ -1174,7 +1180,7 @@ public class JavaGenerator extends AbstractGenerator { } if (scala) - out.println("val %s: %s[%s, %s] = %s.createForeignKey(%s, %s, \"%s\", Array([[%s]]).asInstanceOf[Array[%s[%s, _] ] ], %s)", + out.println("val %s: %s[%s, %s] = %s.createForeignKey(%s, %s, %s.name(\"%s\"), Array([[%s]]).asInstanceOf[Array[%s[%s, _] ] ], %s)", getStrategy().getJavaIdentifier(foreignKey), ForeignKey.class, out.ref(getStrategy().getFullJavaClassName(foreignKey.getKeyTable(), Mode.RECORD)), @@ -1182,13 +1188,14 @@ public class JavaGenerator extends AbstractGenerator { Internal.class, out.ref(getStrategy().getFullJavaIdentifier(foreignKey.getReferencedKey()), 2), out.ref(getStrategy().getFullJavaIdentifier(foreignKey.getKeyTable()), 2), + DSL.class, escapeString(foreignKey.getOutputName()), out.ref(getStrategy().getFullJavaIdentifiers(foreignKey.getKeyColumns()), colRefSegments(null)), TableField.class, out.ref(getStrategy().getJavaClassName(foreignKey.getTable(), Mode.RECORD)), foreignKey.enforced()); else if (kotlin) - out.println("val %s: %s<%s, %s> = %s.createForeignKey(%s, %s, \"%s\", arrayOf([[%s]]), %s)", + out.println("val %s: %s<%s, %s> = %s.createForeignKey(%s, %s, %s.name(\"%s\"), arrayOf([[%s]]), %s)", getStrategy().getJavaIdentifier(foreignKey), ForeignKey.class, out.ref(getStrategy().getFullJavaClassName(foreignKey.getKeyTable(), Mode.RECORD)), @@ -1196,11 +1203,12 @@ public class JavaGenerator extends AbstractGenerator { Internal.class, out.ref(getStrategy().getFullJavaIdentifier(foreignKey.getReferencedKey()), 2), out.ref(getStrategy().getFullJavaIdentifier(foreignKey.getKeyTable()), 2), + DSL.class, escapeString(foreignKey.getOutputName()), out.ref(getStrategy().getFullJavaIdentifiers(foreignKey.getKeyColumns()), colRefSegments(null)), foreignKey.enforced()); else - out.println("static final %s<%s, %s> %s = %s.createForeignKey(%s, %s, \"%s\", new %s[] { [[%s]] }, %s);", + out.println("static final %s<%s, %s> %s = %s.createForeignKey(%s, %s, %s.name(\"%s\"), new %s[] { [[%s]] }, %s);", ForeignKey.class, out.ref(getStrategy().getFullJavaClassName(foreignKey.getKeyTable(), Mode.RECORD)), out.ref(getStrategy().getFullJavaClassName(foreignKey.getReferencedTable(), Mode.RECORD)), @@ -1208,6 +1216,7 @@ public class JavaGenerator extends AbstractGenerator { Internal.class, out.ref(getStrategy().getFullJavaIdentifier(foreignKey.getReferencedKey()), 2), out.ref(getStrategy().getFullJavaIdentifier(foreignKey.getKeyTable()), 2), + DSL.class, escapeString(foreignKey.getOutputName()), TableField.class, out.ref(getStrategy().getFullJavaIdentifiers(foreignKey.getKeyColumns()), colRefSegments(null)), diff --git a/jOOQ-examples/jOOQ-flyway-ddl-example/src/main/java/org/jooq/example/flyway/ddl/db/h2/Keys.java b/jOOQ-examples/jOOQ-flyway-ddl-example/src/main/java/org/jooq/example/flyway/ddl/db/h2/Keys.java index ede79c4ee1..d608cb629a 100644 --- a/jOOQ-examples/jOOQ-flyway-ddl-example/src/main/java/org/jooq/example/flyway/ddl/db/h2/Keys.java +++ b/jOOQ-examples/jOOQ-flyway-ddl-example/src/main/java/org/jooq/example/flyway/ddl/db/h2/Keys.java @@ -11,6 +11,7 @@ import org.jooq.example.flyway.ddl.db.h2.tables.Author; import org.jooq.example.flyway.ddl.db.h2.tables.Book; import org.jooq.example.flyway.ddl.db.h2.tables.records.AuthorRecord; import org.jooq.example.flyway.ddl.db.h2.tables.records.BookRecord; +import org.jooq.impl.DSL; import org.jooq.impl.Internal; @@ -44,11 +45,11 @@ public class Keys { // ------------------------------------------------------------------------- private static class UniqueKeys0 { - static final UniqueKey PK_T_AUTHOR = Internal.createUniqueKey(Author.AUTHOR, "PK_T_AUTHOR", new TableField[] { Author.AUTHOR.ID }, true); - static final UniqueKey PK_T_BOOK = Internal.createUniqueKey(Book.BOOK, "PK_T_BOOK", new TableField[] { Book.BOOK.ID }, true); + static final UniqueKey PK_T_AUTHOR = Internal.createUniqueKey(Author.AUTHOR, DSL.name("PK_T_AUTHOR"), new TableField[] { Author.AUTHOR.ID }, true); + static final UniqueKey PK_T_BOOK = Internal.createUniqueKey(Book.BOOK, DSL.name("PK_T_BOOK"), new TableField[] { Book.BOOK.ID }, true); } private static class ForeignKeys0 { - static final ForeignKey FK_T_BOOK_AUTHOR_ID = Internal.createForeignKey(Keys.PK_T_AUTHOR, Book.BOOK, "FK_T_BOOK_AUTHOR_ID", new TableField[] { Book.BOOK.AUTHOR_ID }, true); + static final ForeignKey FK_T_BOOK_AUTHOR_ID = Internal.createForeignKey(Keys.PK_T_AUTHOR, Book.BOOK, DSL.name("FK_T_BOOK_AUTHOR_ID"), new TableField[] { Book.BOOK.AUTHOR_ID }, true); } } diff --git a/jOOQ-examples/jOOQ-kotlin-example/src/main/kotlin/org/jooq/example/kotlin/db/h2/Keys.kt b/jOOQ-examples/jOOQ-kotlin-example/src/main/kotlin/org/jooq/example/kotlin/db/h2/Keys.kt index 4e6c57581d..f518af985d 100644 --- a/jOOQ-examples/jOOQ-kotlin-example/src/main/kotlin/org/jooq/example/kotlin/db/h2/Keys.kt +++ b/jOOQ-examples/jOOQ-kotlin-example/src/main/kotlin/org/jooq/example/kotlin/db/h2/Keys.kt @@ -15,6 +15,7 @@ import org.jooq.example.kotlin.db.h2.tables.records.AuthorRecord import org.jooq.example.kotlin.db.h2.tables.records.BookRecord import org.jooq.example.kotlin.db.h2.tables.records.BookStoreRecord import org.jooq.example.kotlin.db.h2.tables.records.BookToBookStoreRecord +import org.jooq.impl.DSL import org.jooq.impl.Internal @@ -60,16 +61,16 @@ object Keys { } private object UniqueKeys0 { - val PK_T_AUTHOR: UniqueKey = Internal.createUniqueKey(Author.AUTHOR, "PK_T_AUTHOR", arrayOf(Author.AUTHOR.ID), true) - val PK_T_BOOK: UniqueKey = Internal.createUniqueKey(Book.BOOK, "PK_T_BOOK", arrayOf(Book.BOOK.ID), true) - val UK_T_BOOK_STORE_NAME: UniqueKey = Internal.createUniqueKey(BookStore.BOOK_STORE, "UK_T_BOOK_STORE_NAME", arrayOf(BookStore.BOOK_STORE.NAME), true) - val PK_B2BS: UniqueKey = Internal.createUniqueKey(BookToBookStore.BOOK_TO_BOOK_STORE, "PK_B2BS", arrayOf(BookToBookStore.BOOK_TO_BOOK_STORE.BOOK_STORE_NAME, BookToBookStore.BOOK_TO_BOOK_STORE.BOOK_ID), true) + val PK_T_AUTHOR: UniqueKey = Internal.createUniqueKey(Author.AUTHOR, DSL.name("PK_T_AUTHOR"), arrayOf(Author.AUTHOR.ID), true) + val PK_T_BOOK: UniqueKey = Internal.createUniqueKey(Book.BOOK, DSL.name("PK_T_BOOK"), arrayOf(Book.BOOK.ID), true) + val UK_T_BOOK_STORE_NAME: UniqueKey = Internal.createUniqueKey(BookStore.BOOK_STORE, DSL.name("UK_T_BOOK_STORE_NAME"), arrayOf(BookStore.BOOK_STORE.NAME), true) + val PK_B2BS: UniqueKey = Internal.createUniqueKey(BookToBookStore.BOOK_TO_BOOK_STORE, DSL.name("PK_B2BS"), arrayOf(BookToBookStore.BOOK_TO_BOOK_STORE.BOOK_STORE_NAME, BookToBookStore.BOOK_TO_BOOK_STORE.BOOK_ID), true) } private object ForeignKeys0 { - val FK_T_BOOK_AUTHOR_ID: ForeignKey = Internal.createForeignKey(Keys.PK_T_AUTHOR, Book.BOOK, "FK_T_BOOK_AUTHOR_ID", arrayOf(Book.BOOK.AUTHOR_ID), true) - val FK_T_BOOK_CO_AUTHOR_ID: ForeignKey = Internal.createForeignKey(Keys.PK_T_AUTHOR, Book.BOOK, "FK_T_BOOK_CO_AUTHOR_ID", arrayOf(Book.BOOK.CO_AUTHOR_ID), true) - val FK_B2BS_BS_NAME: ForeignKey = Internal.createForeignKey(Keys.UK_T_BOOK_STORE_NAME, BookToBookStore.BOOK_TO_BOOK_STORE, "FK_B2BS_BS_NAME", arrayOf(BookToBookStore.BOOK_TO_BOOK_STORE.BOOK_STORE_NAME), true) - val FK_B2BS_B_ID: ForeignKey = Internal.createForeignKey(Keys.PK_T_BOOK, BookToBookStore.BOOK_TO_BOOK_STORE, "FK_B2BS_B_ID", arrayOf(BookToBookStore.BOOK_TO_BOOK_STORE.BOOK_ID), true) + val FK_T_BOOK_AUTHOR_ID: ForeignKey = Internal.createForeignKey(Keys.PK_T_AUTHOR, Book.BOOK, DSL.name("FK_T_BOOK_AUTHOR_ID"), arrayOf(Book.BOOK.AUTHOR_ID), true) + val FK_T_BOOK_CO_AUTHOR_ID: ForeignKey = Internal.createForeignKey(Keys.PK_T_AUTHOR, Book.BOOK, DSL.name("FK_T_BOOK_CO_AUTHOR_ID"), arrayOf(Book.BOOK.CO_AUTHOR_ID), true) + val FK_B2BS_BS_NAME: ForeignKey = Internal.createForeignKey(Keys.UK_T_BOOK_STORE_NAME, BookToBookStore.BOOK_TO_BOOK_STORE, DSL.name("FK_B2BS_BS_NAME"), arrayOf(BookToBookStore.BOOK_TO_BOOK_STORE.BOOK_STORE_NAME), true) + val FK_B2BS_B_ID: ForeignKey = Internal.createForeignKey(Keys.PK_T_BOOK, BookToBookStore.BOOK_TO_BOOK_STORE, DSL.name("FK_B2BS_B_ID"), arrayOf(BookToBookStore.BOOK_TO_BOOK_STORE.BOOK_ID), true) } } diff --git a/jOOQ/src/main/java/org/jooq/Meta.java b/jOOQ/src/main/java/org/jooq/Meta.java index ce2c6941e0..8de85db3c1 100644 --- a/jOOQ/src/main/java/org/jooq/Meta.java +++ b/jOOQ/src/main/java/org/jooq/Meta.java @@ -291,7 +291,7 @@ public interface Meta extends Scope { * Eager-create an in-memory copy of this {@link Meta} instance without any * connection to the original data source. */ - Meta detach() throws DataAccessException; + Meta snapshot() throws DataAccessException; /** * Generate a creation script for the entire meta data. diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractMeta.java b/jOOQ/src/main/java/org/jooq/impl/AbstractMeta.java index 9edb52af4f..e5f1098550 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractMeta.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractMeta.java @@ -463,8 +463,8 @@ abstract class AbstractMeta extends AbstractScope implements Meta, Serializable } @Override - public final Meta detach() { - return new DetachedMeta(this); + public final Meta snapshot() { + return new Snapshot(this); } @Override diff --git a/jOOQ/src/main/java/org/jooq/impl/DetachedMeta.java b/jOOQ/src/main/java/org/jooq/impl/Snapshot.java similarity index 96% rename from jOOQ/src/main/java/org/jooq/impl/DetachedMeta.java rename to jOOQ/src/main/java/org/jooq/impl/Snapshot.java index 7e114d4574..57772c216c 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DetachedMeta.java +++ b/jOOQ/src/main/java/org/jooq/impl/Snapshot.java @@ -68,12 +68,12 @@ import org.jooq.exception.DataAccessException; * * @author Knut Wannheden */ -final class DetachedMeta extends AbstractMeta { +final class Snapshot extends AbstractMeta { private static final long serialVersionUID = 5561057000510740144L; private Meta delegate; - DetachedMeta(Meta meta) { + Snapshot(Meta meta) { super(meta.configuration()); delegate = meta; @@ -117,7 +117,7 @@ final class DetachedMeta extends AbstractMeta { @Override public final List getSchemas() { - return Collections.unmodifiableList(schemas); + return Collections.unmodifiableList(schemas); } } @@ -154,22 +154,22 @@ final class DetachedMeta extends AbstractMeta { @Override public final List> getDomains() { - return Collections.unmodifiableList(domains); + return Collections.>unmodifiableList(domains); } @Override public final List> getTables() { - return Collections.unmodifiableList(tables); + return Collections.>unmodifiableList(tables); } @Override public final List> getSequences() { - return Collections.unmodifiableList(sequences); + return Collections.>unmodifiableList(sequences); } @Override public final List> getUDTs() { - return Collections.unmodifiableList(udts); + return Collections.>unmodifiableList(udts); } } diff --git a/jOOQ/src/main/java/org/jooq/impl/TranslatingMetaProvider.java b/jOOQ/src/main/java/org/jooq/impl/TranslatingMetaProvider.java index 41fe613bb0..8412c256b2 100644 --- a/jOOQ/src/main/java/org/jooq/impl/TranslatingMetaProvider.java +++ b/jOOQ/src/main/java/org/jooq/impl/TranslatingMetaProvider.java @@ -96,7 +96,7 @@ final class TranslatingMetaProvider implements MetaProvider { for (Source script : scripts) initializer.loadScript(script); - return new DetachedMeta(new DefaultMetaProvider( + return new Snapshot(new DefaultMetaProvider( configuration.derive().set(initializer.connection).set(configuration.settings().getInterpreterDialect()) ).provide()); }