diff options
author | Ben Johnson <benbjohnson@yahoo.com> | 2014-02-15 10:23:00 -0700 |
---|---|---|
committer | Ben Johnson <benbjohnson@yahoo.com> | 2014-02-15 10:23:00 -0700 |
commit | e68bc0b4530475503afb34956dfb915673af919c (patch) | |
tree | c1747819b8499d03e4a5348b1f42d1c22b73e3f2 /db.go | |
parent | Merge pull request #30 from benbjohnson/examples (diff) | |
download | dedo-e68bc0b4530475503afb34956dfb915673af919c.tar.gz dedo-e68bc0b4530475503afb34956dfb915673af919c.tar.xz |
Add bucket sequence.
Diffstat (limited to 'db.go')
-rw-r--r-- | db.go | 19 |
1 files changed, 19 insertions, 0 deletions
@@ -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) { |