diff --git a/main.go b/main.go index 36e8795..cb27a13 100644 --- a/main.go +++ b/main.go @@ -10,6 +10,7 @@ import ( ) const usage = "bdb <(w)rite|(r)ead> " +const queued = "queued" func main() { log.SetFlags(log.Lshortfile) @@ -30,22 +31,22 @@ func main() { panic(err) } defer db.Close() - err = db.Update(func(tx *bolt.Tx) error { - _, err := tx.CreateBucketIfNotExists([]byte("queue")) - if err != nil { - return err - } - return nil - }) - if err != nil { - panic(err) - } switch os.Args[1] { case "write", "w": + err = db.Update(func(tx *bolt.Tx) error { + _, err := tx.CreateBucketIfNotExists([]byte(queued)) + if err != nil { + return err + } + return nil + }) + if err != nil { + panic(err) + } err := db.Update(func(tx *bolt.Tx) error { s := bufio.NewScanner(os.Stdin) - b := tx.Bucket([]byte("queue")) + b := tx.Bucket([]byte(queued)) for s.Scan() { err := b.Put(s.Bytes(), s.Bytes()) if err != nil { @@ -58,8 +59,18 @@ func main() { panic(err) } case "read", "r": + err = db.Update(func(tx *bolt.Tx) error { + _, err := tx.CreateBucketIfNotExists([]byte(queued)) + if err != nil { + return err + } + return nil + }) + if err != nil { + panic(err) + } db.View(func(tx *bolt.Tx) error { - b := tx.Bucket([]byte("queue")) + b := tx.Bucket([]byte(queued)) c := b.Cursor() for k, v := c.First(); k != nil; k, v = c.Next() {