コード例 #1
0
        public void DatabaseShouldBeDropped()
        {
            _env.MaxDatabases = 2;
            _env.Open();
            _txn = _env.BeginTransaction();
            var db = _txn.OpenDatabase("notmaster", new DatabaseConfiguration {
                Flags = DatabaseOpenFlags.Create
            });

            _txn.Commit();
            _txn.Dispose();
            db.Dispose();

            _txn = _env.BeginTransaction();
            db   = _txn.OpenDatabase("notmaster");

            db.Drop(_txn);
            _txn.Commit();
            _txn.Dispose();

            _txn = _env.BeginTransaction();

            var ex = Assert.Throws <LightningException>(() => _txn.OpenDatabase("notmaster"));

            Assert.Equal(ex.StatusCode, -30798);
        }
コード例 #2
0
        public void TruncatingTheDatabase()
        {
            _env.Open();
            _txn = _env.BeginTransaction();
            var db = _txn.OpenDatabase();

            _txn.Put(db, "hello", "world");
            _txn.Commit();
            _txn.Dispose();
            _txn = _env.BeginTransaction();
            db   = _txn.OpenDatabase();
            db.Truncate(_txn);
            _txn.Commit();
            _txn.Dispose();
            _txn = _env.BeginTransaction();
            db   = _txn.OpenDatabase();
            var result = _txn.Get(db, UTF8.GetBytes("hello"));

            Assert.Equal(MDBResultCode.NotFound, result.resultCode);
        }
コード例 #3
0
        public void TruncatingTheDatabase()
        {
            _env.Open();
            _txn = _env.BeginTransaction();
            var db = _txn.OpenDatabase();

            _txn.Put(db, "hello", "world");
            _txn.Commit();
            _txn.Dispose();
            _txn = _env.BeginTransaction();
            db   = _txn.OpenDatabase();
            db.Truncate(_txn);
            _txn.Commit();
            _txn.Dispose();
            _txn = _env.BeginTransaction();
            db   = _txn.OpenDatabase();
            var result = _txn.Get(db, UTF8.GetBytes("hello"));

            Assert.Null(result);
        }
コード例 #4
0
 private void MoveToQueue(LightningTransaction tx, string queueName, Message message)
 {
     try
     {
         var idBytes  = message.Id.MessageIdentifier.ToByteArray();
         var original = OpenDatabase(tx, message.Queue);
         var newDb    = OpenDatabase(tx, queueName);
         tx.Delete(original, idBytes).ThrowOnError();
         tx.Put(newDb, idBytes, message.Serialize()).ThrowOnError();
     }
     catch (LightningException ex)
     {
         tx.Dispose();
         if (ex.StatusCode == (int)MDBResultCode.NotFound)
         {
             throw new QueueDoesNotExistException("Queue doesn't exist", ex);
         }
         throw;
     }
 }
コード例 #5
0
ファイル: LmdbEnv.cs プロジェクト: vitormixd/geyser-net
 public void Dispose()
 {
     _tx.Dispose();
 }
コード例 #6
0
        public void TruncatingTheDatabase()
        {
            _env.Open();
            _txn = _env.BeginTransaction();
            var db = _txn.OpenDatabase();

            _txn.Put(db, "hello", "world");
            _txn.Commit();
            _txn.Dispose();
            _txn = _env.BeginTransaction();
            db = _txn.OpenDatabase();
            db.Truncate(_txn);
            _txn.Commit();
            _txn.Dispose();
            _txn = _env.BeginTransaction();
            db = _txn.OpenDatabase();
            var result = _txn.Get(db, UTF8.GetBytes("hello"));

            Assert.Null(result);
        }
コード例 #7
0
        public void DatabaseShouldBeDropped()
        {
            _env.MaxDatabases = 2;
            _env.Open();
            _txn = _env.BeginTransaction();
            var db = _txn.OpenDatabase("notmaster", new DatabaseConfiguration {Flags = DatabaseOpenFlags.Create});
            _txn.Commit();
            _txn.Dispose();
            db.Dispose();

            _txn = _env.BeginTransaction();
            db = _txn.OpenDatabase("notmaster");

            db.Drop(_txn);
            _txn.Commit();
            _txn.Dispose();

            _txn = _env.BeginTransaction();

            var ex = Assert.Throws<LightningException>(() => _txn.OpenDatabase("notmaster"));

            Assert.Equal(ex.StatusCode, -30798);
        }
コード例 #8
0
ファイル: CursorTests.cs プロジェクト: dl1109783/LMDBWindows
 public void Dispose()
 {
     _txn.Dispose();
     _env.Dispose();
 }
コード例 #9
0
 public void Dispose()
 {
     _transaction.Dispose();
 }
コード例 #10
0
 public void Dispose() => _tx.Dispose();
コード例 #11
0
 void ITransaction.Rollback()
 {
     _transaction.Dispose();
 }