Exemple #1
0
func setVersionLMDB(env *lmdb.Env, metadbi lmdb.DBI, version int64) error {
	return env.Update(func(tx *lmdb.Txn) error {
		buf := new(bytes.Buffer)
		err := binary.Write(buf, binary.LittleEndian, version)
		if err != nil {
			glog.Errorf("Couldn't convert version!")
			return err
		}
		werr := tx.Put(metadbi, []byte("version"), buf.Bytes(), 0)
		if werr != nil {
			glog.Error("Couldn't write version!")
			return werr
		}
		return nil
	})
}
Exemple #2
0
func createDBI(env *lmdb.Env, name string) error {
	fn := func(txn *lmdb.Txn) error {
		var dbi lmdb.DBI
		var err error
		var del bool = false

		if dbi, err = txn.CreateDBI(name); err != nil {
			return err
		}

		if err = txn.Drop(dbi, del); err != nil {
			return err
		}

		return nil
	}

	err := env.Update(fn)
	return err
}