[#1418] Support case-insensitive schema names in code generation

This commit is contained in:
Lukas Eder 2012-05-25 14:19:33 +02:00
parent 61a796c9a6
commit 7e32e33e86
3 changed files with 18 additions and 10 deletions

View File

@ -55,6 +55,7 @@ import org.jooq.util.jaxb.EnumType;
import org.jooq.util.jaxb.ForcedType;
import org.jooq.util.jaxb.MasterDataTable;
import org.jooq.util.jaxb.Schema;
import org.jooq.util.oracle.OracleDatabase;
/**
* A base implementation for all types of databases.
@ -166,7 +167,14 @@ public abstract class AbstractDatabase implements Database {
}
else {
for (Schema schema : configuredSchemata) {
inputSchemata.add(schema.getInputSchema());
// [#1418] Oracle has case-insensitive schema names.
if (this instanceof OracleDatabase) {
inputSchemata.add(schema.getInputSchema().toUpperCase());
}
else {
inputSchemata.add(schema.getInputSchema());
}
}
}
}

View File

@ -123,7 +123,7 @@ public class OracleDatabase extends AbstractDatabase {
.and(ALL_CONS_COLUMNS.CONSTRAINT_NAME.equal(ALL_CONSTRAINTS.CONSTRAINT_NAME)))
.where(ALL_CONSTRAINTS.CONSTRAINT_TYPE.equal(constraintType)
.and(ALL_CONSTRAINTS.CONSTRAINT_NAME.notLike("BIN$%"))
.and(ALL_CONS_COLUMNS.OWNER.in(getInputSchemata())))
.and(ALL_CONS_COLUMNS.OWNER.upper().in(getInputSchemata())))
.orderBy(
ALL_CONS_COLUMNS.OWNER,
ALL_CONS_COLUMNS.CONSTRAINT_NAME,
@ -149,7 +149,7 @@ public class OracleDatabase extends AbstractDatabase {
.and(ALL_CONSTRAINTS.TABLE_NAME.equal(ALL_CONS_COLUMNS.TABLE_NAME))
.and(ALL_CONSTRAINTS.CONSTRAINT_NAME.equal(ALL_CONS_COLUMNS.CONSTRAINT_NAME)))
.where(ALL_CONSTRAINTS.CONSTRAINT_TYPE.equal("R"))
.and(ALL_CONSTRAINTS.OWNER.in(getInputSchemata()))
.and(ALL_CONSTRAINTS.OWNER.upper().in(getInputSchemata()))
.orderBy(
ALL_CONS_COLUMNS.OWNER,
ALL_CONS_COLUMNS.TABLE_NAME,
@ -200,7 +200,7 @@ public class OracleDatabase extends AbstractDatabase {
ALL_SEQUENCES.SEQUENCE_NAME,
ALL_SEQUENCES.MAX_VALUE)
.from(ALL_SEQUENCES)
.where(ALL_SEQUENCES.SEQUENCE_OWNER.in(getInputSchemata()))
.where(ALL_SEQUENCES.SEQUENCE_OWNER.upper().in(getInputSchemata()))
.orderBy(
ALL_SEQUENCES.SEQUENCE_OWNER,
ALL_SEQUENCES.SEQUENCE_NAME)
@ -232,7 +232,7 @@ public class OracleDatabase extends AbstractDatabase {
ALL_TAB_COMMENTS.TABLE_NAME,
ALL_TAB_COMMENTS.COMMENTS)
.from(ALL_TAB_COMMENTS)
.where(ALL_TAB_COMMENTS.OWNER.in(getInputSchemata()))
.where(ALL_TAB_COMMENTS.OWNER.upper().in(getInputSchemata()))
.and(ALL_TAB_COMMENTS.TABLE_NAME.notLike("%$%"))
.orderBy(
ALL_TAB_COMMENTS.OWNER,
@ -270,7 +270,7 @@ public class OracleDatabase extends AbstractDatabase {
ALL_TYPES.OWNER,
ALL_TYPES.TYPE_NAME)
.from(ALL_TYPES)
.where(ALL_TYPES.OWNER.in(getInputSchemata()))
.where(ALL_TYPES.OWNER.upper().in(getInputSchemata()))
.and(ALL_TYPES.TYPECODE.equal("OBJECT"))
.orderBy(
ALL_TYPES.OWNER,
@ -301,7 +301,7 @@ public class OracleDatabase extends AbstractDatabase {
ALL_COLL_TYPES.PRECISION,
ALL_COLL_TYPES.SCALE)
.from(ALL_COLL_TYPES)
.where(ALL_COLL_TYPES.OWNER.in(getInputSchemata()))
.where(ALL_COLL_TYPES.OWNER.upper().in(getInputSchemata()))
.and(ALL_COLL_TYPES.COLL_TYPE.in("VARYING ARRAY", "TABLE"))
.orderBy(
ALL_COLL_TYPES.OWNER,
@ -335,7 +335,7 @@ public class OracleDatabase extends AbstractDatabase {
ALL_OBJECTS.OBJECT_NAME,
ALL_OBJECTS.OBJECT_ID)
.from(ALL_OBJECTS)
.where(ALL_OBJECTS.OWNER.in(getInputSchemata())
.where(ALL_OBJECTS.OWNER.upper().in(getInputSchemata())
.and(ALL_OBJECTS.OBJECT_TYPE.in("FUNCTION", "PROCEDURE")))
.orderBy(
ALL_OBJECTS.OWNER,
@ -365,7 +365,7 @@ public class OracleDatabase extends AbstractDatabase {
ALL_OBJECTS.OBJECT_NAME,
ALL_OBJECTS.OBJECT_ID)
.from(ALL_OBJECTS)
.where(ALL_OBJECTS.OWNER.in(getInputSchemata())
.where(ALL_OBJECTS.OWNER.upper().in(getInputSchemata())
.and(ALL_OBJECTS.OBJECT_TYPE.equal("PACKAGE")))
.orderBy(
ALL_OBJECTS.OWNER,

View File

@ -16,7 +16,7 @@
<unsignedTypes>true</unsignedTypes>
<schemata>
<schema>
<inputSchema>TEST</inputSchema>
<inputSchema>test</inputSchema>
</schema>
<schema>
<inputSchema>MULTI_SCHEMA</inputSchema>