Beispiel #1
0
        public SetBlobRecord(
            ILogManager logManager,
            IBufferManager bufferManager,
            BasicLogRecord record,
            bool needOffset = true)
            : base(logManager, bufferManager, LogRecordType.SetBlob)
        {
            if (needOffset)
            {
                _ = record.NextInt(out var _);
            }

            _ = record.NextInt(out _transactionNumber);
            _ = record.NextString(out var filename);
            _ = record.NextInt(out var blockNumber);

            _block = new Block(filename, blockNumber);
            _      = record.NextInt(out _offset);
            _      = record.NextBlob(out _value);
        }
Beispiel #2
0
 public StartRecord(
     ILogManager logManager,
     IBufferManager bufferManager,
     BasicLogRecord record,
     bool needOffset = true)
     : base(logManager, bufferManager, LogRecordType.Start)
 {
     if (needOffset)
     {
         _ = record.NextInt(out var _);
     }
     _ = record.NextInt(out _transactionNumber);
 }
Beispiel #3
0
        public CheckpointRecord(
            ILogManager logManager,
            IBufferManager bufferManager,
            BasicLogRecord record,
            bool needOffset = true)
            : base(logManager, bufferManager, LogRecordType.Checkpoint)
        {
            if (needOffset)
            {
                _ = record.NextInt(out var _);
            }

            _ = record.NextInt(out var length);

            _transactionNumbers = new int[length];

            for (int i = 0; i < length; ++i)
            {
                record.NextInt(out _transactionNumbers[i]);
            }
        }