diff --git a/jOOQ-codegen/src/main/java/org/jooq/util/GeneratorStrategyWrapper.java b/jOOQ-codegen/src/main/java/org/jooq/util/GeneratorStrategyWrapper.java
index 8ceea00f42..c3318d0528 100644
--- a/jOOQ-codegen/src/main/java/org/jooq/util/GeneratorStrategyWrapper.java
+++ b/jOOQ-codegen/src/main/java/org/jooq/util/GeneratorStrategyWrapper.java
@@ -111,6 +111,11 @@ class GeneratorStrategyWrapper extends AbstractGeneratorStrategy {
return "IDENTITY_" + getJavaIdentifier(((IdentityDefinition) definition).getColumn().getContainer());
}
+ // [#2089] Intercept default schema
+ if (definition instanceof SchemaDefinition && ((SchemaDefinition) definition).isDefaultSchema()) {
+ return "DEFAULT_SCHEMA";
+ }
+
String identifier = convertToJavaIdentifier(delegate.getJavaIdentifier(definition));
// [#1212] Don't trust custom strategies and disambiguate identifiers here
@@ -273,6 +278,11 @@ class GeneratorStrategyWrapper extends AbstractGeneratorStrategy {
return Record.class.getSimpleName();
}
+ // [#2089] Intercept default schema
+ if (definition instanceof SchemaDefinition && ((SchemaDefinition) definition).isDefaultSchema()) {
+ return "DefaultSchema";
+ }
+
String className;
className = delegate.getJavaClassName(definition, mode);
diff --git a/jOOQ-codegen/src/main/java/org/jooq/util/JavaGenerator.java b/jOOQ-codegen/src/main/java/org/jooq/util/JavaGenerator.java
index 721ba18a57..e99d45d9d5 100644
--- a/jOOQ-codegen/src/main/java/org/jooq/util/JavaGenerator.java
+++ b/jOOQ-codegen/src/main/java/org/jooq/util/JavaGenerator.java
@@ -179,9 +179,7 @@ public class JavaGenerator extends AbstractGenerator {
}
private final void generate(SchemaDefinition schema) {
- if (!schema.isDefaultSchema()) {
- generateSchema(schema);
- }
+ generateSchema(schema);
if (database.getSequences(schema).size() > 0) {
generateSequences(schema);
@@ -742,7 +740,7 @@ public class JavaGenerator extends AbstractGenerator {
out.tab(1).javadoc(NO_FURTHER_INSTANCES_ALLOWED);
out.tab(1).println("private %s() {", className);
- out.tab(2).println("super(\"%s\"[[before=, ][%s]]);", udt.getOutputName(), list(schemaId));
+ out.tab(2).println("super(\"%s\", %s);", udt.getOutputName(), schemaId);
out.println();
out.tab(2).println("// Initialise data type");
@@ -1411,8 +1409,7 @@ public class JavaGenerator extends AbstractGenerator {
out.tab(1).println("private %s() {", className);
}
- out.tab(2).println("super(\"%s\"[[before=, ][%s]]);", table.getOutputName(),
- list(schema.isDefaultSchema() ? null : getStrategy().getFullJavaIdentifier(schema)));
+ out.tab(2).println("super(\"%s\", %s);", table.getOutputName(), getStrategy().getFullJavaIdentifier(schema));
out.tab(1).println("}");
// [#117] With instance fields, it makes sense to create a
@@ -1420,10 +1417,7 @@ public class JavaGenerator extends AbstractGenerator {
// [#1255] With instance fields, the table constructor may
// be public, as tables are no longer singletons
if (generateInstanceFields()) {
-
- // [#1730] Prevent compilation errors
- // [#1801] Cast to org.jooq.Schema to prevent ambiguities
- final String schemaId = schema.isDefaultSchema() ? "(org.jooq.Schema) null" : getStrategy().getFullJavaIdentifier(schema);
+ final String schemaId = getStrategy().getFullJavaIdentifier(schema);
out.tab(1).javadoc("Create an aliased %s table reference", table.getQualifiedOutputName());
out.tab(1).println("public %s(%s alias) {", className, String.class);
@@ -1546,7 +1540,7 @@ public class JavaGenerator extends AbstractGenerator {
final String seqType = getJavaType(sequence.getType());
final String seqId = getStrategy().getJavaIdentifier(sequence);
final String seqName = sequence.getOutputName();
- final String schemaId = !schema.isDefaultSchema() ? getStrategy().getFullJavaIdentifier(schema) : "null";
+ final String schemaId = getStrategy().getFullJavaIdentifier(schema);
final String typeRef = getJavaTypeReference(sequence.getDatabase(), sequence.getType());
out.tab(1).javadoc("The sequence %s", sequence.getQualifiedOutputName());