public static void Config(XmlElement xmlElement, ref SecondaryHashDatabaseConfig secHashDBConfig, bool compulsory) { uint fillFactor = new uint(); uint numElements = new uint(); SecondaryDatabaseConfig secDBConfig = secHashDBConfig; SecondaryDatabaseConfigTest.Config(xmlElement, ref secDBConfig, compulsory); // Configure specific fields/properties of hash db Configuration.ConfigCreatePolicy(xmlElement, "Creation", ref secHashDBConfig.Creation, compulsory); Configuration.ConfigDuplicatesPolicy(xmlElement, "Duplicates", ref secHashDBConfig.Duplicates, compulsory); if (Configuration.ConfigUint(xmlElement, "FillFactor", ref fillFactor, compulsory)) { secHashDBConfig.FillFactor = fillFactor; } if (Configuration.ConfigUint(xmlElement, "NumElements", ref numElements, compulsory)) { secHashDBConfig.TableSize = numElements; } }
public static void Confirm(XmlElement xmlElement, SecondaryBTreeDatabaseConfig secBtreeDBConfig, bool compulsory) { SecondaryDatabaseConfig secDBConfig = secBtreeDBConfig; SecondaryDatabaseConfigTest.Confirm(xmlElement, secDBConfig, compulsory); // Confirm secondary btree database specific configuration. Configuration.ConfirmCreatePolicy(xmlElement, "Creation", secBtreeDBConfig.Creation, compulsory); Configuration.ConfirmDuplicatesPolicy(xmlElement, "Duplicates", secBtreeDBConfig.Duplicates, compulsory); Configuration.ConfirmUint(xmlElement, "MinKeysPerPage", secBtreeDBConfig.MinKeysPerPage, compulsory); Configuration.ConfirmBool(xmlElement, "NoReverseSplitting", secBtreeDBConfig.NoReverseSplitting, compulsory); Configuration.ConfirmBool(xmlElement, "UseRecordNumbers", secBtreeDBConfig.UseRecordNumbers, compulsory); }
public static void Config(XmlElement xmlElement, ref SecondaryBTreeDatabaseConfig secBtreeDBConfig, bool compulsory) { uint minKeysPerPage = new uint(); SecondaryDatabaseConfig secDBConfig = secBtreeDBConfig; SecondaryDatabaseConfigTest.Config(xmlElement, ref secDBConfig, compulsory); // Configure specific fields/properties of Btree db Configuration.ConfigCreatePolicy(xmlElement, "Creation", ref secBtreeDBConfig.Creation, compulsory); Configuration.ConfigDuplicatesPolicy(xmlElement, "Duplicates", ref secBtreeDBConfig.Duplicates, compulsory); if (Configuration.ConfigUint(xmlElement, "MinKeysPerPage", ref minKeysPerPage, compulsory)) { secBtreeDBConfig.MinKeysPerPage = minKeysPerPage; } Configuration.ConfigBool(xmlElement, "NoReverseSplitting", ref secBtreeDBConfig.NoReverseSplitting, compulsory); Configuration.ConfigBool(xmlElement, "UseRecordNumbers", ref secBtreeDBConfig.UseRecordNumbers, compulsory); }
virtual public void TestConfig() { testName = "TestConfig"; testHome = testFixtureHome + "/" + testName; string dbFileName = testHome + "/" + testName; Configuration.ClearDir(testHome); XmlElement xmlElem = Configuration.TestSetUp( testFixtureName, testName); // Open a primary btree database. BTreeDatabaseConfig btreeDBConfig = new BTreeDatabaseConfig(); btreeDBConfig.Creation = CreatePolicy.IF_NEEDED; BTreeDatabase btreeDB = BTreeDatabase.Open( dbFileName, btreeDBConfig); SecondaryDatabaseConfig secDBConfig = new SecondaryDatabaseConfig(btreeDB, null); Config(xmlElem, ref secDBConfig, true); Confirm(xmlElem, secDBConfig, true); btreeDB.Close(); }
public static void Config(XmlElement xmlElement, ref SecondaryRecnoDatabaseConfig secRecDBConfig, bool compulsory) { int intValue = new int(); uint uintValue = new uint(); SecondaryDatabaseConfig secDBConfig = secRecDBConfig; SecondaryDatabaseConfigTest.Config(xmlElement, ref secDBConfig, compulsory); // Configure specific fields/properties of Recno database Configuration.ConfigCreatePolicy(xmlElement, "Creation", ref secRecDBConfig.Creation, compulsory); if (Configuration.ConfigInt(xmlElement, "Delimiter", ref intValue, compulsory)) { secRecDBConfig.Delimiter = intValue; } if (Configuration.ConfigUint(xmlElement, "Length", ref uintValue, compulsory)) { secRecDBConfig.Length = uintValue; } if (Configuration.ConfigInt(xmlElement, "PadByte", ref intValue, compulsory)) { secRecDBConfig.PadByte = intValue; } Configuration.ConfigBool(xmlElement, "Renumber", ref secRecDBConfig.Renumber, compulsory); Configuration.ConfigBool(xmlElement, "Snapshot", ref secRecDBConfig.Snapshot, compulsory); }
public static void Confirm(XmlElement xmlElement, SecondaryRecnoDatabaseConfig secRecDBConfig, bool compulsory) { SecondaryDatabaseConfig secDBConfig = secRecDBConfig; SecondaryDatabaseConfigTest.Confirm(xmlElement, secDBConfig, compulsory); // Confirm secondary hash database specific configuration. Configuration.ConfirmString(xmlElement, "BackingFile", secRecDBConfig.BackingFile, compulsory); Configuration.ConfirmCreatePolicy(xmlElement, "Creation", secRecDBConfig.Creation, compulsory); Configuration.ConfirmInt(xmlElement, "Delimiter", secRecDBConfig.Delimiter, compulsory); Configuration.ConfirmUint(xmlElement, "Length", secRecDBConfig.Length, compulsory); Configuration.ConfirmInt(xmlElement, "PadByte", secRecDBConfig.PadByte, compulsory); Configuration.ConfirmBool(xmlElement, "Renumber", secRecDBConfig.Renumber, compulsory); Configuration.ConfirmBool(xmlElement, "Snapshot", secRecDBConfig.Snapshot, compulsory); }
public static void Config(XmlElement xmlElement, ref SecondaryQueueDatabaseConfig secQueueDBConfig, bool compulsory) { uint uintValue = new uint(); int intValue = new int(); SecondaryDatabaseConfig secConfig = secQueueDBConfig; SecondaryDatabaseConfigTest.Config(xmlElement, ref secConfig, compulsory); // Configure specific fields/properties of Queue database Configuration.ConfigCreatePolicy(xmlElement, "Creation", ref secQueueDBConfig.Creation, compulsory); if (Configuration.ConfigUint(xmlElement, "Length", ref uintValue, compulsory)) { secQueueDBConfig.Length = uintValue; } if (Configuration.ConfigInt(xmlElement, "PadByte", ref intValue, compulsory)) { secQueueDBConfig.PadByte = intValue; } if (Configuration.ConfigUint(xmlElement, "ExtentSize", ref uintValue, compulsory)) { secQueueDBConfig.ExtentSize = uintValue; } }
public static void Confirm(XmlElement xmlElement, SecondaryDatabaseConfig secDBConfig, bool compulsory) { Configuration.ConfirmBool(xmlElement, "ImmutableKey", secDBConfig.ImmutableKey, compulsory); Configuration.ConfirmBool(xmlElement, "Populate", secDBConfig.Populate, compulsory); }
public static void Confirm(XmlElement xmlElement, SecondaryQueueDatabaseConfig secQueueDBConfig, bool compulsory) { SecondaryDatabaseConfig secDBConfig = secQueueDBConfig; SecondaryDatabaseConfigTest.Confirm(xmlElement, secDBConfig, compulsory); // Confirm secondary hash database specific configuration. Configuration.ConfirmCreatePolicy(xmlElement, "Creation", secQueueDBConfig.Creation, compulsory); Configuration.ConfirmUint(xmlElement, "ExtentSize", secQueueDBConfig.ExtentSize, compulsory); Configuration.ConfirmUint(xmlElement, "Length", secQueueDBConfig.Length, compulsory); Configuration.ConfirmInt(xmlElement, "PadByte", secQueueDBConfig.PadByte, compulsory); }
public static void Confirm(XmlElement xmlElement, SecondaryHashDatabaseConfig secHashDBConfig, bool compulsory) { SecondaryDatabaseConfig secDBConfig = secHashDBConfig; SecondaryDatabaseConfigTest.Confirm(xmlElement, secDBConfig, compulsory); // Confirm secondary hash database specific configuration. Configuration.ConfirmCreatePolicy(xmlElement, "Creation", secHashDBConfig.Creation, compulsory); Configuration.ConfirmDuplicatesPolicy(xmlElement, "Duplicates", secHashDBConfig.Duplicates, compulsory); Configuration.ConfirmUint(xmlElement, "FillFactor", secHashDBConfig.FillFactor, compulsory); Configuration.ConfirmUint(xmlElement, "NumElements", secHashDBConfig.TableSize, compulsory); }
public void OpenSecDBWithinTxn(string home, string dbFileName, string dbSecFileName, bool ifDbName) { // Open an environment. DatabaseEnvironmentConfig envConfig = new DatabaseEnvironmentConfig(); envConfig.Create = true; envConfig.UseTxns = true; envConfig.UseMPool = true; envConfig.UseLogging = true; envConfig.UseLocking = true; DatabaseEnvironment env = DatabaseEnvironment.Open( home, envConfig); // Open a primary btree database. Transaction openDBTxn = env.BeginTransaction(); BTreeDatabaseConfig dbConfig = new BTreeDatabaseConfig(); dbConfig.Creation = CreatePolicy.IF_NEEDED; dbConfig.Env = env; BTreeDatabase db = BTreeDatabase.Open( dbFileName, dbConfig, openDBTxn); // Open a secondary btree database. SecondaryBTreeDatabaseConfig secDBConfig = new SecondaryBTreeDatabaseConfig(db, new SecondaryKeyGenDelegate(SecondaryKeyGen)); secDBConfig.Env = env; secDBConfig.Creation = CreatePolicy.IF_NEEDED; SecondaryBTreeDatabase secDB; if (ifDbName == false) { secDB = SecondaryBTreeDatabase.Open( dbSecFileName, secDBConfig, openDBTxn); } else { secDB = SecondaryBTreeDatabase.Open( dbSecFileName, "secondary", secDBConfig, openDBTxn); } openDBTxn.Commit(); secDB.Close(); // Open the existing secondary database. Transaction secTxn = env.BeginTransaction(); SecondaryDatabaseConfig secConfig = new SecondaryDatabaseConfig(db, new SecondaryKeyGenDelegate(SecondaryKeyGen)); secConfig.Env = env; SecondaryDatabase secExDB; if (ifDbName == false) { secExDB = SecondaryBTreeDatabase.Open( dbSecFileName, secConfig, secTxn); } else { secExDB = SecondaryBTreeDatabase.Open( dbSecFileName, "secondary", secConfig, secTxn); } secExDB.Close(); secTxn.Commit(); db.Close(); env.Close(); }
public void OpenSecQueueDB(string dbFileName, string dbSecFileName, bool ifDBName) { // Open a primary btree database. BTreeDatabaseConfig primaryDBConfig = new BTreeDatabaseConfig(); primaryDBConfig.Creation = CreatePolicy.IF_NEEDED; BTreeDatabase primaryDB; /* * If secondary database name is given, the primary * database is also opened with database name. */ if (ifDBName == false) { primaryDB = BTreeDatabase.Open(dbFileName, primaryDBConfig); } else { primaryDB = BTreeDatabase.Open(dbFileName, "primary", primaryDBConfig); } try { // Open a new secondary database. SecondaryBTreeDatabaseConfig secBTDBConfig = new SecondaryBTreeDatabaseConfig( primaryDB, null); secBTDBConfig.Creation = CreatePolicy.IF_NEEDED; SecondaryBTreeDatabase secBTDB; if (ifDBName == false) { secBTDB = SecondaryBTreeDatabase.Open( dbSecFileName, secBTDBConfig); } else { secBTDB = SecondaryBTreeDatabase.Open( dbSecFileName, "secondary", secBTDBConfig); } // Close the secondary database. secBTDB.Close(); // Open the existing secondary database. SecondaryDatabaseConfig secDBConfig = new SecondaryDatabaseConfig( primaryDB, null); SecondaryDatabase secDB; if (ifDBName == false) { secDB = SecondaryBTreeDatabase.Open( dbSecFileName, secDBConfig); } else { secDB = SecondaryBTreeDatabase.Open( dbSecFileName, "secondary", secDBConfig); } // Close secondary database. secDB.Close(); } catch (DatabaseException) { throw new TestException(); } finally { // Close primary database. primaryDB.Close(); } }
public void OpenSecQueueDBWithinTxn(string className, string funName, string home, string dbFileName, string dbSecFileName) { XmlElement xmlElem = Configuration.TestSetUp( className, funName); // Open an environment. DatabaseEnvironmentConfig envConfig = new DatabaseEnvironmentConfig(); envConfig.Create = true; envConfig.UseTxns = true; envConfig.UseMPool = true; envConfig.UseLogging = true; DatabaseEnvironment env = DatabaseEnvironment.Open( home, envConfig); // Open a primary queue database. Transaction openDBTxn = env.BeginTransaction(); QueueDatabaseConfig dbConfig = new QueueDatabaseConfig(); dbConfig.Creation = CreatePolicy.IF_NEEDED; dbConfig.Env = env; QueueDatabase db = QueueDatabase.Open( dbFileName, dbConfig, openDBTxn); openDBTxn.Commit(); // Open a secondary queue database. Transaction openSecTxn = env.BeginTransaction(); SecondaryQueueDatabaseConfig secDBConfig = new SecondaryQueueDatabaseConfig(db, new SecondaryKeyGenDelegate(SecondaryKeyGen)); SecondaryQueueDatabaseConfigTest.Config(xmlElem, ref secDBConfig, true); secDBConfig.Env = env; SecondaryQueueDatabase secDB; secDB = SecondaryQueueDatabase.Open( dbSecFileName, secDBConfig, openSecTxn); openSecTxn.Commit(); // Confirm its flags configured in secDBConfig. Confirm(xmlElem, secDB, true); secDB.Close(); // Open the existing secondary database. Transaction secTxn = env.BeginTransaction(); SecondaryDatabaseConfig secConfig = new SecondaryDatabaseConfig(db, new SecondaryKeyGenDelegate(SecondaryKeyGen)); secConfig.Env = env; SecondaryDatabase secExDB; secExDB = SecondaryQueueDatabase.Open( dbSecFileName, secConfig, secTxn); secExDB.Close(); secTxn.Commit(); db.Close(); env.Close(); }
public void OpenSecRecnoDB(string className, string funName, string dbFileName, string dbSecFileName, bool ifDBName) { XmlElement xmlElem = Configuration.TestSetUp( className, funName); // Open a primary recno database. RecnoDatabaseConfig primaryDBConfig = new RecnoDatabaseConfig(); primaryDBConfig.Creation = CreatePolicy.IF_NEEDED; RecnoDatabase primaryDB; /* * If secondary database name is given, the primary * database is also opened with database name. */ if (ifDBName == false) { primaryDB = RecnoDatabase.Open(dbFileName, primaryDBConfig); } else { primaryDB = RecnoDatabase.Open(dbFileName, "primary", primaryDBConfig); } try { // Open a new secondary database. SecondaryRecnoDatabaseConfig secRecnoDBConfig = new SecondaryRecnoDatabaseConfig( primaryDB, null); SecondaryRecnoDatabaseConfigTest.Config( xmlElem, ref secRecnoDBConfig, false); secRecnoDBConfig.Creation = CreatePolicy.IF_NEEDED; SecondaryRecnoDatabase secRecnoDB; if (ifDBName == false) { secRecnoDB = SecondaryRecnoDatabase.Open( dbSecFileName, secRecnoDBConfig); } else { secRecnoDB = SecondaryRecnoDatabase.Open( dbSecFileName, "secondary", secRecnoDBConfig); } // Close the secondary database. secRecnoDB.Close(); // Open the existing secondary database. SecondaryDatabaseConfig secDBConfig = new SecondaryDatabaseConfig( primaryDB, null); SecondaryDatabase secDB; if (ifDBName == false) { secDB = SecondaryRecnoDatabase.Open( dbSecFileName, secDBConfig); } else { secDB = SecondaryRecnoDatabase.Open( dbSecFileName, "secondary", secDBConfig); } // Close secondary database. secDB.Close(); } catch (DatabaseException) { throw new TestException(); } finally { // Close primary database. primaryDB.Close(); } }