diff --git a/jOOQ-codegen/src/main/java/org/jooq/codegen/AbstractGenerator.java b/jOOQ-codegen/src/main/java/org/jooq/codegen/AbstractGenerator.java
index 59cb487ef8..bc194705cb 100644
--- a/jOOQ-codegen/src/main/java/org/jooq/codegen/AbstractGenerator.java
+++ b/jOOQ-codegen/src/main/java/org/jooq/codegen/AbstractGenerator.java
@@ -70,6 +70,7 @@ abstract class AbstractGenerator implements Generator {
boolean useCatalogVersionProvider = false;
boolean generateRoutines = true;
boolean generateSequences = true;
+ boolean generateSequenceFlags = true;
boolean generateUDTs = true;
boolean generateTables = true;
boolean generateEmbeddables = true;
@@ -335,6 +336,16 @@ abstract class AbstractGenerator implements Generator {
this.generateSequences = generateSequences;
}
+ @Override
+ public boolean generateSequenceFlags() {
+ return generateSequenceFlags;
+ }
+
+ @Override
+ public void setGenerateSequenceFlags(boolean generateSequenceFlags) {
+ this.generateSequenceFlags = generateSequenceFlags;
+ }
+
@Override
public boolean generateUDTs() {
return generateUDTs;
diff --git a/jOOQ-codegen/src/main/java/org/jooq/codegen/GenerationTool.java b/jOOQ-codegen/src/main/java/org/jooq/codegen/GenerationTool.java
index 1cfbea3006..601dda8a9f 100644
--- a/jOOQ-codegen/src/main/java/org/jooq/codegen/GenerationTool.java
+++ b/jOOQ-codegen/src/main/java/org/jooq/codegen/GenerationTool.java
@@ -653,6 +653,8 @@ public class GenerationTool {
generator.setGenerateRoutines(g.getGenerate().isRoutines());
if (g.getGenerate().isSequences() != null)
generator.setGenerateSequences(g.getGenerate().isSequences());
+ if (g.getGenerate().isSequenceFlags() != null)
+ generator.setGenerateSequenceFlags(g.getGenerate().isSequenceFlags());
if (g.getGenerate().isUdts() != null)
generator.setGenerateUDTs(g.getGenerate().isUdts());
if (g.getGenerate().isTables() != null)
diff --git a/jOOQ-codegen/src/main/java/org/jooq/codegen/Generator.java b/jOOQ-codegen/src/main/java/org/jooq/codegen/Generator.java
index 1fff111744..737d4b4353 100644
--- a/jOOQ-codegen/src/main/java/org/jooq/codegen/Generator.java
+++ b/jOOQ-codegen/src/main/java/org/jooq/codegen/Generator.java
@@ -182,6 +182,16 @@ public interface Generator {
*/
void setGenerateSequences(boolean generateSequences);
+ /**
+ * Whether sequence flags should be generated.
+ */
+ boolean generateSequenceFlags();
+
+ /**
+ * Whether sequence flags should be generated.
+ */
+ void setGenerateSequenceFlags(boolean generateSequenceFlags);
+
/**
* Whether UDTs should be generated.
*/
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 49919f41e9..8a043549d3 100644
--- a/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaGenerator.java
+++ b/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaGenerator.java
@@ -357,6 +357,7 @@ public class JavaGenerator extends AbstractGenerator {
+ ((!generateRecords && generateDaos) ? " (forced to true because of )" : ""));
log.info(" routines", generateRoutines());
log.info(" sequences", generateSequences());
+ log.info(" sequenceFlags", generateSequenceFlags());
log.info(" table-valued functions", generateTableValuedFunctions());
log.info(" tables", generateTables()
+ ((!generateTables && generateRecords) ? " (forced to true because of )" :
@@ -4623,6 +4624,8 @@ public class JavaGenerator extends AbstractGenerator {
if (!printDeprecationIfUnknownType(out, seqTypeFull))
out.tab(1).javadoc("The sequence %s", sequence.getQualifiedOutputName());
+ boolean flags = generateSequenceFlags();
+
if (scala)
out.tab(1).println("val %s : %s[%s] = %s.createSequence(\"%s\", %s, %s, %s, %s, %s, %s, %s, %s)",
seqId,
@@ -4632,12 +4635,12 @@ public class JavaGenerator extends AbstractGenerator {
seqName,
schemaId,
typeRef,
- sequence.getStartWith() != null ? sequence.getStartWith() + "L" : "null",
- sequence.getIncrementBy() != null ? sequence.getIncrementBy() + "L" : "null",
- sequence.getMinvalue() != null ? sequence.getMinvalue() + "L" : "null",
- sequence.getMaxvalue() != null ? sequence.getMaxvalue() + "L" : "null",
- sequence.getCycle(),
- sequence.getCache() != null ? sequence.getCache() + "L" : "null");
+ flags && sequence.getStartWith() != null ? sequence.getStartWith() + "L" : "null",
+ flags && sequence.getIncrementBy() != null ? sequence.getIncrementBy() + "L" : "null",
+ flags && sequence.getMinvalue() != null ? sequence.getMinvalue() + "L" : "null",
+ flags && sequence.getMaxvalue() != null ? sequence.getMaxvalue() + "L" : "null",
+ flags && sequence.getCycle(),
+ flags && sequence.getCache() != null ? sequence.getCache() + "L" : "null");
else
out.tab(1).println("public static final %s<%s> %s = %s.<%s> createSequence(\"%s\", %s, %s, %s, %s, %s, %s, %s, %s);",
Sequence.class,
@@ -4648,12 +4651,12 @@ public class JavaGenerator extends AbstractGenerator {
seqName,
schemaId,
typeRef,
- sequence.getStartWith() != null ? sequence.getStartWith() + "L" : "null",
- sequence.getIncrementBy() != null ? sequence.getIncrementBy() + "L" : "null",
- sequence.getMinvalue() != null ? sequence.getMinvalue() + "L" : "null",
- sequence.getMaxvalue() != null ? sequence.getMaxvalue() + "L" : "null",
- sequence.getCycle(),
- sequence.getCache() != null ? sequence.getCache() + "L" : "null"
+ flags && sequence.getStartWith() != null ? sequence.getStartWith() + "L" : "null",
+ flags && sequence.getIncrementBy() != null ? sequence.getIncrementBy() + "L" : "null",
+ flags && sequence.getMinvalue() != null ? sequence.getMinvalue() + "L" : "null",
+ flags && sequence.getMaxvalue() != null ? sequence.getMaxvalue() + "L" : "null",
+ flags && sequence.getCycle(),
+ flags && sequence.getCache() != null ? sequence.getCache() + "L" : "null"
);
}
diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/jaxb/Generate.java b/jOOQ-meta/src/main/java/org/jooq/meta/jaxb/Generate.java
index 419e7a3709..b49fa213a1 100644
--- a/jOOQ-meta/src/main/java/org/jooq/meta/jaxb/Generate.java
+++ b/jOOQ-meta/src/main/java/org/jooq/meta/jaxb/Generate.java
@@ -35,6 +35,8 @@ public class Generate implements Serializable, XMLAppendable
@XmlElement(defaultValue = "true")
protected Boolean relations = true;
@XmlElement(defaultValue = "true")
+ protected Boolean sequenceFlags = true;
+ @XmlElement(defaultValue = "true")
protected Boolean implicitJoinPathsToOne = true;
@XmlElement(defaultValue = "true")
protected Boolean deprecated = true;
@@ -215,6 +217,30 @@ public class Generate implements Serializable, XMLAppendable
this.relations = value;
}
+ /**
+ * Sequence flags should be generated and used.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isSequenceFlags() {
+ return sequenceFlags;
+ }
+
+ /**
+ * Sets the value of the sequenceFlags property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setSequenceFlags(Boolean value) {
+ this.sequenceFlags = value;
+ }
+
/**
* Generate implicit join path constructors on generated tables for outgoing foreign key relationships (to-one relationships)
*
@@ -1758,6 +1784,11 @@ public class Generate implements Serializable, XMLAppendable
return this;
}
+ public Generate withSequenceFlags(Boolean value) {
+ setSequenceFlags(value);
+ return this;
+ }
+
public Generate withImplicitJoinPathsToOne(Boolean value) {
setImplicitJoinPathsToOne(value);
return this;
@@ -2107,6 +2138,7 @@ public class Generate implements Serializable, XMLAppendable
public final void appendTo(XMLBuilder builder) {
builder.append("indexes", indexes);
builder.append("relations", relations);
+ builder.append("sequenceFlags", sequenceFlags);
builder.append("implicitJoinPathsToOne", implicitJoinPathsToOne);
builder.append("deprecated", deprecated);
builder.append("deprecationOnUnknownTypes", deprecationOnUnknownTypes);
@@ -2210,6 +2242,15 @@ public class Generate implements Serializable, XMLAppendable
return false;
}
}
+ if (sequenceFlags == null) {
+ if (other.sequenceFlags!= null) {
+ return false;
+ }
+ } else {
+ if (!sequenceFlags.equals(other.sequenceFlags)) {
+ return false;
+ }
+ }
if (implicitJoinPathsToOne == null) {
if (other.implicitJoinPathsToOne!= null) {
return false;
@@ -2795,6 +2836,7 @@ public class Generate implements Serializable, XMLAppendable
int result = 1;
result = ((prime*result)+((indexes == null)? 0 :indexes.hashCode()));
result = ((prime*result)+((relations == null)? 0 :relations.hashCode()));
+ result = ((prime*result)+((sequenceFlags == null)? 0 :sequenceFlags.hashCode()));
result = ((prime*result)+((implicitJoinPathsToOne == null)? 0 :implicitJoinPathsToOne.hashCode()));
result = ((prime*result)+((deprecated == null)? 0 :deprecated.hashCode()));
result = ((prime*result)+((deprecationOnUnknownTypes == null)? 0 :deprecationOnUnknownTypes.hashCode()));
diff --git a/jOOQ-meta/src/main/resources/xsd/jooq-codegen-3.13.0.xsd b/jOOQ-meta/src/main/resources/xsd/jooq-codegen-3.13.0.xsd
index 5ca8e966c0..aa8a4ed30e 100644
--- a/jOOQ-meta/src/main/resources/xsd/jooq-codegen-3.13.0.xsd
+++ b/jOOQ-meta/src/main/resources/xsd/jooq-codegen-3.13.0.xsd
@@ -1096,6 +1096,10 @@ type. If provided, both "includeExpression" and "includeTypes" must match.]]>
+
+
+
+