diff --git a/jOOQ/src/main/java/org/jooq/conf/Settings.java b/jOOQ/src/main/java/org/jooq/conf/Settings.java index 809d926b92..b30fba1c53 100644 --- a/jOOQ/src/main/java/org/jooq/conf/Settings.java +++ b/jOOQ/src/main/java/org/jooq/conf/Settings.java @@ -159,6 +159,8 @@ public class Settings @XmlElement(defaultValue = "true") protected Boolean transformPatternsArithmeticExpressions = true; @XmlElement(defaultValue = "true") + protected Boolean transformPatternsTrigonometricFunctions = true; + @XmlElement(defaultValue = "true") protected Boolean transformPatternsHyperbolicFunctions = true; @XmlElement(defaultValue = "true") protected Boolean transformPatternsInverseHyperbolicFunctions = true; @@ -1843,6 +1845,36 @@ public class Settings this.transformPatternsArithmeticExpressions = value; } + /** + * Transform SIN(x) / COS(x) to TAN(x), and other transformations. + *

+ * This transformation turns expanded trignonometric function definitions into their shorter equivalents. + *

+ * To enable this feature, {@link #transformPatterns} must be enabled as well. + *

+ * This feature is available in the commercial distribution only. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isTransformPatternsTrigonometricFunctions() { + return transformPatternsTrigonometricFunctions; + } + + /** + * Sets the value of the transformPatternsTrigonometricFunctions property. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setTransformPatternsTrigonometricFunctions(Boolean value) { + this.transformPatternsTrigonometricFunctions = value; + } + /** * Transform (EXP(x) - EXP(-x)) / 2 to SINH(x), and other transformations. *

@@ -4282,6 +4314,11 @@ public class Settings return this; } + public Settings withTransformPatternsTrigonometricFunctions(Boolean value) { + setTransformPatternsTrigonometricFunctions(value); + return this; + } + public Settings withTransformPatternsHyperbolicFunctions(Boolean value) { setTransformPatternsHyperbolicFunctions(value); return this; @@ -5143,6 +5180,7 @@ public class Settings builder.append("transformPatternsBitNotBitNot", transformPatternsBitNotBitNot); builder.append("transformPatternsIdempotentFunctionRepetition", transformPatternsIdempotentFunctionRepetition); builder.append("transformPatternsArithmeticExpressions", transformPatternsArithmeticExpressions); + builder.append("transformPatternsTrigonometricFunctions", transformPatternsTrigonometricFunctions); builder.append("transformPatternsHyperbolicFunctions", transformPatternsHyperbolicFunctions); builder.append("transformPatternsInverseHyperbolicFunctions", transformPatternsInverseHyperbolicFunctions); builder.append("transformAnsiJoinToTableLists", transformAnsiJoinToTableLists); @@ -5748,6 +5786,15 @@ public class Settings return false; } } + if (transformPatternsTrigonometricFunctions == null) { + if (other.transformPatternsTrigonometricFunctions!= null) { + return false; + } + } else { + if (!transformPatternsTrigonometricFunctions.equals(other.transformPatternsTrigonometricFunctions)) { + return false; + } + } if (transformPatternsHyperbolicFunctions == null) { if (other.transformPatternsHyperbolicFunctions!= null) { return false; @@ -6691,6 +6738,7 @@ public class Settings result = ((prime*result)+((transformPatternsBitNotBitNot == null)? 0 :transformPatternsBitNotBitNot.hashCode())); result = ((prime*result)+((transformPatternsIdempotentFunctionRepetition == null)? 0 :transformPatternsIdempotentFunctionRepetition.hashCode())); result = ((prime*result)+((transformPatternsArithmeticExpressions == null)? 0 :transformPatternsArithmeticExpressions.hashCode())); + result = ((prime*result)+((transformPatternsTrigonometricFunctions == null)? 0 :transformPatternsTrigonometricFunctions.hashCode())); result = ((prime*result)+((transformPatternsHyperbolicFunctions == null)? 0 :transformPatternsHyperbolicFunctions.hashCode())); result = ((prime*result)+((transformPatternsInverseHyperbolicFunctions == null)? 0 :transformPatternsInverseHyperbolicFunctions.hashCode())); result = ((prime*result)+((transformAnsiJoinToTableLists == null)? 0 :transformAnsiJoinToTableLists.hashCode())); diff --git a/jOOQ/src/main/java/org/jooq/impl/Patterns.java b/jOOQ/src/main/java/org/jooq/impl/Patterns.java index 4c4dae8f3a..0b4bd83f69 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Patterns.java +++ b/jOOQ/src/main/java/org/jooq/impl/Patterns.java @@ -1304,6 +1304,45 @@ package org.jooq.impl; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jOOQ/src/main/resources/org/jooq/xsd/jooq-runtime-3.17.0.xsd b/jOOQ/src/main/resources/org/jooq/xsd/jooq-runtime-3.17.0.xsd index 468f099d04..bbc8e4dfa8 100644 --- a/jOOQ/src/main/resources/org/jooq/xsd/jooq-runtime-3.17.0.xsd +++ b/jOOQ/src/main/resources/org/jooq/xsd/jooq-runtime-3.17.0.xsd @@ -500,6 +500,16 @@ To enable this feature, {@link #transformPatterns} must be enabled as well. This feature is available in the commercial distribution only.]]> + + SIN(x) / COS(x) to TAN(x), and other transformations. +

+This transformation turns expanded trignonometric function definitions into their shorter equivalents. +

+To enable this feature, {@link #transformPatterns} must be enabled as well. +

+This feature is available in the commercial distribution only.]]> + + (EXP(x) - EXP(-x)) / 2 to SINH(x), and other transformations.