Пример #1
0
        public override void ReadFromPhysical(byte[] buffer, int offset)
        {
            _table.Truncate(Manager);

            Streams.IConveyor int32Conveyor = Manager.GetConveyor(Manager.DataTypes.SystemInteger);

            if (buffer[offset] != 0)
            {
                offset++;

                int rowSize;
                int count = (int)int32Conveyor.Read(buffer, offset);

                for (int index = 0; index < count; index++)
                {
                    rowSize = (int)int32Conveyor.Read(buffer, offset);
                    offset += sizeof(int);
                    using (IRow row = (IRow)DataValue.FromPhysical(Manager, _table.RowType, buffer, offset))
                    {
                        _table.Insert(Manager, row);
                    }
                    offset += rowSize;
                }
            }
        }
Пример #2
0
 protected override void InternalReset()
 {
     _scan.Dispose();
     _table.Truncate(Manager);
     PopulateTable();
     _scan = new Scan(Manager, _table, _table.ClusteredIndex, ScanDirection.Forward, null, null);
     _scan.Open();
 }
Пример #3
0
 protected override void InternalReset()
 {
     _leftTable.Reset();
     _rightTable.Reset();
     _scan.Close();
     _scan.Dispose();
     _buffer.Truncate(Manager);
     PopulateBuffer();
     _scan = new Scan(Manager, _buffer, _buffer.ClusteredIndex, ScanDirection.Forward, null, null);
     _scan.Open();
 }
Пример #4
0
        protected override void InternalReset()
        {
            while (_sourceTables.Count > 0)
            {
                PopSourceTable();
            }

            PushSourceTable(null);

            _scan.Dispose();
            _buffer.Truncate(Manager);
            _scan = new Scan(Manager, _buffer, _buffer.ClusteredIndex, ScanDirection.Forward, null, null);
            _scan.Open();
            _sequence = 0;
            _empty    = false;
            InternalNext();
            _empty = _scan.EOF();
            _scan.First();
        }