use of org.teiid.query.sql.lang.JoinType in project teiid by teiid.
the class RulePushSelectCriteria method handleJoinCriteria.
/**
* Handles multi-group criteria originating at the given joinNode
*
* @param joinNode
* @param critNode
* @return
*/
private boolean handleJoinCriteria(PlanNode joinNode, PlanNode critNode, QueryMetadataInterface metadata) {
JoinType jt = (JoinType) joinNode.getProperty(NodeConstants.Info.JOIN_TYPE);
if (jt == JoinType.JOIN_CROSS || jt == JoinType.JOIN_INNER) {
return moveCriteriaIntoOnClause(critNode, joinNode);
}
JoinType optimized = JoinUtil.optimizeJoinType(critNode, joinNode, metadata, true);
if (optimized == JoinType.JOIN_INNER) {
moveCriteriaIntoOnClause(critNode, joinNode);
// return true since the join type has changed
return true;
}
return false;
}
Aggregations