/*
* JBoss, Home of Professional Open Source.
*
* See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing.
*
* See the AUTHORS.txt file distributed with this work for a full listing of individual contributors.
*/
package org.teiid.query.sql.lang;
public class SubqueryHint {
public static String MJ = "MJ"; //$NON-NLS-1$
public static String NOUNNEST = "NO_UNNEST"; //$NON-NLS-1$
public static String DJ = "DJ"; //$NON-NLS-1$
private boolean mergeJoin;
private boolean noUnnest;
private boolean depJoin;
public void setMergeJoin(boolean semiJoin) {
this.mergeJoin = semiJoin;
}
public boolean isMergeJoin() {
return mergeJoin;
}
public void setNoUnnest(boolean noUnnest) {
this.noUnnest = noUnnest;
}
public boolean isNoUnnest() {
return noUnnest;
}
public void setDepJoin() {
this.depJoin = true;
this.mergeJoin = true;
}
public boolean isDepJoin() {
return depJoin;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof SubqueryHint)) {
return false;
}
SubqueryHint other = (SubqueryHint) obj;
return mergeJoin == other.mergeJoin
&& noUnnest == other.noUnnest
&& depJoin == other.depJoin;
}
public SubqueryHint clone() {
SubqueryHint clone = new SubqueryHint();
clone.mergeJoin = this.mergeJoin;
clone.noUnnest = this.noUnnest;
clone.depJoin = this.depJoin;
return clone;
}
}