// Insert the Directory Block meta data into db func (db *LevelDb) InsertDirBlockInfo(dirBlockInfo *common.DirBlockInfo) (err error) { if dirBlockInfo.BTCTxHash == nil { return } db.dbLock.Lock() defer db.dbLock.Unlock() if db.lbatch == nil { db.lbatch = new(leveldb.Batch) } defer db.lbatch.Reset() var key []byte = []byte{byte(TBL_DB_INFO)} // Table Name (1 bytes) key = append(key, dirBlockInfo.DBHash.Bytes()...) binaryDirBlockInfo, _ := dirBlockInfo.MarshalBinary() db.lbatch.Put(key, binaryDirBlockInfo) err = db.lDb.Write(db.lbatch, db.wo) if err != nil { return err } return nil }
func (db *LevelDb) InsertDirBlockInfoMultiBatch(dirBlockInfo *common.DirBlockInfo) (err error) { if dirBlockInfo == nil { return nil } if dirBlockInfo.BTCTxHash == nil { return } if db.lbatch == nil { return fmt.Errorf("db.lbatch == nil") } if db.lbatch == nil { db.lbatch = new(leveldb.Batch) } defer db.lbatch.Reset() var key = []byte{byte(TBL_DB_INFO)} // Table Name (1 bytes) key = append(key, dirBlockInfo.DBHash.Bytes()...) binaryDirBlockInfo, _ := dirBlockInfo.MarshalBinary() db.lbatch.Put(key, binaryDirBlockInfo) return nil }