コード例 #1
0
ファイル: db.go プロジェクト: tradia/gotable
func (db *DB) Commit(wb *WriteBatch) error {
	if wb != nil && wb.batch != nil {
		var errStr *C.char
		C.rocksdb_write(db.db, db.wOpt, wb.batch, &errStr)
		C.rocksdb_writebatch_clear(wb.batch)
		if errStr != nil {
			defer C.free(unsafe.Pointer(errStr))
			return errors.New(C.GoString(errStr))
		}
	}

	return nil
}
コード例 #2
0
ファイル: write_batch.go プロジェクト: daaku/gorocksdb
// Clear removes all the enqueued Put and Deletes.
func (w *WriteBatch) Clear() {
	C.rocksdb_writebatch_clear(w.c)
}
コード例 #3
0
ファイル: batch.go プロジェクト: Abioy/ledisdb
func (w *WriteBatch) Rollback() error {
	C.rocksdb_writebatch_clear(w.wbatch)
	return nil
}
コード例 #4
0
ファイル: write_batch.go プロジェクト: rdallman/gorocksdb
// Clear removes all the enqueued Put and Deletes.
func (self *WriteBatch) Clear() {
	C.rocksdb_writebatch_clear(self.c)
}
コード例 #5
0
ファイル: batch.go プロジェクト: KosyanMedia/burlesque
func (w *WriteBatch) Rollback() error {
	if !w.commitOk {
		C.rocksdb_writebatch_clear(w.wbatch)
	}
	return nil
}