[#968] Allow for custom enum types, configured in the code generator - fixed Postgres casting of synthetic EnumTypes

This commit is contained in:
Lukas Eder 2011-12-23 12:04:46 +00:00
parent e72ca3ce62
commit 08b7d6ecf5
100 changed files with 145 additions and 104 deletions

View File

@ -1275,7 +1275,14 @@ public class DefaultGenerator implements Generator {
out.println();
out.println("\t@Override");
out.println("\tpublic java.lang.String getName() {");
out.println("\t\treturn \"" + e.getName() + "\";");
if (e.isSynthetic()) {
out.println("\t\treturn null;");
}
else {
out.println("\t\treturn \"" + e.getName() + "\";");
}
out.println("\t}");
out.println();
out.println("\t@Override");

View File

@ -275,7 +275,7 @@ public abstract class AbstractDatabase implements Database {
for (String property : properties.stringPropertyNames()) {
if (property.startsWith("generator.database.enum-type.")) {
String name = property.replace("generator.database.enum-type.", "");
DefaultEnumDefinition e = new DefaultEnumDefinition(this, name, null);
DefaultEnumDefinition e = new DefaultEnumDefinition(this, name, null, true);
String literals = properties.getProperty(property);

View File

@ -42,11 +42,17 @@ import java.util.List;
public class DefaultEnumDefinition extends AbstractDefinition implements EnumDefinition {
private final List<String> literals;
private final boolean isSynthetic;
public DefaultEnumDefinition(Database database, String name, String comment) {
this(database, name, comment, false);
}
public DefaultEnumDefinition(Database database, String name, String comment, boolean isSynthetic) {
super(database, name, comment);
literals = new ArrayList<String>();
this.literals = new ArrayList<String>();
this.isSynthetic = isSynthetic;
}
public void addLiteral(String literal) {
@ -61,4 +67,9 @@ public class DefaultEnumDefinition extends AbstractDefinition implements EnumDef
public List<String> getLiterals() {
return literals;
}
@Override
public boolean isSynthetic() {
return isSynthetic;
}
}

View File

@ -48,4 +48,10 @@ public interface EnumDefinition extends Definition {
* @return The literals defined in this enum
*/
List<String> getLiterals();
/**
* @return Whether this enum type is "synthetic", i.e. not defined in the
* database, but in code generation configurations.
*/
boolean isSynthetic();
}

View File

@ -23,7 +23,7 @@ public enum BooleanTrueFalseLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_TRUE_FALSE_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanTrueFalseUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_TRUE_FALSE_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYesNoLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YES_NO_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYesNoUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YES_NO_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYnLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YN_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYnUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YN_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum Boolean_10 implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_10";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanTrueFalseLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_TRUE_FALSE_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanTrueFalseUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_TRUE_FALSE_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYesNoLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YES_NO_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYesNoUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YES_NO_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYnLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YN_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYnUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YN_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum Boolean_10 implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_10";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanTrueFalseLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_TRUE_FALSE_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanTrueFalseUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_TRUE_FALSE_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYesNoLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YES_NO_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYesNoUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YES_NO_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYnLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YN_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYnUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YN_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum Boolean_10 implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_10";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanTrueFalseLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_TRUE_FALSE_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanTrueFalseUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_TRUE_FALSE_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYesNoLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YES_NO_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYesNoUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YES_NO_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYnLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YN_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYnUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YN_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum Boolean_10 implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_10";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanTrueFalseLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_TRUE_FALSE_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanTrueFalseUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_TRUE_FALSE_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYesNoLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YES_NO_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYesNoUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YES_NO_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYnLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YN_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYnUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YN_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum Boolean_10 implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_10";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanTrueFalseLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_TRUE_FALSE_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanTrueFalseUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_TRUE_FALSE_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYesNoLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YES_NO_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYesNoUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YES_NO_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYnLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YN_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYnUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YN_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum Boolean_10 implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_10";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanTrueFalseLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_TRUE_FALSE_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanTrueFalseUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_TRUE_FALSE_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYesNoLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YES_NO_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYesNoUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YES_NO_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYnLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YN_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYnUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YN_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum Boolean_10 implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_10";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanTrueFalseLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_TRUE_FALSE_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanTrueFalseUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_TRUE_FALSE_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYesNoLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YES_NO_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYesNoUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YES_NO_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYnLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YN_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYnUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YN_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum Boolean_10 implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_10";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanTrueFalseLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_TRUE_FALSE_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanTrueFalseUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_TRUE_FALSE_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYesNoLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YES_NO_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYesNoUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YES_NO_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYnLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YN_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYnUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YN_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum Boolean_10 implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_10";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanTrueFalseLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_TRUE_FALSE_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanTrueFalseUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_TRUE_FALSE_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYesNoLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YES_NO_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYesNoUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YES_NO_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYnLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YN_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYnUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YN_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum Boolean_10 implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_10";
return null;
}
@Override

View File

@ -10,7 +10,7 @@ package org.jooq.test.postgres.generatedclasses.tables.records;
comments = "This class is generated by jOOQ")
public class TAuthorRecord extends org.jooq.impl.UpdatableRecordImpl<org.jooq.test.postgres.generatedclasses.tables.records.TAuthorRecord> {
private static final long serialVersionUID = -1841669987;
private static final long serialVersionUID = -240388905;
/**
* An uncommented item
@ -35,10 +35,10 @@ public class TAuthorRecord extends org.jooq.impl.UpdatableRecordImpl<org.jooq.te
*
* PRIMARY KEY
*/
public java.util.List<org.jooq.test.postgres.generatedclasses.tables.records.TBookRecord> fetchTBookListByCoAuthorId() {
public java.util.List<org.jooq.test.postgres.generatedclasses.tables.records.TBookRecord> fetchTBookListByAuthorId() {
return create()
.selectFrom(org.jooq.test.postgres.generatedclasses.tables.TBook.T_BOOK)
.where(org.jooq.test.postgres.generatedclasses.tables.TBook.T_BOOK.CO_AUTHOR_ID.equal(getValue(org.jooq.test.postgres.generatedclasses.tables.TAuthor.T_AUTHOR.ID)))
.where(org.jooq.test.postgres.generatedclasses.tables.TBook.T_BOOK.AUTHOR_ID.equal(getValue(org.jooq.test.postgres.generatedclasses.tables.TAuthor.T_AUTHOR.ID)))
.fetch();
}
@ -47,10 +47,10 @@ public class TAuthorRecord extends org.jooq.impl.UpdatableRecordImpl<org.jooq.te
*
* PRIMARY KEY
*/
public java.util.List<org.jooq.test.postgres.generatedclasses.tables.records.TBookRecord> fetchTBookListByAuthorId() {
public java.util.List<org.jooq.test.postgres.generatedclasses.tables.records.TBookRecord> fetchTBookListByCoAuthorId() {
return create()
.selectFrom(org.jooq.test.postgres.generatedclasses.tables.TBook.T_BOOK)
.where(org.jooq.test.postgres.generatedclasses.tables.TBook.T_BOOK.AUTHOR_ID.equal(getValue(org.jooq.test.postgres.generatedclasses.tables.TAuthor.T_AUTHOR.ID)))
.where(org.jooq.test.postgres.generatedclasses.tables.TBook.T_BOOK.CO_AUTHOR_ID.equal(getValue(org.jooq.test.postgres.generatedclasses.tables.TAuthor.T_AUTHOR.ID)))
.fetch();
}

View File

@ -14,6 +14,7 @@ package org.jooq.test.sqlite.generatedclasses;
public class Keys extends org.jooq.impl.AbstractKeys {
// IDENTITY definitions
public static final org.jooq.Identity<org.jooq.test.sqlite.generatedclasses.tables.records.TTriggersRecord, java.lang.Integer> IDENTITY_t_triggers = createIdentity(org.jooq.test.sqlite.generatedclasses.tables.TTriggers.T_TRIGGERS, org.jooq.test.sqlite.generatedclasses.tables.TTriggers.ID_GENERATED);
// UNIQUE and PRIMARY KEY definitions
public static final org.jooq.UniqueKey<org.jooq.test.sqlite.generatedclasses.tables.records.T_639NumbersTableRecord> pk_t_639_numbers_table_ID = createUniqueKey(org.jooq.test.sqlite.generatedclasses.tables.T_639NumbersTable.T_639_NUMBERS_TABLE, org.jooq.test.sqlite.generatedclasses.tables.T_639NumbersTable.ID);

View File

@ -23,7 +23,7 @@ public enum BooleanTrueFalseLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_TRUE_FALSE_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanTrueFalseUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_TRUE_FALSE_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYesNoLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YES_NO_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYesNoUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YES_NO_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYnLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YN_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYnUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YN_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum Boolean_10 implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_10";
return null;
}
@Override

View File

@ -10,7 +10,7 @@ package org.jooq.test.sqlite.generatedclasses.tables;
comments = "This class is generated by jOOQ")
public class TTriggers extends org.jooq.impl.UpdatableTableImpl<org.jooq.test.sqlite.generatedclasses.tables.records.TTriggersRecord> {
private static final long serialVersionUID = 2031756274;
private static final long serialVersionUID = 1709423919;
/**
* The singleton instance of t_triggers
@ -54,6 +54,11 @@ public class TTriggers extends org.jooq.impl.UpdatableTableImpl<org.jooq.test.sq
super("t_triggers");
}
@Override
public org.jooq.Identity<org.jooq.test.sqlite.generatedclasses.tables.records.TTriggersRecord, java.lang.Integer> getIdentity() {
return org.jooq.test.sqlite.generatedclasses.Keys.IDENTITY_t_triggers;
}
@Override
public org.jooq.UniqueKey<org.jooq.test.sqlite.generatedclasses.tables.records.TTriggersRecord> getMainKey() {
return org.jooq.test.sqlite.generatedclasses.Keys.pk_t_triggers_id_generated;

View File

@ -23,7 +23,7 @@ public enum BooleanTrueFalseLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_TRUE_FALSE_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanTrueFalseUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_TRUE_FALSE_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYesNoLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YES_NO_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYesNoUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YES_NO_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYnLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YN_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYnUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YN_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum Boolean_10 implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_10";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanTrueFalseLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_TRUE_FALSE_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanTrueFalseUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_TRUE_FALSE_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYesNoLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YES_NO_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYesNoUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YES_NO_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYnLc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YN_LC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum BooleanYnUc implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_YN_UC";
return null;
}
@Override

View File

@ -23,7 +23,7 @@ public enum Boolean_10 implements org.jooq.EnumType {
@Override
public java.lang.String getName() {
return "BOOLEAN_10";
return null;
}
@Override

View File

@ -36,7 +36,13 @@
package org.jooq;
/**
* A SQL enum type
* A SQL enum type. This can be any of the following:
* <ul>
* <li>In {@link SQLDialect#MYSQL}, this can be a column-scope enum type</li>
* <li>In {@link SQLDialect#POSTGRES}, this can be a schema-scope enum type</li>
* <li>In all other dialects, this can be an enum type as defined in the code
* generation configuration [#968]</li>
* </ul>
*
* @author Lukas Eder
*/
@ -48,7 +54,8 @@ public interface EnumType {
String getLiteral();
/**
* The type name as registered in the database, if applicable
* The type name as registered in the database, if applicable (Postgres
* schema-scope enum type only). Otherwise, this returns <code>null</code>
*/
String getName();
}

View File

@ -255,8 +255,12 @@ class Val<T> extends AbstractField<T> implements Param<T> {
// ... and also for enum types
else if (EnumType.class.isAssignableFrom(type)) {
context.sql(getBindVariable(context));
context.sql("::");
context.literal(((EnumType) val).getName());
// [#968] Don't cast "synthetic" enum types
if (!StringUtils.isBlank(((EnumType) val).getName())) {
context.sql("::");
context.literal(((EnumType) val).getName());
}
}
else {