예제 #1
0
        internal Table(FdbColumnHeader columnHeader, FdbRowBucket bucket)
        {
            Structure = new ColumnInfo[columnHeader.ColumnCount];

            for (var i = 0; i < columnHeader.ColumnCount; i++)
            {
                Structure[i] = new ColumnInfo
                               (
                    columnHeader.Data.Type[i],
                    columnHeader.Data.ColumnName[i]
                               );
            }

            _columnHeader = columnHeader;
            _rowBucket    = bucket;

            var rows = new List <Row>();

            for (var index = 0; index < bucket.RowCount; index++)
            {
                var rowInfo = bucket.RowHeader.RowInfos[index];
                var linked  = rowInfo;
                while (linked != default)
                {
                    rows.Add(new Row(linked));
                    linked = linked.Linked;
                }
            }

            _rows = rows.ToArray();
        }
예제 #2
0
 internal Table(FdbColumnHeader info, FdbRowBucket data, AccessDatabase database)
 {
     Info     = info;
     Data     = data;
     Database = database;
 }
예제 #3
0
 internal TypedTable(FdbColumnHeader info, FdbRowBucket data, AccessDatabase database) : base(info, data,
                                                                                              database)
 {
     _managed = new Dictionary <T, int>();
 }