/** Write data into the database. */
  private void generateData(
      Environment master, int numTxns, Durability durability, boolean doCommit) {

    /* Write some data. */
    DatabaseEntry key = new DatabaseEntry();
    byte[] dataPadding = new byte[1000];
    DatabaseEntry data = new DatabaseEntry(dataPadding);

    TransactionConfig txnConfig = new TransactionConfig();
    txnConfig.setDurability(durability);

    for (int i = 0; i < numTxns; i++) {
      final Transaction txn = master.beginTransaction(null, txnConfig);
      //            long keyPrefix = i << 10;
      //            LongBinding.longToEntry(keyPrefix + i, key);
      LongBinding.longToEntry(i, key);
      db.put(txn, key, data);

      if (doCommit) {
        txn.commit();
      } else {
        txn.abort();
      }
    }
  }
  public boolean createSecondaryKey(
      SecondaryDatabase secDb,
      DatabaseEntry keyEntry,
      DatabaseEntry dataEntry,
      DatabaseEntry resultEntry) {

    BdbPrimaryKey key = BdbGraph.primaryKeyBinding.entryToObject(keyEntry);

    if (key.type != BdbPrimaryKey.VERTEX_PROPERTY) return false;

    LongBinding.longToEntry(key.id1, resultEntry);
    return true;
  }
  private void readData(Environment env, int lastRecordVal) {
    Database readDb = null;
    DatabaseEntry key = new DatabaseEntry();
    DatabaseEntry data = new DatabaseEntry();

    try {
      readDb = openDatabase(env);

      for (int i = 0; i < lastRecordVal; i++) {
        LongBinding.longToEntry(i, key);
        assertEquals(OperationStatus.SUCCESS, db.get(null, key, data, LockMode.DEFAULT));
      }
    } finally {
      if (readDb != null) {
        readDb.close();
      }
    }
  }