Deveel.Data.Sql.Query.QueryTablePlanner.AddSingleColumnPlan C# (CSharp) Method

AddSingleColumnPlan() private static method

private static AddSingleColumnPlan ( IList list, TablePlan table, ObjectName columnName, ObjectName uniqueName, SqlExpression expParts, SqlExpressionType op ) : void
list IList
table TablePlan
columnName ObjectName
uniqueName ObjectName
expParts Deveel.Data.Sql.Expressions.SqlExpression
op SqlExpressionType
return void
        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));
        }