private static void AddSingleColumnPlan(IList<SingleColumnPlan> list, TablePlan table, ObjectName columnName, ObjectName uniqueName, SqlExpression[] expParts, SqlExpressionType op)
{
var exp = SqlExpression.Binary(expParts[0], op, expParts[1]);
// Is this source in the list already?
foreach (var existingPlan in list) {
if (existingPlan.TablePlan == table &&
(columnName == null || existingPlan.ColumnName.Equals(columnName))) {
// Append to end of current expression
existingPlan.SetSource(columnName, SqlExpression.And(existingPlan.Expression, exp));
return;
}
}
// Didn't find so make a new entry in the list.
list.Add(new SingleColumnPlan(table, columnName, uniqueName, exp));
}