Esempio n. 1
0
        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 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;
 }
Esempio n. 6
0
 /// <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;
        }
Esempio n. 8
0
        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 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>
 /// 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 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>
        /// 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;
        }