From 14a070d8b54be03da539e319c14ced36e91a2fe0 Mon Sep 17 00:00:00 2001 From: klim0v Date: Mon, 9 Nov 2020 16:34:27 +0300 Subject: [PATCH 1/5] add Range to NewIterator --- goleveldb.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/goleveldb.go b/goleveldb.go index eadc83606..43b8a8deb 100644 --- a/goleveldb.go +++ b/goleveldb.go @@ -2,6 +2,7 @@ package db import ( "fmt" + "github.com/syndtr/goleveldb/leveldb/util" "path/filepath" "github.com/syndtr/goleveldb/leveldb" @@ -158,12 +159,12 @@ func (db *GoLevelDB) NewBatch() Batch { // Iterator implements DB. func (db *GoLevelDB) Iterator(start, end []byte) (Iterator, error) { - itr := db.db.NewIterator(nil, nil) + itr := db.db.NewIterator(&util.Range{Start: start, Limit: end}, nil) return newGoLevelDBIterator(itr, start, end, false), nil } // ReverseIterator implements DB. func (db *GoLevelDB) ReverseIterator(start, end []byte) (Iterator, error) { - itr := db.db.NewIterator(nil, nil) + itr := db.db.NewIterator(&util.Range{Start: start, Limit: end}, nil) return newGoLevelDBIterator(itr, start, end, true), nil } From 2055bf117aa78a78690588ed63ae1ba788889065 Mon Sep 17 00:00:00 2001 From: klim0v Date: Mon, 9 Nov 2020 18:38:49 +0300 Subject: [PATCH 2/5] code formatting --- goleveldb.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/goleveldb.go b/goleveldb.go index 5046b0236..ad9f84eb0 100644 --- a/goleveldb.go +++ b/goleveldb.go @@ -176,7 +176,7 @@ func (db *GoLevelDB) Iterator(start, end []byte) (Iterator, error) { if (start != nil && len(start) == 0) || (end != nil && len(end) == 0) { return nil, errKeyEmpty } - itr := db.db.NewIterator(&util.Range{Start: start, Limit: end}, nil) + itr := db.db.NewIterator(&util.Range{Start: start, Limit: end}, nil) return newGoLevelDBIterator(itr, start, end, false), nil } From 5524713f5cabf8f7b9189eccc3a09c2e006e475c Mon Sep 17 00:00:00 2001 From: klim0v Date: Mon, 9 Nov 2020 18:46:07 +0300 Subject: [PATCH 3/5] Update CHANGELOG.md --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 96c26c660..23c09b0ed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +- [\#134](https://github.com/tendermint/tm-db/pull/134) Add the `util.Range` to `NewIterator` (@klim0v) + ## 0.6.2 **2020-08-27** From a47f566eade8213ae8cfc30bfb7cd548d1a68b4b Mon Sep 17 00:00:00 2001 From: klim0v Date: Mon, 9 Nov 2020 18:47:56 +0300 Subject: [PATCH 4/5] Optimize imports --- goleveldb.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/goleveldb.go b/goleveldb.go index ad9f84eb0..fd1bffd18 100644 --- a/goleveldb.go +++ b/goleveldb.go @@ -2,12 +2,12 @@ package db import ( "fmt" - "github.com/syndtr/goleveldb/leveldb/util" "path/filepath" "github.com/syndtr/goleveldb/leveldb" "github.com/syndtr/goleveldb/leveldb/errors" "github.com/syndtr/goleveldb/leveldb/opt" + "github.com/syndtr/goleveldb/leveldb/util" ) func init() { From 84135c523593269a5b053c9a874e6d437baf482b Mon Sep 17 00:00:00 2001 From: klim0v Date: Mon, 9 Nov 2020 18:54:32 +0300 Subject: [PATCH 5/5] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 23c09b0ed..4d1c6ab1e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ ## Unreleased -- [\#134](https://github.com/tendermint/tm-db/pull/134) Add the `util.Range` to `NewIterator` (@klim0v) +- [\#134](https://github.com/tendermint/tm-db/pull/134) Improve GoLevelDB iterator performance by bounding underlying iterator range (@klim0v) ## 0.6.2