code: func concatOnAndWhereConds(join *Join, predicates []expression.Expression) []expression.Expression {
  	equalConds, leftConds, rightConds, otherConds := join.EqualConditions, join.LeftConditions, join.RightConditions, join.OtherConditions
  	ans := make([]expression.Expression, 0, len(equalConds)+len(leftConds)+len(rightConds)+len(predicates))
  	for _, v := range equalConds {
  		ans = append(ans, v)
  	}
  	ans = append(ans, leftConds...)
  	ans = append(ans, rightConds...)
  	ans = append(ans, otherConds...)
  	ans = append(ans, predicates...)
  	return ans
  }
docs: // concatOnAndWhereConds concatenate ON conditions with WHERE conditions.