[jOOQ/jOOQ#13593] transformPatternsUnnecessaryScalarSubquery
This commit is contained in:
parent
2e9e8960e6
commit
394bd54d9f
@ -149,6 +149,8 @@ public class Settings
|
||||
@XmlElement(defaultValue = "true")
|
||||
protected Boolean transformPatternsUnnecessaryDistinct = true;
|
||||
@XmlElement(defaultValue = "true")
|
||||
protected Boolean transformPatternsUnnecessaryScalarSubquery = true;
|
||||
@XmlElement(defaultValue = "true")
|
||||
protected Boolean transformPatternsUnnecessaryGroupByExpressions = true;
|
||||
@XmlElement(defaultValue = "true")
|
||||
protected Boolean transformPatternsUnnecessaryOrderByExpressions = true;
|
||||
@ -1760,6 +1762,37 @@ public class Settings
|
||||
this.transformPatternsUnnecessaryDistinct = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Transform <code>SELECT (SELECT 1)</code> to <code>SELECT 1</code>.
|
||||
* <p>
|
||||
* Scalar subqueries that don't have any content other than a <code>SELECT</code> clause are unnecessary
|
||||
* and can be removed.
|
||||
* <p>
|
||||
* To enable this feature, {@link #transformPatterns} must be enabled as well.
|
||||
* <p>
|
||||
* This feature is available in the commercial distribution only.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link Boolean }
|
||||
*
|
||||
*/
|
||||
public Boolean isTransformPatternsUnnecessaryScalarSubquery() {
|
||||
return transformPatternsUnnecessaryScalarSubquery;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the value of the transformPatternsUnnecessaryScalarSubquery property.
|
||||
*
|
||||
* @param value
|
||||
* allowed object is
|
||||
* {@link Boolean }
|
||||
*
|
||||
*/
|
||||
public void setTransformPatternsUnnecessaryScalarSubquery(Boolean value) {
|
||||
this.transformPatternsUnnecessaryScalarSubquery = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Transform <code>SELECT a, b FROM t GROUP BY a, a, b</code> to <code>SELECT a, b FROM t GROUP BY a, b</code>.
|
||||
* <p>
|
||||
@ -5758,6 +5791,11 @@ public class Settings
|
||||
return this;
|
||||
}
|
||||
|
||||
public Settings withTransformPatternsUnnecessaryScalarSubquery(Boolean value) {
|
||||
setTransformPatternsUnnecessaryScalarSubquery(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public Settings withTransformPatternsUnnecessaryGroupByExpressions(Boolean value) {
|
||||
setTransformPatternsUnnecessaryGroupByExpressions(value);
|
||||
return this;
|
||||
@ -6902,6 +6940,7 @@ public class Settings
|
||||
builder.append("transformPatterns", transformPatterns);
|
||||
builder.append("transformPatternsLogging", transformPatternsLogging);
|
||||
builder.append("transformPatternsUnnecessaryDistinct", transformPatternsUnnecessaryDistinct);
|
||||
builder.append("transformPatternsUnnecessaryScalarSubquery", transformPatternsUnnecessaryScalarSubquery);
|
||||
builder.append("transformPatternsUnnecessaryGroupByExpressions", transformPatternsUnnecessaryGroupByExpressions);
|
||||
builder.append("transformPatternsUnnecessaryOrderByExpressions", transformPatternsUnnecessaryOrderByExpressions);
|
||||
builder.append("transformPatternsUnnecessaryExistsSubqueryClauses", transformPatternsUnnecessaryExistsSubqueryClauses);
|
||||
@ -7515,6 +7554,15 @@ public class Settings
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (transformPatternsUnnecessaryScalarSubquery == null) {
|
||||
if (other.transformPatternsUnnecessaryScalarSubquery!= null) {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
if (!transformPatternsUnnecessaryScalarSubquery.equals(other.transformPatternsUnnecessaryScalarSubquery)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (transformPatternsUnnecessaryGroupByExpressions == null) {
|
||||
if (other.transformPatternsUnnecessaryGroupByExpressions!= null) {
|
||||
return false;
|
||||
@ -8930,6 +8978,7 @@ public class Settings
|
||||
result = ((prime*result)+((transformPatterns == null)? 0 :transformPatterns.hashCode()));
|
||||
result = ((prime*result)+((transformPatternsLogging == null)? 0 :transformPatternsLogging.hashCode()));
|
||||
result = ((prime*result)+((transformPatternsUnnecessaryDistinct == null)? 0 :transformPatternsUnnecessaryDistinct.hashCode()));
|
||||
result = ((prime*result)+((transformPatternsUnnecessaryScalarSubquery == null)? 0 :transformPatternsUnnecessaryScalarSubquery.hashCode()));
|
||||
result = ((prime*result)+((transformPatternsUnnecessaryGroupByExpressions == null)? 0 :transformPatternsUnnecessaryGroupByExpressions.hashCode()));
|
||||
result = ((prime*result)+((transformPatternsUnnecessaryOrderByExpressions == null)? 0 :transformPatternsUnnecessaryOrderByExpressions.hashCode()));
|
||||
result = ((prime*result)+((transformPatternsUnnecessaryExistsSubqueryClauses == null)? 0 :transformPatternsUnnecessaryExistsSubqueryClauses.hashCode()));
|
||||
|
||||
@ -2315,6 +2315,127 @@ package org.jooq.impl;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -418,6 +418,17 @@ To enable this feature, {@link #transformPatterns} must be enabled as well.
|
||||
This feature is available in the commercial distribution only.]]></jxb:javadoc></jxb:property></appinfo></annotation>
|
||||
</element>
|
||||
|
||||
<element name="transformPatternsUnnecessaryScalarSubquery" type="boolean" minOccurs="0" maxOccurs="1" default="true">
|
||||
<annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[Transform <code>SELECT (SELECT 1)</code> to <code>SELECT 1</code>.
|
||||
<p>
|
||||
Scalar subqueries that don't have any content other than a <code>SELECT</code> clause are unnecessary
|
||||
and can be removed.
|
||||
<p>
|
||||
To enable this feature, {@link #transformPatterns} must be enabled as well.
|
||||
<p>
|
||||
This feature is available in the commercial distribution only.]]></jxb:javadoc></jxb:property></appinfo></annotation>
|
||||
</element>
|
||||
|
||||
<element name="transformPatternsUnnecessaryGroupByExpressions" type="boolean" minOccurs="0" maxOccurs="1" default="true">
|
||||
<annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[Transform <code>SELECT a, b FROM t GROUP BY a, a, b</code> to <code>SELECT a, b FROM t GROUP BY a, b</code>.
|
||||
<p>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user