Esempio n. 1
0
        public void TestTruncateUnusedPages()
        {
            testName = "TestTruncateUnusedPages";
            SetUpTest(true);

            DatabaseEnvironmentConfig envConfig =
                new DatabaseEnvironmentConfig();

            envConfig.Create   = true;
            envConfig.UseCDB   = true;
            envConfig.UseMPool = true;
            DatabaseEnvironment env = DatabaseEnvironment.Open(
                testHome, envConfig);

            RecnoDatabaseConfig dbConfig =
                new RecnoDatabaseConfig();

            dbConfig.Creation = CreatePolicy.IF_NEEDED;
            dbConfig.Env      = env;
            dbConfig.PageSize = 512;
            RecnoDatabase db = RecnoDatabase.Open(
                testName + ".db", dbConfig);

            ModifyRecordsInDB(db, null);
            Assert.Less(0, db.TruncateUnusedPages());

            db.Close();
            env.Close();
        }
Esempio n. 2
0
        public void TestTruncateUnusedPagesInTxn()
        {
            testName = "TestTruncateUnusedPagesInTxn";
            testHome = testFixtureHome + "/" + testName;

            Configuration.ClearDir(testHome);

            DatabaseEnvironmentConfig envConfig =
                new DatabaseEnvironmentConfig();

            envConfig.Create     = true;
            envConfig.UseLogging = true;
            envConfig.UseMPool   = true;
            envConfig.UseTxns    = true;
            DatabaseEnvironment env = DatabaseEnvironment.Open(
                testHome, envConfig);

            Transaction         openTxn  = env.BeginTransaction();
            RecnoDatabaseConfig dbConfig =
                new RecnoDatabaseConfig();

            dbConfig.Creation = CreatePolicy.IF_NEEDED;
            dbConfig.Env      = env;
            dbConfig.PageSize = 512;
            RecnoDatabase db = RecnoDatabase.Open(
                testName + ".db", dbConfig, openTxn);

            openTxn.Commit();

            Transaction modifyTxn = env.BeginTransaction();

            ModifyRecordsInDB(db, modifyTxn);
            Assert.Less(0, db.TruncateUnusedPages(modifyTxn));
            modifyTxn.Commit();

            db.Close();
            env.Close();
        }