[jOOQ/jOOQ#9580] Add DDLExportConfiguration.defaultSequenceFlags
This commit is contained in:
parent
17334b5f6b
commit
e57125eaa9
@ -51,13 +51,15 @@ import java.util.Set;
|
||||
*/
|
||||
public final class DDLExportConfiguration {
|
||||
|
||||
private final EnumSet<DDLFlag> flags;
|
||||
|
||||
private final boolean createSchemaIfNotExists;
|
||||
private final boolean createTableIfNotExists;
|
||||
private final boolean createIndexIfNotExists;
|
||||
private final boolean createSequenceIfNotExists;
|
||||
private final boolean createViewIfNotExists;
|
||||
private final boolean createOrReplaceView;
|
||||
private final EnumSet<DDLFlag> flags;
|
||||
|
||||
private final boolean respectCatalogOrder;
|
||||
private final boolean respectSchemaOrder;
|
||||
private final boolean respectTableOrder;
|
||||
@ -66,6 +68,8 @@ public final class DDLExportConfiguration {
|
||||
private final boolean respectIndexOrder;
|
||||
private final boolean respectSequenceOrder;
|
||||
|
||||
private final boolean defaultSequenceFlags;
|
||||
|
||||
/**
|
||||
* Create a new default export configuration instance.
|
||||
*/
|
||||
@ -86,25 +90,31 @@ public final class DDLExportConfiguration {
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
|
||||
false
|
||||
);
|
||||
}
|
||||
|
||||
private DDLExportConfiguration(
|
||||
Collection<DDLFlag> flags,
|
||||
|
||||
boolean createSchemaIfNotExists,
|
||||
boolean createTableIfNotExists,
|
||||
boolean createIndexIfNotExists,
|
||||
boolean createSequenceIfNotExists,
|
||||
boolean createViewIfNotExists,
|
||||
boolean createOrReplaceView,
|
||||
|
||||
boolean respectCatalogOrder,
|
||||
boolean respectSchemaOrder,
|
||||
boolean respectTableOrder,
|
||||
boolean respectColumnOrder,
|
||||
boolean respectConstraintOrder,
|
||||
boolean respectIndexOrder,
|
||||
boolean respectSequenceOrder
|
||||
boolean respectSequenceOrder,
|
||||
|
||||
boolean defaultSequenceFlags
|
||||
) {
|
||||
this.flags = EnumSet.copyOf(flags);
|
||||
|
||||
@ -122,6 +132,7 @@ public final class DDLExportConfiguration {
|
||||
this.respectConstraintOrder = respectConstraintOrder;
|
||||
this.respectIndexOrder = respectIndexOrder;
|
||||
this.respectSequenceOrder = respectSequenceOrder;
|
||||
this.defaultSequenceFlags = defaultSequenceFlags;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -156,7 +167,8 @@ public final class DDLExportConfiguration {
|
||||
respectColumnOrder,
|
||||
respectConstraintOrder,
|
||||
respectIndexOrder,
|
||||
respectSequenceOrder
|
||||
respectSequenceOrder,
|
||||
defaultSequenceFlags
|
||||
);
|
||||
}
|
||||
|
||||
@ -189,7 +201,8 @@ public final class DDLExportConfiguration {
|
||||
respectColumnOrder,
|
||||
respectConstraintOrder,
|
||||
respectIndexOrder,
|
||||
respectSequenceOrder
|
||||
respectSequenceOrder,
|
||||
defaultSequenceFlags
|
||||
);
|
||||
}
|
||||
|
||||
@ -222,7 +235,8 @@ public final class DDLExportConfiguration {
|
||||
respectColumnOrder,
|
||||
respectConstraintOrder,
|
||||
respectIndexOrder,
|
||||
respectSequenceOrder
|
||||
respectSequenceOrder,
|
||||
defaultSequenceFlags
|
||||
);
|
||||
}
|
||||
|
||||
@ -255,7 +269,8 @@ public final class DDLExportConfiguration {
|
||||
respectColumnOrder,
|
||||
respectConstraintOrder,
|
||||
respectIndexOrder,
|
||||
respectSequenceOrder
|
||||
respectSequenceOrder,
|
||||
defaultSequenceFlags
|
||||
);
|
||||
}
|
||||
|
||||
@ -288,7 +303,8 @@ public final class DDLExportConfiguration {
|
||||
respectColumnOrder,
|
||||
respectConstraintOrder,
|
||||
respectIndexOrder,
|
||||
respectSequenceOrder
|
||||
respectSequenceOrder,
|
||||
defaultSequenceFlags
|
||||
);
|
||||
}
|
||||
|
||||
@ -321,7 +337,8 @@ public final class DDLExportConfiguration {
|
||||
respectColumnOrder,
|
||||
respectConstraintOrder,
|
||||
respectIndexOrder,
|
||||
respectSequenceOrder
|
||||
respectSequenceOrder,
|
||||
defaultSequenceFlags
|
||||
);
|
||||
}
|
||||
|
||||
@ -354,7 +371,8 @@ public final class DDLExportConfiguration {
|
||||
respectColumnOrder,
|
||||
respectConstraintOrder,
|
||||
respectIndexOrder,
|
||||
respectSequenceOrder
|
||||
respectSequenceOrder,
|
||||
defaultSequenceFlags
|
||||
);
|
||||
}
|
||||
|
||||
@ -385,7 +403,8 @@ public final class DDLExportConfiguration {
|
||||
respectColumnOrder,
|
||||
respectConstraintOrder,
|
||||
respectIndexOrder,
|
||||
respectSequenceOrder
|
||||
respectSequenceOrder,
|
||||
defaultSequenceFlags
|
||||
);
|
||||
}
|
||||
|
||||
@ -416,7 +435,8 @@ public final class DDLExportConfiguration {
|
||||
respectColumnOrder,
|
||||
respectConstraintOrder,
|
||||
respectIndexOrder,
|
||||
respectSequenceOrder
|
||||
respectSequenceOrder,
|
||||
defaultSequenceFlags
|
||||
);
|
||||
}
|
||||
|
||||
@ -447,7 +467,8 @@ public final class DDLExportConfiguration {
|
||||
respectColumnOrder,
|
||||
respectConstraintOrder,
|
||||
respectIndexOrder,
|
||||
respectSequenceOrder
|
||||
respectSequenceOrder,
|
||||
defaultSequenceFlags
|
||||
);
|
||||
}
|
||||
|
||||
@ -478,7 +499,8 @@ public final class DDLExportConfiguration {
|
||||
newRespectColumnOrder,
|
||||
respectConstraintOrder,
|
||||
respectIndexOrder,
|
||||
respectSequenceOrder
|
||||
respectSequenceOrder,
|
||||
defaultSequenceFlags
|
||||
);
|
||||
}
|
||||
|
||||
@ -509,7 +531,8 @@ public final class DDLExportConfiguration {
|
||||
respectColumnOrder,
|
||||
newRespectConstraintOrder,
|
||||
respectIndexOrder,
|
||||
respectSequenceOrder
|
||||
respectSequenceOrder,
|
||||
defaultSequenceFlags
|
||||
);
|
||||
}
|
||||
|
||||
@ -540,7 +563,8 @@ public final class DDLExportConfiguration {
|
||||
respectColumnOrder,
|
||||
respectConstraintOrder,
|
||||
newRespectIndexOrder,
|
||||
respectSequenceOrder
|
||||
respectSequenceOrder,
|
||||
defaultSequenceFlags
|
||||
);
|
||||
}
|
||||
|
||||
@ -571,7 +595,40 @@ public final class DDLExportConfiguration {
|
||||
respectColumnOrder,
|
||||
respectConstraintOrder,
|
||||
respectIndexOrder,
|
||||
newRespectSequenceOrder
|
||||
newRespectSequenceOrder,
|
||||
defaultSequenceFlags
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether to explicitly produce defaults for all sequence flags, when
|
||||
* they're not defined explicitly.
|
||||
*/
|
||||
public final boolean defaultSequenceFlags() {
|
||||
return defaultSequenceFlags;
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether to explicitly produce defaults for all sequence flags, when
|
||||
* they're not defined explicitly.
|
||||
*/
|
||||
public final DDLExportConfiguration defaultSequenceFlags(boolean newDefaultSequenceFlags) {
|
||||
return new DDLExportConfiguration(
|
||||
flags,
|
||||
createSchemaIfNotExists,
|
||||
createTableIfNotExists,
|
||||
createIndexIfNotExists,
|
||||
createSequenceIfNotExists,
|
||||
createViewIfNotExists,
|
||||
createOrReplaceView,
|
||||
respectCatalogOrder,
|
||||
respectSchemaOrder,
|
||||
respectTableOrder,
|
||||
respectColumnOrder,
|
||||
respectConstraintOrder,
|
||||
respectIndexOrder,
|
||||
respectSequenceOrder,
|
||||
newDefaultSequenceFlags
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@ -136,16 +136,33 @@ final class DDL {
|
||||
|
||||
if (sequence.getStartWith() != null)
|
||||
result = result.startWith(sequence.getStartWith());
|
||||
else if (configuration.defaultSequenceFlags())
|
||||
result = result.startWith(1);
|
||||
|
||||
if (sequence.getIncrementBy() != null)
|
||||
result = result.incrementBy(sequence.getIncrementBy());
|
||||
else if (configuration.defaultSequenceFlags())
|
||||
result = result.incrementBy(1);
|
||||
|
||||
if (sequence.getMinValue() != null)
|
||||
result = result.minvalue(sequence.getMinValue());
|
||||
else if (configuration.defaultSequenceFlags())
|
||||
result = result.noMinvalue();
|
||||
|
||||
if (sequence.getMaxValue() != null)
|
||||
result = result.maxvalue(sequence.getMaxValue());
|
||||
else if (configuration.defaultSequenceFlags())
|
||||
result = result.noMaxvalue();
|
||||
|
||||
if (sequence.getCycle())
|
||||
result = result.cycle();
|
||||
else if (configuration.defaultSequenceFlags())
|
||||
result = result.noCycle();
|
||||
|
||||
if (sequence.getCache() != null)
|
||||
result = result.cache(sequence.getCache());
|
||||
else if (configuration.defaultSequenceFlags())
|
||||
result = result.noCache();
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user