[jOOQ/jOOQ#9574] Add org.jooq.Synonym
This includes: - DDL export implementation - Interpreter implementation - FilteredMeta implementation - Snapshot implementation Still missing - Correctly support CASCADE / RESTRICT semantics (interpreter) - Correct serialisation in case foreign keys reference synonyms - Interpretation in case foreign keys reference synonyms
This commit is contained in:
parent
a4d5a7ae24
commit
0317bdada9
@ -90,6 +90,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
private final boolean respectCatalogOrder;
|
||||
private final boolean respectSchemaOrder;
|
||||
private final boolean respectTableOrder;
|
||||
@ -102,6 +103,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
private final boolean defaultSequenceFlags;
|
||||
|
||||
private final boolean includeConstraintsOnViews;
|
||||
@ -127,6 +129,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
@ -139,6 +142,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
false,
|
||||
|
||||
false,
|
||||
@ -162,6 +166,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
boolean respectCatalogOrder,
|
||||
boolean respectSchemaOrder,
|
||||
boolean respectTableOrder,
|
||||
@ -174,6 +179,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
boolean defaultSequenceFlags,
|
||||
|
||||
boolean includeConstraintsOnViews,
|
||||
@ -194,6 +200,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
this.respectCatalogOrder = respectCatalogOrder;
|
||||
this.respectSchemaOrder = respectSchemaOrder;
|
||||
this.respectTableOrder = respectTableOrder;
|
||||
@ -206,6 +213,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
this.defaultSequenceFlags = defaultSequenceFlags;
|
||||
|
||||
this.includeConstraintsOnViews = includeConstraintsOnViews;
|
||||
@ -244,6 +252,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
respectCatalogOrder,
|
||||
respectSchemaOrder,
|
||||
respectTableOrder,
|
||||
@ -255,6 +264,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
defaultSequenceFlags,
|
||||
includeConstraintsOnViews,
|
||||
inlineForeignKeyConstraints
|
||||
@ -290,6 +300,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
respectCatalogOrder,
|
||||
respectSchemaOrder,
|
||||
respectTableOrder,
|
||||
@ -301,6 +312,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
defaultSequenceFlags,
|
||||
includeConstraintsOnViews,
|
||||
inlineForeignKeyConstraints
|
||||
@ -336,6 +348,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
respectCatalogOrder,
|
||||
respectSchemaOrder,
|
||||
respectTableOrder,
|
||||
@ -347,6 +360,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
defaultSequenceFlags,
|
||||
includeConstraintsOnViews,
|
||||
inlineForeignKeyConstraints
|
||||
@ -382,6 +396,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
respectCatalogOrder,
|
||||
respectSchemaOrder,
|
||||
respectTableOrder,
|
||||
@ -393,6 +408,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
defaultSequenceFlags,
|
||||
includeConstraintsOnViews,
|
||||
inlineForeignKeyConstraints
|
||||
@ -428,6 +444,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
respectCatalogOrder,
|
||||
respectSchemaOrder,
|
||||
respectTableOrder,
|
||||
@ -439,6 +456,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
defaultSequenceFlags,
|
||||
includeConstraintsOnViews,
|
||||
inlineForeignKeyConstraints
|
||||
@ -474,6 +492,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
respectCatalogOrder,
|
||||
respectSchemaOrder,
|
||||
respectTableOrder,
|
||||
@ -485,6 +504,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
defaultSequenceFlags,
|
||||
includeConstraintsOnViews,
|
||||
inlineForeignKeyConstraints
|
||||
@ -520,6 +540,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
respectCatalogOrder,
|
||||
respectSchemaOrder,
|
||||
respectTableOrder,
|
||||
@ -531,6 +552,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
defaultSequenceFlags,
|
||||
includeConstraintsOnViews,
|
||||
inlineForeignKeyConstraints
|
||||
@ -566,6 +588,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
respectCatalogOrder,
|
||||
respectSchemaOrder,
|
||||
respectTableOrder,
|
||||
@ -577,6 +600,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
defaultSequenceFlags,
|
||||
includeConstraintsOnViews,
|
||||
inlineForeignKeyConstraints
|
||||
@ -612,6 +636,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
respectCatalogOrder,
|
||||
respectSchemaOrder,
|
||||
respectTableOrder,
|
||||
@ -623,6 +648,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
defaultSequenceFlags,
|
||||
includeConstraintsOnViews,
|
||||
inlineForeignKeyConstraints
|
||||
@ -658,6 +684,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
respectCatalogOrder,
|
||||
respectSchemaOrder,
|
||||
respectTableOrder,
|
||||
@ -669,6 +696,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
defaultSequenceFlags,
|
||||
includeConstraintsOnViews,
|
||||
inlineForeignKeyConstraints
|
||||
@ -702,6 +730,54 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -750,6 +826,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
newRespectCatalogOrder,
|
||||
respectSchemaOrder,
|
||||
respectTableOrder,
|
||||
@ -761,6 +838,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
defaultSequenceFlags,
|
||||
includeConstraintsOnViews,
|
||||
inlineForeignKeyConstraints
|
||||
@ -794,6 +872,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
respectCatalogOrder,
|
||||
newRespectSchemaOrder,
|
||||
respectTableOrder,
|
||||
@ -805,6 +884,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
defaultSequenceFlags,
|
||||
includeConstraintsOnViews,
|
||||
inlineForeignKeyConstraints
|
||||
@ -838,6 +918,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
respectCatalogOrder,
|
||||
respectSchemaOrder,
|
||||
newRespectTableOrder,
|
||||
@ -849,6 +930,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
defaultSequenceFlags,
|
||||
includeConstraintsOnViews,
|
||||
inlineForeignKeyConstraints
|
||||
@ -882,6 +964,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
respectCatalogOrder,
|
||||
respectSchemaOrder,
|
||||
respectTableOrder,
|
||||
@ -893,6 +976,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
defaultSequenceFlags,
|
||||
includeConstraintsOnViews,
|
||||
inlineForeignKeyConstraints
|
||||
@ -926,6 +1010,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
respectCatalogOrder,
|
||||
respectSchemaOrder,
|
||||
respectTableOrder,
|
||||
@ -937,6 +1022,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
defaultSequenceFlags,
|
||||
includeConstraintsOnViews,
|
||||
inlineForeignKeyConstraints
|
||||
@ -970,6 +1056,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
respectCatalogOrder,
|
||||
respectSchemaOrder,
|
||||
respectTableOrder,
|
||||
@ -981,6 +1068,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
defaultSequenceFlags,
|
||||
includeConstraintsOnViews,
|
||||
inlineForeignKeyConstraints
|
||||
@ -1014,6 +1102,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
respectCatalogOrder,
|
||||
respectSchemaOrder,
|
||||
respectTableOrder,
|
||||
@ -1025,6 +1114,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
defaultSequenceFlags,
|
||||
includeConstraintsOnViews,
|
||||
inlineForeignKeyConstraints
|
||||
@ -1058,6 +1148,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
respectCatalogOrder,
|
||||
respectSchemaOrder,
|
||||
respectTableOrder,
|
||||
@ -1069,6 +1160,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
defaultSequenceFlags,
|
||||
includeConstraintsOnViews,
|
||||
inlineForeignKeyConstraints
|
||||
@ -1100,6 +1192,52 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -1148,6 +1286,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
respectCatalogOrder,
|
||||
respectSchemaOrder,
|
||||
respectTableOrder,
|
||||
@ -1159,6 +1298,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
newDefaultSequenceFlags,
|
||||
includeConstraintsOnViews,
|
||||
inlineForeignKeyConstraints
|
||||
@ -1190,6 +1330,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
respectCatalogOrder,
|
||||
respectSchemaOrder,
|
||||
respectTableOrder,
|
||||
@ -1201,6 +1342,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
defaultSequenceFlags,
|
||||
newIncludeConstraintsOnViews,
|
||||
inlineForeignKeyConstraints
|
||||
@ -1234,6 +1376,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
respectCatalogOrder,
|
||||
respectSchemaOrder,
|
||||
respectTableOrder,
|
||||
@ -1245,6 +1388,7 @@ public final class DDLExportConfiguration {
|
||||
|
||||
|
||||
|
||||
|
||||
defaultSequenceFlags,
|
||||
includeConstraintsOnViews,
|
||||
newInlineForeignKeyConstraints
|
||||
|
||||
@ -101,4 +101,9 @@ public enum DDLFlag {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -237,6 +237,39 @@ public interface Meta extends Scope {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -443,6 +476,13 @@ public interface Meta extends Scope {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Create a wrapper {@link Meta} instance filtering out some sequences.
|
||||
*/
|
||||
|
||||
@ -282,6 +282,32 @@ public interface Schema extends Named {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -47,3 +47,10 @@ package org.jooq;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -66,6 +66,7 @@ import org.jooq.Query;
|
||||
import org.jooq.Record;
|
||||
import org.jooq.Schema;
|
||||
import org.jooq.Sequence;
|
||||
// ...
|
||||
import org.jooq.Table;
|
||||
import org.jooq.TableField;
|
||||
// ...
|
||||
@ -90,6 +91,7 @@ abstract class AbstractMeta extends AbstractScope implements Meta, Serializable
|
||||
|
||||
|
||||
|
||||
|
||||
final Predicate<? super Catalog> catalogFilter;
|
||||
final Predicate<? super Schema> schemaFilter;
|
||||
|
||||
@ -288,6 +290,39 @@ abstract class AbstractMeta extends AbstractScope implements Meta, Serializable
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -495,6 +530,7 @@ abstract class AbstractMeta extends AbstractScope implements Meta, Serializable
|
||||
|
||||
|
||||
|
||||
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
@ -514,6 +550,7 @@ abstract class AbstractMeta extends AbstractScope implements Meta, Serializable
|
||||
|
||||
|
||||
|
||||
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
@ -533,6 +570,7 @@ abstract class AbstractMeta extends AbstractScope implements Meta, Serializable
|
||||
|
||||
|
||||
|
||||
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
@ -552,6 +590,7 @@ abstract class AbstractMeta extends AbstractScope implements Meta, Serializable
|
||||
|
||||
|
||||
|
||||
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
@ -579,6 +618,25 @@ abstract class AbstractMeta extends AbstractScope implements Meta, Serializable
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
@ -592,6 +650,7 @@ abstract class AbstractMeta extends AbstractScope implements Meta, Serializable
|
||||
|
||||
|
||||
|
||||
|
||||
filter,
|
||||
null,
|
||||
null,
|
||||
@ -611,6 +670,7 @@ abstract class AbstractMeta extends AbstractScope implements Meta, Serializable
|
||||
|
||||
|
||||
|
||||
|
||||
null,
|
||||
filter,
|
||||
null,
|
||||
@ -630,6 +690,7 @@ abstract class AbstractMeta extends AbstractScope implements Meta, Serializable
|
||||
|
||||
|
||||
|
||||
|
||||
null,
|
||||
null,
|
||||
filter,
|
||||
@ -649,6 +710,7 @@ abstract class AbstractMeta extends AbstractScope implements Meta, Serializable
|
||||
|
||||
|
||||
|
||||
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
@ -668,6 +730,7 @@ abstract class AbstractMeta extends AbstractScope implements Meta, Serializable
|
||||
|
||||
|
||||
|
||||
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
|
||||
@ -112,6 +112,7 @@ import org.jooq.Schema;
|
||||
import org.jooq.Select;
|
||||
import org.jooq.Sequence;
|
||||
import org.jooq.SortOrder;
|
||||
// ...
|
||||
import org.jooq.Table;
|
||||
import org.jooq.TableOptions;
|
||||
import org.jooq.TableOptions.OnCommit;
|
||||
@ -415,6 +416,15 @@ final class DDL {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -616,6 +626,11 @@ final class DDL {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
return ctx.queries(queries);
|
||||
}
|
||||
|
||||
|
||||
@ -14128,6 +14128,10 @@ public class DSL {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -55,6 +55,7 @@ import org.jooq.QueryPart;
|
||||
import org.jooq.Record;
|
||||
import org.jooq.Schema;
|
||||
import org.jooq.Sequence;
|
||||
// ...
|
||||
import org.jooq.Table;
|
||||
import org.jooq.TableField;
|
||||
// ...
|
||||
@ -75,6 +76,7 @@ final class FilteredMeta extends AbstractMeta {
|
||||
|
||||
|
||||
|
||||
|
||||
private final Predicate<? super Sequence<?>> sequenceFilter;
|
||||
private final Predicate<? super UniqueKey<?>> primaryKeyFilter;
|
||||
private final Predicate<? super UniqueKey<?>> uniqueKeyFilter;
|
||||
@ -90,6 +92,7 @@ final class FilteredMeta extends AbstractMeta {
|
||||
|
||||
|
||||
|
||||
|
||||
Predicate<? super Sequence<?>> sequenceFilter,
|
||||
Predicate<? super UniqueKey<?>> primaryKeyFilter,
|
||||
Predicate<? super UniqueKey<?>> uniqueKeyFilter,
|
||||
@ -104,6 +107,7 @@ final class FilteredMeta extends AbstractMeta {
|
||||
|
||||
|
||||
|
||||
|
||||
this.sequenceFilter = sequenceFilter;
|
||||
this.primaryKeyFilter = primaryKeyFilter;
|
||||
this.uniqueKeyFilter = uniqueKeyFilter;
|
||||
@ -138,6 +142,7 @@ final class FilteredMeta extends AbstractMeta {
|
||||
|
||||
|
||||
|
||||
|
||||
sequenceFilter,
|
||||
primaryKeyFilter,
|
||||
uniqueKeyFilter,
|
||||
@ -157,6 +162,7 @@ final class FilteredMeta extends AbstractMeta {
|
||||
|
||||
|
||||
|
||||
|
||||
sequenceFilter,
|
||||
primaryKeyFilter,
|
||||
uniqueKeyFilter,
|
||||
@ -176,6 +182,7 @@ final class FilteredMeta extends AbstractMeta {
|
||||
|
||||
|
||||
|
||||
|
||||
sequenceFilter,
|
||||
primaryKeyFilter,
|
||||
uniqueKeyFilter,
|
||||
@ -195,6 +202,7 @@ final class FilteredMeta extends AbstractMeta {
|
||||
|
||||
|
||||
|
||||
|
||||
sequenceFilter,
|
||||
primaryKeyFilter,
|
||||
uniqueKeyFilter,
|
||||
@ -222,6 +230,25 @@ final class FilteredMeta extends AbstractMeta {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
@ -235,6 +262,7 @@ final class FilteredMeta extends AbstractMeta {
|
||||
|
||||
|
||||
|
||||
|
||||
and(sequenceFilter, filter),
|
||||
primaryKeyFilter,
|
||||
uniqueKeyFilter,
|
||||
@ -254,6 +282,7 @@ final class FilteredMeta extends AbstractMeta {
|
||||
|
||||
|
||||
|
||||
|
||||
sequenceFilter,
|
||||
and(primaryKeyFilter, filter),
|
||||
uniqueKeyFilter,
|
||||
@ -273,6 +302,7 @@ final class FilteredMeta extends AbstractMeta {
|
||||
|
||||
|
||||
|
||||
|
||||
sequenceFilter,
|
||||
primaryKeyFilter,
|
||||
and(uniqueKeyFilter, filter),
|
||||
@ -292,6 +322,7 @@ final class FilteredMeta extends AbstractMeta {
|
||||
|
||||
|
||||
|
||||
|
||||
sequenceFilter,
|
||||
primaryKeyFilter,
|
||||
uniqueKeyFilter,
|
||||
@ -311,6 +342,7 @@ final class FilteredMeta extends AbstractMeta {
|
||||
|
||||
|
||||
|
||||
|
||||
sequenceFilter,
|
||||
primaryKeyFilter,
|
||||
uniqueKeyFilter,
|
||||
@ -377,6 +409,7 @@ final class FilteredMeta extends AbstractMeta {
|
||||
|
||||
|
||||
|
||||
|
||||
private FilteredSchema(FilteredCatalog catalog, Schema delegate) {
|
||||
super(delegate.getQualifiedName(), catalog, delegate.getCommentPart());
|
||||
|
||||
@ -440,6 +473,20 @@ final class FilteredMeta extends AbstractMeta {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -109,6 +109,7 @@ import org.jooq.Sequence;
|
||||
import org.jooq.SortField;
|
||||
import org.jooq.SortOrder;
|
||||
import org.jooq.Statement;
|
||||
// ...
|
||||
import org.jooq.Table;
|
||||
import org.jooq.TableElement;
|
||||
import org.jooq.TableField;
|
||||
@ -160,6 +161,8 @@ final class Interpreter {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Interpreter(Configuration configuration) {
|
||||
this.configuration = configuration;
|
||||
this.delayForeignKeyDeclarations = TRUE.equals(configuration.settings().isInterpreterDelayForeignKeyDeclarations());
|
||||
@ -249,6 +252,10 @@ final class Interpreter {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
else if (query instanceof CommentOnImpl q)
|
||||
accept0(q);
|
||||
|
||||
@ -449,20 +456,16 @@ final class Interpreter {
|
||||
}
|
||||
}
|
||||
|
||||
private final <N extends MutableNamed> void drop(List<N> list, N item) {
|
||||
Iterator<N> it = list.iterator();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
while (it.hasNext()) {
|
||||
if (it.next().nameEquals(item.name())) {
|
||||
it.remove();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private final void dropColumns(MutableTable table, List<MutableField> fields, Cascade cascade) {
|
||||
Iterator<MutableIndex> it1 = table.indexes.iterator();
|
||||
@ -1053,6 +1056,30 @@ final class Interpreter {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -1712,6 +1739,10 @@ final class Interpreter {
|
||||
List<MutableDomain> domains = new MutableNamedList<>();
|
||||
List<MutableSequence> sequences = new MutableNamedList<>();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
MutableSchema(UnqualifiedName name, MutableCatalog catalog) {
|
||||
super(name);
|
||||
|
||||
@ -1721,15 +1752,23 @@ final class Interpreter {
|
||||
|
||||
@Override
|
||||
final void onDrop() {
|
||||
for (MutableTable table : tables)
|
||||
for (MutableTable table : tables) {
|
||||
for (MutableForeignKey referencingKey : table.referencingKeys())
|
||||
referencingKey.table.foreignKeys.remove(referencingKey);
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
// TODO: Cascade domains?
|
||||
|
||||
tables.clear();
|
||||
domains.clear();
|
||||
sequences.clear();
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -1757,6 +1796,15 @@ final class Interpreter {
|
||||
return find(sequences, s);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private final class InterpretedSchema extends SchemaImpl {
|
||||
InterpretedSchema(MutableCatalog.InterpretedCatalog catalog) {
|
||||
super(MutableSchema.this.name(), catalog, MutableSchema.this.comment());
|
||||
@ -1776,18 +1824,28 @@ final class Interpreter {
|
||||
public final List<Sequence<?>> getSequences() {
|
||||
return map(sequences, s -> s.interpretedSequence());
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private final class MutableTable extends MutableNamed {
|
||||
private final class MutableTable extends MutableNamed {
|
||||
MutableSchema schema;
|
||||
TableOptions options;
|
||||
List<MutableField> fields = new MutableNamedList<>();
|
||||
List<MutableField> fields = new MutableNamedList<>();
|
||||
MutableUniqueKey primaryKey;
|
||||
List<MutableUniqueKey> uniqueKeys = new MutableNamedList<>();
|
||||
List<MutableForeignKey> foreignKeys = new MutableNamedList<>();
|
||||
List<MutableCheck> checks = new MutableNamedList<>();
|
||||
List<MutableIndex> indexes = new MutableNamedList<>();
|
||||
List<MutableUniqueKey> uniqueKeys = new MutableNamedList<>();
|
||||
List<MutableForeignKey> foreignKeys = new MutableNamedList<>();
|
||||
List<MutableCheck> checks = new MutableNamedList<>();
|
||||
List<MutableIndex> indexes = new MutableNamedList<>();
|
||||
|
||||
|
||||
|
||||
|
||||
@ -2078,6 +2136,49 @@ final class Interpreter {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -38,8 +38,6 @@
|
||||
package org.jooq.impl;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Predicate;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import org.jooq.Catalog;
|
||||
@ -47,19 +45,19 @@ import org.jooq.Comment;
|
||||
import org.jooq.Context;
|
||||
import org.jooq.Domain;
|
||||
import org.jooq.ForeignKey;
|
||||
import org.jooq.Function1;
|
||||
import org.jooq.Index;
|
||||
import org.jooq.Internal;
|
||||
import org.jooq.Name;
|
||||
import org.jooq.QueryPart;
|
||||
// ...
|
||||
import org.jooq.Schema;
|
||||
import org.jooq.Sequence;
|
||||
// ...
|
||||
import org.jooq.Table;
|
||||
// ...
|
||||
// ...
|
||||
import org.jooq.UDT;
|
||||
import org.jooq.UniqueKey;
|
||||
import org.jooq.QueryPart;
|
||||
// ...
|
||||
|
||||
/**
|
||||
* A schema that references a lazy initialisable {@link Schema} singleton, for
|
||||
@ -228,6 +226,21 @@ public final class LazySchema extends AbstractNamed implements Schema {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -293,6 +306,11 @@ public final class LazySchema extends AbstractNamed implements Schema {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public final Stream<Sequence<?>> sequenceStream() {
|
||||
return schema().sequenceStream();
|
||||
|
||||
@ -61,6 +61,7 @@ import org.jooq.Index;
|
||||
import org.jooq.Name;
|
||||
import org.jooq.Schema;
|
||||
import org.jooq.Sequence;
|
||||
// ...
|
||||
import org.jooq.Table;
|
||||
// ...
|
||||
import org.jooq.UDT;
|
||||
@ -223,6 +224,16 @@ implements
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -323,6 +334,16 @@ implements
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -382,6 +403,11 @@ implements
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public final Stream<Sequence<?>> sequenceStream() {
|
||||
return getSequences().stream();
|
||||
|
||||
@ -58,6 +58,7 @@ import org.jooq.Record;
|
||||
import org.jooq.Schema;
|
||||
import org.jooq.Sequence;
|
||||
import org.jooq.SortField;
|
||||
// ...
|
||||
import org.jooq.Table;
|
||||
import org.jooq.TableField;
|
||||
// ...
|
||||
@ -129,6 +130,7 @@ final class Snapshot extends AbstractMeta {
|
||||
|
||||
|
||||
|
||||
|
||||
SnapshotSchema(SnapshotCatalog catalog, Schema schema) {
|
||||
super(schema.getQualifiedName(), catalog, schema.getCommentPart());
|
||||
|
||||
@ -139,6 +141,7 @@ final class Snapshot extends AbstractMeta {
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
final void resolveReferences() {
|
||||
@ -174,6 +177,11 @@ final class Snapshot extends AbstractMeta {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
private class SnapshotDomain<T> extends DomainImpl<T> {
|
||||
@ -320,6 +328,17 @@ final class Snapshot extends AbstractMeta {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -68,6 +68,29 @@ package org.jooq.impl;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user