[jOOQ/jOOQ#9015] Add support for unqualifiedSchema in JPADatabase to

prevent generating the H2 PUBLIC schema
This commit is contained in:
Knut Wannheden 2019-08-20 09:41:24 +02:00
parent 0e63ae8064
commit 8ec0f771a7

View File

@ -103,6 +103,7 @@ public class JPADatabase extends H2Database {
static final JooqLogger log = JooqLogger.getLogger(JPADatabase.class);
private Connection connection;
private boolean publicIsDefault;
@Override
public void close() {
@ -126,6 +127,8 @@ public class JPADatabase extends H2Database {
getProperties().getProperty("use-attribute-converters", "true")
)
);
String unqualifiedSchema = getProperties().getProperty("unqualifiedSchema", "none").toLowerCase();
publicIsDefault = "none".equals(unqualifiedSchema);
try {
Properties info = new Properties();
@ -267,4 +270,25 @@ public class JPADatabase extends H2Database {
return result;
}
@Override
@Deprecated
public String getOutputSchema(String inputSchema) {
String outputSchema = super.getOutputSchema(inputSchema);
if (publicIsDefault && "PUBLIC".equals(outputSchema))
return "";
return outputSchema;
}
@Override
public String getOutputSchema(String inputCatalog, String inputSchema) {
String outputSchema = super.getOutputSchema(inputCatalog, inputSchema);
if (publicIsDefault && "PUBLIC".equals(outputSchema))
return "";
return outputSchema;
}
}