public override void CompleteInterruptedTransaction(int transactionId1, int transactionId2
     )
 {
     if (transactionId1 <= 0 || transactionId1 != transactionId2)
     {
         return;
     }
     var bytes = new StatefulBuffer(_container.SystemTransaction(), transactionId1
         , Const4.IntLength);
     bytes.Read();
     var length = bytes.ReadInt();
     if (length > 0)
     {
         bytes = new StatefulBuffer(_container.SystemTransaction(), transactionId1, length
             );
         bytes.Read();
         bytes.IncrementOffset(Const4.IntLength);
         ReadWriteSlotChanges(bytes);
     }
     _container.WriteTransactionPointer(0);
     FlushDatabaseFile();
 }
示例#2
0
        public override void CompleteInterruptedTransaction(int transactionId1, int transactionId2
                                                            )
        {
            if (transactionId1 <= 0 || transactionId1 != transactionId2)
            {
                return;
            }
            StatefulBuffer bytes = new StatefulBuffer(_container.SystemTransaction(), transactionId1
                                                      , Const4.IntLength);

            bytes.Read();
            int length = bytes.ReadInt();

            if (length > 0)
            {
                bytes = new StatefulBuffer(_container.SystemTransaction(), transactionId1, length
                                           );
                bytes.Read();
                bytes.IncrementOffset(Const4.IntLength);
                ReadWriteSlotChanges(bytes);
            }
            _container.WriteTransactionPointer(0);
            FlushDatabaseFile();
        }