Example #1
0
        private void button2_Click(object sender, EventArgs e)
        {
            var  secondaryDatabase = new SecondaryDatabase();
            bool query             = secondaryDatabase.batchRecovery();

            if (query == true)
            {
                MessageBox.Show("Recovery successfull");
                // success
            }
            else
            {
                // fail
            }
        }
Example #2
0
        private void recovery_Click(object sender, EventArgs e)
        {
            // batch recovery query: Seb + Gianni
            var  secondaryDatabase = new SecondaryDatabase();
            bool query             = secondaryDatabase.batchRecovery();

            // Avar: notify of recovery process
            if (query == true)
            {
                MessageBox.Show("System recovery is completed.");
            }
            else
            {
                MessageBox.Show("System recovery has already completed or sync unsuccessful.");
            }
        }
Example #3
0
        public void TestBadSecondaryException()
        {
            testName = "TestBadSecondaryException";
            SetUpTest(true);
            string dbFileName    = testHome + "/" + testName + ".db";
            string secDBFileName = testHome + "/" +
                                   testName + "_sec.db";

            // Open primary database.
            BTreeDatabaseConfig btreeDBConfig =
                new BTreeDatabaseConfig();

            btreeDBConfig.Creation = CreatePolicy.IF_NEEDED;
            BTreeDatabase btreeDB =
                BTreeDatabase.Open(dbFileName, btreeDBConfig);

            // Open secondary database.
            SecondaryBTreeDatabaseConfig secBtDbConfig =
                new SecondaryBTreeDatabaseConfig(btreeDB,
                                                 new SecondaryKeyGenDelegate(SecondaryKeyGen));

            secBtDbConfig.Creation = CreatePolicy.IF_NEEDED;
            SecondaryBTreeDatabase secBtDb =
                SecondaryBTreeDatabase.Open(secDBFileName,
                                            secBtDbConfig);

            // Put some data into primary database.
            for (int i = 0; i < 10; i++)
            {
                btreeDB.Put(new DatabaseEntry(
                                BitConverter.GetBytes(i)),
                            new DatabaseEntry(BitConverter.GetBytes(i)));
            }

            // Close the secondary database.
            secBtDb.Close();

            // Delete record(5, 5) in primary database.
            btreeDB.Delete(new DatabaseEntry(
                               BitConverter.GetBytes((int)5)));

            // Reopen the secondary database.
            SecondaryDatabase secDB = SecondaryDatabase.Open(
                secDBFileName,
                new SecondaryDatabaseConfig(btreeDB,
                                            new SecondaryKeyGenDelegate(SecondaryKeyGen)));

            /*
             * Getting record(5, 5) by secondary database should
             * throw BadSecondaryException since it has been
             * deleted in the primary database.
             */
            try
            {
                secDB.Exists(new DatabaseEntry(
                                 BitConverter.GetBytes((int)5)));
            }
            catch (BadSecondaryException)
            {
                throw new ExpectedTestException();
            }
            finally
            {
                secDB.Close();
                btreeDB.Close();
            }
        }