From e68bc0b4530475503afb34956dfb915673af919c Mon Sep 17 00:00:00 2001 From: Ben Johnson Date: Sat, 15 Feb 2014 10:23:00 -0700 Subject: Add bucket sequence. --- db.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'db.go') diff --git a/db.go b/db.go index bb9bbf6..a25e41a 100644 --- a/db.go +++ b/db.go @@ -384,6 +384,25 @@ func (db *DB) DeleteBucket(name string) error { return t.Commit() } +// NextSequence returns an autoincrementing integer for the bucket. +// This function can return an error if the bucket does not exist. +func (db *DB) NextSequence(name string) (int, error) { + t, err := db.RWTransaction() + if err != nil { + return 0, err + } + + seq, err := t.NextSequence(name) + if err != nil { + t.Rollback() + return 0, err + } + if err := t.Commit(); err != nil { + return 0, err + } + return seq, nil +} + // Get retrieves the value for a key in a bucket. // Returns an error if the key does not exist. func (db *DB) Get(name string, key []byte) ([]byte, error) { -- cgit v1.2.3