[jOOQ/jOOQ#13593] Implement Settings.transformPatternsCaseElseCase
This commit is contained in:
parent
46539cf445
commit
bc88751f33
@ -233,7 +233,7 @@ extends
|
||||
* Subject to change in future jOOQ versions, use at your own risk.
|
||||
*/
|
||||
@Experimental
|
||||
UnmodifiableList<? extends SelectFieldOrAsterisk> $distinctOn();
|
||||
@NotNull UnmodifiableList<? extends SelectFieldOrAsterisk> $distinctOn();
|
||||
|
||||
/**
|
||||
* Experimental query object model accessor method, see also {@link QOM}.
|
||||
|
||||
@ -177,6 +177,8 @@ public class Settings
|
||||
@XmlElement(defaultValue = "true")
|
||||
protected Boolean transformPatternsCaseElseNull = true;
|
||||
@XmlElement(defaultValue = "true")
|
||||
protected Boolean transformPatternsCaseElseCase = true;
|
||||
@XmlElement(defaultValue = "true")
|
||||
protected Boolean transformPatternsTrivialCaseAbbreviation = true;
|
||||
@XmlElement(defaultValue = "true")
|
||||
protected Boolean transformPatternsTrivialPredicates = true;
|
||||
@ -2139,6 +2141,34 @@ public class Settings
|
||||
this.transformPatternsCaseElseNull = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Transform <code>CASE … ELSE CASE …</code> by flattening the nested <code>CASE</code>.
|
||||
* <p>
|
||||
* <code>CASE WHEN a THEN b ELSE CASE WHEN c THEN d END END</code> is equivalent to <code>CASE WHEN a THEN b WHEN c THEN d END</code>.
|
||||
* <p>
|
||||
* This feature is available in the commercial distribution only.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link Boolean }
|
||||
*
|
||||
*/
|
||||
public Boolean isTransformPatternsCaseElseCase() {
|
||||
return transformPatternsCaseElseCase;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the value of the transformPatternsCaseElseCase property.
|
||||
*
|
||||
* @param value
|
||||
* allowed object is
|
||||
* {@link Boolean }
|
||||
*
|
||||
*/
|
||||
public void setTransformPatternsCaseElseCase(Boolean value) {
|
||||
this.transformPatternsCaseElseCase = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Transform trivial case abbreviations like <code>NVL(NULL, a)</code> to <code>a</code>.
|
||||
* <p>
|
||||
@ -5161,6 +5191,11 @@ public class Settings
|
||||
return this;
|
||||
}
|
||||
|
||||
public Settings withTransformPatternsCaseElseCase(Boolean value) {
|
||||
setTransformPatternsCaseElseCase(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public Settings withTransformPatternsTrivialCaseAbbreviation(Boolean value) {
|
||||
setTransformPatternsTrivialCaseAbbreviation(value);
|
||||
return this;
|
||||
@ -6140,6 +6175,7 @@ public class Settings
|
||||
builder.append("transformPatternsMergeRangePredicates", transformPatternsMergeRangePredicates);
|
||||
builder.append("transformPatternsMergeBetweenSymmetricPredicates", transformPatternsMergeBetweenSymmetricPredicates);
|
||||
builder.append("transformPatternsCaseElseNull", transformPatternsCaseElseNull);
|
||||
builder.append("transformPatternsCaseElseCase", transformPatternsCaseElseCase);
|
||||
builder.append("transformPatternsTrivialCaseAbbreviation", transformPatternsTrivialCaseAbbreviation);
|
||||
builder.append("transformPatternsTrivialPredicates", transformPatternsTrivialPredicates);
|
||||
builder.append("transformPatternsScalarSubqueryCountAsteriskGtZero", transformPatternsScalarSubqueryCountAsteriskGtZero);
|
||||
@ -6844,6 +6880,15 @@ public class Settings
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (transformPatternsCaseElseCase == null) {
|
||||
if (other.transformPatternsCaseElseCase!= null) {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
if (!transformPatternsCaseElseCase.equals(other.transformPatternsCaseElseCase)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (transformPatternsTrivialCaseAbbreviation == null) {
|
||||
if (other.transformPatternsTrivialCaseAbbreviation!= null) {
|
||||
return false;
|
||||
@ -7958,6 +8003,7 @@ public class Settings
|
||||
result = ((prime*result)+((transformPatternsMergeRangePredicates == null)? 0 :transformPatternsMergeRangePredicates.hashCode()));
|
||||
result = ((prime*result)+((transformPatternsMergeBetweenSymmetricPredicates == null)? 0 :transformPatternsMergeBetweenSymmetricPredicates.hashCode()));
|
||||
result = ((prime*result)+((transformPatternsCaseElseNull == null)? 0 :transformPatternsCaseElseNull.hashCode()));
|
||||
result = ((prime*result)+((transformPatternsCaseElseCase == null)? 0 :transformPatternsCaseElseCase.hashCode()));
|
||||
result = ((prime*result)+((transformPatternsTrivialCaseAbbreviation == null)? 0 :transformPatternsTrivialCaseAbbreviation.hashCode()));
|
||||
result = ((prime*result)+((transformPatternsTrivialPredicates == null)? 0 :transformPatternsTrivialPredicates.hashCode()));
|
||||
result = ((prime*result)+((transformPatternsScalarSubqueryCountAsteriskGtZero == null)? 0 :transformPatternsScalarSubqueryCountAsteriskGtZero.hashCode()));
|
||||
|
||||
@ -1722,6 +1722,13 @@ package org.jooq.impl;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -251,7 +251,13 @@ public final class QOM {
|
||||
java.util.List<Q>
|
||||
permits
|
||||
QueryPartListView
|
||||
{}
|
||||
{
|
||||
@NotNull default UnmodifiableList<Q> $concat(UnmodifiableList<Q> other) {
|
||||
QueryPartList<Q> r = new QueryPartList<>(this);
|
||||
r.addAll(other);
|
||||
return r;
|
||||
}
|
||||
}
|
||||
|
||||
public /*sealed*/ interface With
|
||||
extends
|
||||
|
||||
@ -560,6 +560,14 @@ This feature is available in the commercial distribution only.]]></jxb:javadoc><
|
||||
This feature is available in the commercial distribution only.]]></jxb:javadoc></jxb:property></appinfo></annotation>
|
||||
</element>
|
||||
|
||||
<element name="transformPatternsCaseElseCase" type="boolean" minOccurs="0" maxOccurs="1" default="true">
|
||||
<annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[Transform <code>CASE .. ELSE CASE ..</code> by flattening the nested <code>CASE</code>.
|
||||
<p>
|
||||
<code>CASE WHEN a THEN b ELSE CASE WHEN c THEN d END END</code> is equivalent to <code>CASE WHEN a THEN b WHEN c THEN d END</code>.
|
||||
<p>
|
||||
This feature is available in the commercial distribution only.]]></jxb:javadoc></jxb:property></appinfo></annotation>
|
||||
</element>
|
||||
|
||||
<element name="transformPatternsTrivialCaseAbbreviation" type="boolean" minOccurs="0" maxOccurs="1" default="true">
|
||||
<annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[Transform trivial case abbreviations like <code>NVL(NULL, a)</code> to <code>a</code>.
|
||||
<p>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user