// Conditions are related only to parents of join,
// but we have to filter who belongs to my branch in IndexJoinHashVisitor.
// We don't want to hash on something which will be used to join with same
// later component in the hierarchy.
private void addHash(Component component, List<Expression> joinCondition) {
final IndexJoinHashVisitor joinOn = new IndexJoinHashVisitor(_schema, component,
_pq.getTan());
for (final Expression exp : joinCondition)
exp.accept(joinOn);
final List<ValueExpression> hashExpressions = joinOn.getExpressions();
if (ParserUtil.isAllColumnRefs(hashExpressions)) {
// all the join conditions are represented through columns, no
// ValueExpression (neither in joined component)
// guaranteed that both joined components will have joined columns