diff --git a/jOOQ/src/main/java/org/jooq/Version.java b/jOOQ/src/main/java/org/jooq/Version.java index e2f48c6961..32c4fab14e 100644 --- a/jOOQ/src/main/java/org/jooq/Version.java +++ b/jOOQ/src/main/java/org/jooq/Version.java @@ -38,6 +38,7 @@ package org.jooq; import java.util.Collection; +import java.util.List; import org.jooq.conf.Settings; @@ -79,6 +80,11 @@ public interface Version { */ Version root(); + /** + * Get the parent versions of this version. + */ + List parents(); + /** * Commit a new {@link Meta} representation to the version graph. *

diff --git a/jOOQ/src/main/java/org/jooq/impl/VersionImpl.java b/jOOQ/src/main/java/org/jooq/impl/VersionImpl.java index 8d91764073..1a70e6489a 100644 --- a/jOOQ/src/main/java/org/jooq/impl/VersionImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/VersionImpl.java @@ -38,6 +38,7 @@ package org.jooq.impl; import static java.lang.Boolean.TRUE; +import static java.util.Collections.unmodifiableList; import static org.jooq.impl.DSL.createSchema; import static org.jooq.impl.DSL.name; import static org.jooq.impl.DSL.schema; @@ -128,6 +129,16 @@ final class VersionImpl implements Version { return result; } + @Override + public final List parents() { + List result = new ArrayList<>(parents.size()); + + for (Parent parent : parents) + result.add(parent.version); + + return unmodifiableList(result); + } + @Override public final Version apply(String newId, Query... migration) { return apply(newId, ctx.queries(migration));