[jOOQ/jOOQ#13593] transformPatternsUnnecessaryInnerJoin
This commit is contained in:
parent
e2b0a19d1a
commit
aa73039096
@ -151,6 +151,8 @@ public class Settings
|
||||
@XmlElement(defaultValue = "true")
|
||||
protected Boolean transformPatternsUnnecessaryScalarSubquery = true;
|
||||
@XmlElement(defaultValue = "true")
|
||||
protected Boolean transformPatternsUnnecessaryInnerJoin = true;
|
||||
@XmlElement(defaultValue = "true")
|
||||
protected Boolean transformPatternsUnnecessaryGroupByExpressions = true;
|
||||
@XmlElement(defaultValue = "true")
|
||||
protected Boolean transformPatternsUnnecessaryOrderByExpressions = true;
|
||||
@ -1793,6 +1795,36 @@ public class Settings
|
||||
this.transformPatternsUnnecessaryScalarSubquery = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Transform <code>SELECT * FROM t INNER JOIN u ON TRUE</code> to <code>SELECT * FROM t CROSS JOIN u</code>.
|
||||
* <p>
|
||||
* Some <code>INNER JOIN</code> expressions can be proven to be unnecessary.
|
||||
* <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 isTransformPatternsUnnecessaryInnerJoin() {
|
||||
return transformPatternsUnnecessaryInnerJoin;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the value of the transformPatternsUnnecessaryInnerJoin property.
|
||||
*
|
||||
* @param value
|
||||
* allowed object is
|
||||
* {@link Boolean }
|
||||
*
|
||||
*/
|
||||
public void setTransformPatternsUnnecessaryInnerJoin(Boolean value) {
|
||||
this.transformPatternsUnnecessaryInnerJoin = 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>
|
||||
@ -5796,6 +5828,11 @@ public class Settings
|
||||
return this;
|
||||
}
|
||||
|
||||
public Settings withTransformPatternsUnnecessaryInnerJoin(Boolean value) {
|
||||
setTransformPatternsUnnecessaryInnerJoin(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public Settings withTransformPatternsUnnecessaryGroupByExpressions(Boolean value) {
|
||||
setTransformPatternsUnnecessaryGroupByExpressions(value);
|
||||
return this;
|
||||
@ -6941,6 +6978,7 @@ public class Settings
|
||||
builder.append("transformPatternsLogging", transformPatternsLogging);
|
||||
builder.append("transformPatternsUnnecessaryDistinct", transformPatternsUnnecessaryDistinct);
|
||||
builder.append("transformPatternsUnnecessaryScalarSubquery", transformPatternsUnnecessaryScalarSubquery);
|
||||
builder.append("transformPatternsUnnecessaryInnerJoin", transformPatternsUnnecessaryInnerJoin);
|
||||
builder.append("transformPatternsUnnecessaryGroupByExpressions", transformPatternsUnnecessaryGroupByExpressions);
|
||||
builder.append("transformPatternsUnnecessaryOrderByExpressions", transformPatternsUnnecessaryOrderByExpressions);
|
||||
builder.append("transformPatternsUnnecessaryExistsSubqueryClauses", transformPatternsUnnecessaryExistsSubqueryClauses);
|
||||
@ -7563,6 +7601,15 @@ public class Settings
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (transformPatternsUnnecessaryInnerJoin == null) {
|
||||
if (other.transformPatternsUnnecessaryInnerJoin!= null) {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
if (!transformPatternsUnnecessaryInnerJoin.equals(other.transformPatternsUnnecessaryInnerJoin)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (transformPatternsUnnecessaryGroupByExpressions == null) {
|
||||
if (other.transformPatternsUnnecessaryGroupByExpressions!= null) {
|
||||
return false;
|
||||
@ -8979,6 +9026,7 @@ public class Settings
|
||||
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)+((transformPatternsUnnecessaryInnerJoin == null)? 0 :transformPatternsUnnecessaryInnerJoin.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()));
|
||||
|
||||
@ -2452,6 +2452,14 @@ package org.jooq.impl;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -429,6 +429,16 @@ 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="transformPatternsUnnecessaryInnerJoin" type="boolean" minOccurs="0" maxOccurs="1" default="true">
|
||||
<annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[Transform <code>SELECT * FROM t INNER JOIN u ON TRUE</code> to <code>SELECT * FROM t CROSS JOIN u</code>.
|
||||
<p>
|
||||
Some <code>INNER JOIN</code> expressions can be proven to be unnecessary.
|
||||
<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