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.]]>
+
+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.]]>
TAN(x), and other transformations.
+SINH(x), and other transformations.