/// <summary> /// Create a new BTreeDatabaseConfig object /// </summary> public BTreeDatabaseConfig() { Duplicates = DuplicatesPolicy.NONE; NoReverseSplitting = false; UseRecordNumbers = false; BTreeCompare = null; BTreePrefixCompare = null; minkeysIsSet = false; Creation = CreatePolicy.NEVER; }
public void TestPrefixCompare() { testName = "TestPrefixCompare"; SetUpTest(true); string dbFileName = testHome + "/" + testName + ".db"; // Open a primary btree database. BTreeDatabaseConfig btreeDBConfig = new BTreeDatabaseConfig(); btreeDBConfig.Creation = CreatePolicy.ALWAYS; BTreeDatabase btreeDB = BTreeDatabase.Open( dbFileName, btreeDBConfig); // Open a secondary btree database. SecondaryBTreeDatabaseConfig secBtreeDBConfig = new SecondaryBTreeDatabaseConfig(btreeDB, null); secBtreeDBConfig.Primary = btreeDB; secBtreeDBConfig.Compare = new EntryComparisonDelegate( SecondaryEntryComparison); secBtreeDBConfig.PrefixCompare = new EntryPrefixComparisonDelegate( SecondaryPrefixEntryComparison); secBtreeDBConfig.KeyGen = new SecondaryKeyGenDelegate( SecondaryKeyGen); SecondaryBTreeDatabase secDB = SecondaryBTreeDatabase.Open( dbFileName, secBtreeDBConfig); /* * Get the prefix compare function set in the * configuration and run it in a comparison to * see if it is alright. */ EntryPrefixComparisonDelegate cmp = secDB.PrefixCompare; DatabaseEntry dbt1, dbt2; dbt1 = new DatabaseEntry( BitConverter.GetBytes((Int32)1)); dbt2 = new DatabaseEntry( BitConverter.GetBytes((Int64)4294967297)); Assert.AreEqual(5, cmp(dbt1, dbt2)); secDB.Close(); btreeDB.Close(); }
/// <summary> /// Create a new SecondaryBTreeDatabaseConfig object /// </summary> public SecondaryBTreeDatabaseConfig( Database PrimaryDB, SecondaryKeyGenDelegate KeyGenFunc) : base(PrimaryDB, KeyGenFunc) { Duplicates = DuplicatesPolicy.NONE; NoReverseSplitting = false; UseRecordNumbers = false; Compare = null; PrefixCompare = null; minkeysIsSet = false; DbType = DatabaseType.BTREE; }