public void testFetchSecDB()
{
//*-- create an empty database
dbt = new DbTools(); dbt.openEnv(DBDIR, false);
boolean dupFlag = false;
assertTrue("t12 create", dbt.createDB(DBNAME2, true, dupFlag) );
dbt.closeEnv();
// *-- load a few rows
loadDB("t12", 10, dupFlag, DBNAME2);
//*-- create the secondary database
dbt = new DbTools(); dbt.openEnv(DBDIR, false);
dbt.openDB(DBNAME2, false, dupFlag);
DBKeyCreator skc1 = new DBKeyCreator(new TestDocBinding() );
assertTrue("t12 create SEC ", dbt.createSecDB(SECDB, false, skc1) );
dbt.closeDB(); dbt.closeEnv();
//*-- open the secondary database
dbt = new DbTools(); dbt.openEnv(DBDIR, false);
dbt.openDB(DBNAME2, false, dupFlag);
DBKeyCreator skc2 = new DBKeyCreator(new TestDocBinding() );
assertTrue("t12 create SEC ", dbt.createSecDB(SECDB, false, skc2) );
assertTrue("t12 open SEC", dbt.openSecDB(SECDB, false, skc2) );
//*-- fetch a single entry
DatabaseEntry dbe = dbt.fetchSec("1");
assertNotNull("t12 fetch SEC", dbe );
TestDoc doc = new TestDoc(); doc = (TestDoc) doc.getBdbBinding().entryToObject(dbe);
assertEquals("t12 contents SEC", "contents 2", doc.getContents() );
//*-- fetch an array of entries
DatabaseEntry[] dbeArray = dbt.fetchSecArray("3");
assertNotNull("t12 fetch SEC Array", dbeArray );
for (int i = 0; i < dbeArray.length; i++)
{ TestDoc doc1 = new TestDoc(); doc1 = (TestDoc) doc1.getBdbBinding().entryToObject(dbeArray[i]);
System.out.println("Sec. Key: " + doc1.getSeckey() + " Contents: " + doc1.getContents() );
}
assertTrue("t12 close SEC", dbt.closeSecDB() );
dbt.closeDB(); dbt.closeEnv();
//*-- drop the database
dbt = new DbTools(); dbt.openEnv(DBDIR, false);
dbt.openDB(DBNAME2, false, dupFlag);
assertTrue("t12 drop", dbt.dropDB(DBNAME2) );
dbt.closeEnv();
System.out.println("Completed fetch sec DB");