private RawTableInfo GetRawTableInfo(RawTableInfo info, IEnumerable <int> rows) { if (this is IRootTable) { info.Add((IRootTable)this, CalculateRowReferenceList()); } else { for (int i = 0; i < referenceList.Length; ++i) { IEnumerable <int> newRowSet = new List <int>(rows); // Resolve the rows into the parents indices. newRowSet = ResolveRowsForTable(newRowSet, i); var table = referenceList[i]; if (table is IRootTable) { info.Add((IRootTable)table, newRowSet.ToArray()); } else if (table is JoinedTable) { ((JoinedTable)table).GetRawTableInfo(info, newRowSet); } } } return(info); }
protected override RawTableInfo GetRawTableInfo(RawTableInfo rootInfo) { var rows = this.Select(x => x.RowId.RowNumber).ToArray(); rootInfo.Add(this, rows); return(rootInfo); }
protected override RawTableInfo GetRawTableInfo(RawTableInfo rootInfo) { var rows = this.Select(row => row.RowId.RowNumber).ToList(); rootInfo.Add(this, rows); return(rootInfo); }
protected override RawTableInfo GetRawTableInfo(RawTableInfo rootInfo) { var tableRows = rows.Select((item, index) => (long)index).ToBigList(); rootInfo.Add(this, tableRows); return(rootInfo); }
internal static RawTableInfo GetRawTableInfo(this IRootTable table, RawTableInfo rootInfo) { var rows = table.Select(x => x.Number).ToBigList(); rootInfo.Add(table, rows); return(rootInfo); }