Beispiel #1
0
        private RawTableInfo GetRawTableInfo(RawTableInfo info, BigList <long> rows)
        {
            if (this is IRootTable)
            {
                info.Add((IRootTable)this, CalculateTableRows());
            }
            else
            {
                for (int i = 0; i < Tables.Length; ++i)
                {
                    // Resolve the rows into the parents indices.
                    var newRowSet = ResolveTableRows(rows, i).ToBigList();

                    var table = Tables[i];
                    if (table is IRootTable)
                    {
                        info.Add((IRootTable)table, newRowSet);
                    }
                    else if (table is JoinedTable)
                    {
                        ((JoinedTable)table).GetRawTableInfo(info, newRowSet);
                    }
                }
            }

            return(info);
        }
Beispiel #2
0
        protected override RawTableInfo GetRawTableInfo(RawTableInfo rootInfo)
        {
            var rows = this.Select(row => row.Number).ToBigList();

            rootInfo.Add(this, rows);
            return(rootInfo);
        }