diff --git a/jOOQ/src/main/java/org/jooq/conf/RenderKeywordStyle.java b/jOOQ/src/main/java/org/jooq/conf/RenderKeywordStyle.java index 523534c6d2..00bb1b461b 100644 --- a/jOOQ/src/main/java/org/jooq/conf/RenderKeywordStyle.java +++ b/jOOQ/src/main/java/org/jooq/conf/RenderKeywordStyle.java @@ -23,6 +23,7 @@ import javax.xml.bind.annotation.XmlType; * <enumeration value="AS_IS"/> * <enumeration value="LOWER"/> * <enumeration value="UPPER"/> + * <enumeration value="PASCAL"/> * </restriction> * </simpleType> * @@ -34,7 +35,8 @@ public enum RenderKeywordStyle { AS_IS, LOWER, - UPPER; + UPPER, + PASCAL; public String value() { return name(); diff --git a/jOOQ/src/main/java/org/jooq/impl/KeywordImpl.java b/jOOQ/src/main/java/org/jooq/impl/KeywordImpl.java index 8b50b682d4..26c76efc7b 100644 --- a/jOOQ/src/main/java/org/jooq/impl/KeywordImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/KeywordImpl.java @@ -57,11 +57,15 @@ public class KeywordImpl extends AbstractQueryPart implements Keyword { private final String asIs; private final String upper; private final String lower; + private final String pascal; KeywordImpl(String keyword) { this.asIs = keyword; this.upper = keyword.toUpperCase(); this.lower = keyword.toLowerCase(); + this.pascal = keyword.length() > 0 + ? keyword.substring(0, 1).toUpperCase() + keyword.substring(1, keyword.length()).toLowerCase() + : keyword; } @Override @@ -72,6 +76,8 @@ public class KeywordImpl extends AbstractQueryPart implements Keyword { ctx.sql(asIs, true); else if (RenderKeywordStyle.UPPER == style) ctx.sql(upper, true); + else if (RenderKeywordStyle.PASCAL == style) + ctx.sql(pascal, true); else ctx.sql(lower, true); } diff --git a/jOOQ/src/main/resources/xsd/jooq-runtime-3.11.0.xsd b/jOOQ/src/main/resources/xsd/jooq-runtime-3.11.0.xsd index 06b68a755c..99695624a4 100644 --- a/jOOQ/src/main/resources/xsd/jooq-runtime-3.11.0.xsd +++ b/jOOQ/src/main/resources/xsd/jooq-runtime-3.11.0.xsd @@ -377,6 +377,10 @@ Either <input/> or <inputExpression/> must be provided]]> + + +