Merge branch 'muyiwaolurin-buntdb-anthony'

This commit is contained in:
Josh Baker 2016-07-20 06:38:48 -07:00
commit 332ce3d9ca
2 changed files with 8 additions and 6 deletions

View File

@ -388,6 +388,8 @@ func (db *DB) backgroundManager() {
} }
} }
} }
// Shrink function description [here]
func (db *DB) Shrink() error { func (db *DB) Shrink() error {
db.mu.Lock() db.mu.Lock()
if db.closed { if db.closed {
@ -470,7 +472,7 @@ func (db *DB) Shrink() error {
if _, err := aof.Seek(endpos, 0); err != nil { if _, err := aof.Seek(endpos, 0); err != nil {
return err return err
} }
// Just copy all of the new commands that have occured since we // Just copy all of the new commands that have occurred since we
// started the shrink process. // started the shrink process.
if _, err := io.Copy(f, aof); err != nil { if _, err := io.Copy(f, aof); err != nil {
return err return err
@ -920,13 +922,13 @@ type SetOptions struct {
} }
// Set inserts or replaces an item in the database based on the key. // Set inserts or replaces an item in the database based on the key.
// The opt params may be used for addtional functionality such as forcing // The opt params may be used for additional functionality such as forcing
// the item to be evicted at a specified time. When the return value // the item to be evicted at a specified time. When the return value
// for err is nil the operation succeded. When the return value of // for err is nil the operation succeeded. When the return value of
// replaced is true, then the operaton replaced an existing item whose // replaced is true, then the operaton replaced an existing item whose
// value will be returned through the previousValue variable. // value will be returned through the previousValue variable.
// The results of this operation will not be available to other // The results of this operation will not be available to other
// transactions until the current transaction has successfully commited. // transactions until the current transaction has successfully committed.
func (tx *Tx) Set(key, value string, opts *SetOptions) (previousValue string, func (tx *Tx) Set(key, value string, opts *SetOptions) (previousValue string,
replaced bool, err error) { replaced bool, err error) {
if tx.db == nil { if tx.db == nil {

View File

@ -87,7 +87,7 @@ func TestVariousTx(t *testing.T) {
t.Fatal("a rollbacked transaction got through") t.Fatal("a rollbacked transaction got through")
} }
if val != "planet" { if val != "planet" {
t.Fatal("expecting '%v', got '%v'", "planet", val) t.Fatalf("expecting '%v', got '%v'", "planet", val)
} }
if err := db.Update(func(tx *Tx) error { if err := db.Update(func(tx *Tx) error {
tx.db = nil tx.db = nil
@ -327,7 +327,7 @@ func TestVariousTx(t *testing.T) {
t.Fatal(err) t.Fatal(err)
} }
if n != 5 { if n != 5 {
t.Fatal("expecting %v, got %v", 5, n) t.Fatalf("expecting %v, got %v", 5, n)
} }
tx.db = nil tx.db = nil
_, err = tx.Len() _, err = tx.Len()