public void GetSecCursor(BTreeDatabase db, string secFileName, SecondaryKeyGenDelegate keyGen, out SecondaryBTreeDatabase secDB, out SecondaryCursor cursor, bool ifCfg, DatabaseEntry data) { // Open secondary database. SecondaryBTreeDatabaseConfig secCfg = new SecondaryBTreeDatabaseConfig(db, keyGen); secCfg.Creation = CreatePolicy.IF_NEEDED; secCfg.Duplicates = DuplicatesPolicy.SORTED; secDB = SecondaryBTreeDatabase.Open(secFileName, secCfg); int[] intArray = new int[4]; intArray[0] = 0; intArray[1] = 1; intArray[2] = 2049; intArray[3] = 65537; for (int i = 0; i < 4; i++) { DatabaseEntry record = new DatabaseEntry( BitConverter.GetBytes(intArray[i])); db.Put(record, record); } // Get secondary cursor on the secondary database. if (ifCfg == false) cursor = secDB.SecondaryCursor(); else cursor = secDB.SecondaryCursor(new CursorConfig()); // Position the cursor. if (data != null) Assert.IsTrue(cursor.Move(data, true)); }
/// <summary> /// Instantiate a new SecondaryDatabaseConfig object, with the default /// configuration settings. /// </summary> public SecondaryDatabaseConfig( Database PrimaryDB, SecondaryKeyGenDelegate KeyGenFunc) { Primary = PrimaryDB; KeyGen = KeyGenFunc; DbType = DatabaseType.UNKNOWN; }
/// <summary> /// Instantiate a new SecondaryQueueDatabaseConfig object /// </summary> public SecondaryQueueDatabaseConfig( Database PrimaryDB, SecondaryKeyGenDelegate KeyGenFunc) : base(PrimaryDB, KeyGenFunc) { lengthIsSet = false; padIsSet = false; extentIsSet = false; DbType = DatabaseType.QUEUE; }
/// <summary> /// Instantiate a new SecondaryHashDatabaseConfig object /// </summary> public SecondaryHashDatabaseConfig( Database PrimaryDB, SecondaryKeyGenDelegate KeyGenFunc) : base(PrimaryDB, KeyGenFunc) { Duplicates = DuplicatesPolicy.NONE; Compare = null; fillFactorIsSet = false; nelemIsSet = false; DbType = DatabaseType.HASH; }
/// <summary> /// Instantiate a new SecondaryRecnoDatabaseConfig object /// </summary> public SecondaryRecnoDatabaseConfig( Database PrimaryDB, SecondaryKeyGenDelegate KeyGenFunc) : base(PrimaryDB, KeyGenFunc) { Renumber = false; Snapshot = false; delimiterIsSet = false; lengthIsSet = false; padIsSet = false; BackingFile = null; DbType = DatabaseType.RECNO; }
/// <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; }
public void GetSecCursor(BTreeDatabase db, string secFileName, SecondaryKeyGenDelegate keyGen, out SecondaryBTreeDatabase secDB, out SecondaryCursor cursor, bool ifCfg, DatabaseEntry data) { // Open secondary database. SecondaryBTreeDatabaseConfig secCfg = new SecondaryBTreeDatabaseConfig(db, keyGen); secCfg.Creation = CreatePolicy.IF_NEEDED; secCfg.Duplicates = DuplicatesPolicy.SORTED; secDB = SecondaryBTreeDatabase.Open(secFileName, secCfg); int[] intArray = new int[4]; intArray[0] = 0; intArray[1] = 1; intArray[2] = 2049; intArray[3] = 65537; for (int i = 0; i < 4; i++) { DatabaseEntry record = new DatabaseEntry( BitConverter.GetBytes(intArray[i])); db.Put(record, record); } // Get secondary cursor on the secondary database. if (ifCfg == false) { cursor = secDB.SecondaryCursor(); } else { cursor = secDB.SecondaryCursor(new CursorConfig()); } // Position the cursor. if (data != null) { Assert.IsTrue(cursor.Move(data, true)); } }