public override QueryNode VisitBinaryQuery(BinaryQuery query) { base.VisitBinaryQuery(query); EnsureQueryHasNoOrderByUnlessTopSpecified(query.Left); EnsureQueryHasNoOrderByUnlessTopSpecified(query.Right); // Except for UNION ALL any binary operator requires that all // column data types are comparable. if (query.Op != BinaryQueryOperator.UnionAll) { foreach (SelectColumn columnSource in query.GetColumns()) { if (!CheckIfTypeIsComparable(columnSource.Expression.ExpressionType)) { _errorReporter.InvalidDataTypeInUnion(columnSource.Expression.ExpressionType, query.Op); } } } return(query); }
public override QueryNode VisitBinaryQuery(BinaryQuery query) { base.VisitBinaryQuery (query); EnsureQueryHasNoOrderByUnlessTopSpecified(query.Left); EnsureQueryHasNoOrderByUnlessTopSpecified(query.Right); // Except for UNION ALL any binary operator requires that all // column data types are comparable. if (query.Op != BinaryQueryOperator.UnionAll) { foreach (SelectColumn columnSource in query.GetColumns()) { if (!CheckIfTypeIsComparable(columnSource.Expression.ExpressionType)) _errorReporter.InvalidDataTypeInUnion(columnSource.Expression.ExpressionType, query.Op); } } return query; }