From b22480fd32daa1c3f6542f4158916651610c3d6e Mon Sep 17 00:00:00 2001 From: Ben Johnson Date: Sun, 16 Feb 2014 13:51:35 -0700 Subject: Add Transaction.ForEach(). --- db.go | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'db.go') diff --git a/db.go b/db.go index a519f73..0276d7a 100644 --- a/db.go +++ b/db.go @@ -359,6 +359,17 @@ func (db *DB) Do(fn func(*RWTransaction) error) error { return t.Commit() } +// ForEach executes a function for each key/value pair in a bucket. +// An error is returned if the bucket cannot be found. +func (db *DB) ForEach(name string, fn func(k, v []byte) error) error { + t, err := db.Transaction() + if err != nil { + return err + } + defer t.Close() + return t.ForEach(name, fn) +} + // Bucket retrieves a reference to a bucket. // This is typically useful for checking the existence of a bucket. func (db *DB) Bucket(name string) (*Bucket, error) { -- cgit v1.2.3