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

ConcatPlans() private static method

private static ConcatPlans ( TablePlan left, TablePlan right, IQueryPlanNode plan ) : TablePlan
left TablePlan
right TablePlan
plan IQueryPlanNode
return TablePlan
        private static TablePlan ConcatPlans(TablePlan left, TablePlan right, IQueryPlanNode plan)
        {
            // Merge the variable list
            var newVarList = new ObjectName[left.ColumnNames.Length + right.ColumnNames.Length];
            Array.Copy(left.ColumnNames, 0, newVarList, 0, left.ColumnNames.Length);
            Array.Copy(right.ColumnNames, 0, newVarList, left.ColumnNames.Length, right.ColumnNames.Length);

            // Merge the unique table names list
            var newUniqueList = new string[left.UniqueNames.Length + right.UniqueNames.Length];
            Array.Copy(left.UniqueNames, 0, newUniqueList, 0, left.UniqueNames.Length);
            Array.Copy(right.UniqueNames, 0, newUniqueList, left.UniqueNames.Length, right.UniqueNames.Length);

            // Return the new table source plan.
            return new TablePlan(plan, newVarList, newUniqueList);
        }